diff --git a/config/options b/config/options index 8343cbe49b..90cd75b3fb 100644 --- a/config/options +++ b/config/options @@ -92,14 +92,17 @@ get_graphicdrivers() { if [ "$drv" = "i915" -o "$drv" = "i965" ]; then XORG_DRIVERS="$XORG_DRIVERS intel" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "r200" -o "$drv" = "r300" -o "$drv" = "r600" -o "$drv" = "radeon" ]; then XORG_DRIVERS="$XORG_DRIVERS ati" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "nouveau" ]; then XORG_DRIVERS="$XORG_DRIVERS nouveau" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "nvidia" ]; then @@ -109,14 +112,18 @@ get_graphicdrivers() { if [ "$drv" = "fglrx" ]; then XORG_DRIVERS="$XORG_DRIVERS fglrx" + COMPOSITE_SUPPORT="yes" + XINERAMA_SUPPORT="yes" fi if [ "$drv" = "omapfb" ]; then XORG_DRIVERS="$XORG_DRIVERS ompafb" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "vmware" ]; then XINERAMA_SUPPORT="yes" +# LLVM_SUPPORT="yes" fi done } diff --git a/packages/databases/sqlite/meta b/packages/databases/sqlite/meta index cc3379793c..aba6fe9ad6 100644 --- a/packages/databases/sqlite/meta +++ b/packages/databases/sqlite/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="sqlite" -PKG_VERSION="autoconf-3070602" +PKG_VERSION="autoconf-3070603" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="PublicDomain" diff --git a/packages/devel/llvm-host/build b/packages/devel/llvm-host/build new file mode 100755 index 0000000000..745146e807 --- /dev/null +++ b/packages/devel/llvm-host/build @@ -0,0 +1,66 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +$SCRIPTS/unpack llvm + +setup_toolchain host + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*` + +cd $LLVM_DIR + +cd autoconf + aclocal --force --verbose -I m4 + autoconf --force --verbose -I m4 -o ../configure +cd .. + +mkdir -p .build-host && cd .build-host + +../configure --prefix=$ROOT/$TOOLCHAIN \ + --enable-polly \ + --enable-optimized \ + --disable-profiling \ + --disable-assertions \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-debug-symbols \ + --enable-jit \ + --disable-docs \ + --disable-doxygen \ + --enable-threads \ + --enable-pthreads \ + --enable-pic \ + --enable-shared \ + --enable-embed-stdcxx \ + --enable-timestamps \ + --enable-targets=$ARCH \ + +make +make install \ No newline at end of file diff --git a/packages/devel/llvm-host/meta b/packages/devel/llvm-host/meta new file mode 100644 index 0000000000..236dc4b165 --- /dev/null +++ b/packages/devel/llvm-host/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="llvm" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://llvm.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="ccache" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/lang" +PKG_SHORTDESC="llvm: Low Level Virtual Machine" +PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/llvm/build b/packages/devel/llvm/build new file mode 100755 index 0000000000..5b6560618d --- /dev/null +++ b/packages/devel/llvm/build @@ -0,0 +1,67 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +# llvm fails to build with LTO support + strip_lto + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*` + +cd $LLVM_DIR + +mkdir -p .build-target && cd .build-target + +../configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --enable-polly \ + --enable-optimized \ + --disable-profiling \ + --disable-assertions \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-debug-symbols \ + --enable-jit \ + --disable-docs \ + --disable-doxygen \ + --enable-threads \ + --enable-pthreads \ + --enable-pic \ + --enable-shared \ + --enable-embed-stdcxx \ + --enable-timestamps \ + --enable-targets=$ARCH \ + +TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \ +TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \ +make + +TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \ +TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \ +$MAKEINSTALL diff --git a/packages/devel/llvm/install b/packages/devel/llvm/install new file mode 100755 index 0000000000..3f8a5059e3 --- /dev/null +++ b/packages/devel/llvm/install @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/.build-target/Release/lib/libLLVM-*.so $INSTALL/usr/lib + diff --git a/packages/devel/llvm/meta b/packages/devel/llvm/meta new file mode 100644 index 0000000000..7a9b830624 --- /dev/null +++ b/packages/devel/llvm/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="llvm" +PKG_VERSION="2.9" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://llvm.org/" +PKG_URL="http://llvm.org/releases/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tgz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain llvm-host" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/lang" +PKG_SHORTDESC="llvm: Low Level Virtual Machine" +PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/llvm/patches/llvm-2.9-cross.patch b/packages/devel/llvm/patches/llvm-2.9-cross.patch new file mode 100644 index 0000000000..d258bff854 --- /dev/null +++ b/packages/devel/llvm/patches/llvm-2.9-cross.patch @@ -0,0 +1,105 @@ +diff -Naur llvm-2.9-old/autoconf/configure.ac llvm-2.9-new/autoconf/configure.ac +--- llvm-2.9-old/autoconf/configure.ac 2011-03-25 00:56:32.000000000 -0700 ++++ llvm-2.9-new/autoconf/configure.ac 2011-05-05 13:33:38.000000000 -0700 +@@ -384,6 +384,10 @@ + AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++) + fi + fi ++ AC_SUBST(BUILD_CPPFLAGS) ++ AC_SUBST(BUILD_CFLAGS) ++ AC_SUBST(BUILD_CXXFLAGS) ++ AC_SUBST(BUILD_LDFLAGS) + else + AC_SUBST(LLVM_CROSS_COMPILING, [0]) + fi +diff -Naur llvm-2.9-old/autoconf/m4/build_exeext.m4 llvm-2.9-new/autoconf/m4/build_exeext.m4 +--- llvm-2.9-old/autoconf/m4/build_exeext.m4 2008-09-26 10:27:58.000000000 -0700 ++++ llvm-2.9-new/autoconf/m4/build_exeext.m4 2011-05-05 12:29:10.000000000 -0700 +@@ -18,7 +18,7 @@ + fi + fi + test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) +- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD' ++ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD' + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_build_exeext= +diff -Naur llvm-2.9-old/Makefile llvm-2.9-new/Makefile +--- llvm-2.9-old/Makefile 2010-11-29 10:16:10.000000000 -0800 ++++ llvm-2.9-new/Makefile 2011-05-05 13:35:06.000000000 -0700 +@@ -104,37 +104,6 @@ + DIRS := $(filter-out unittests, $(DIRS)) + endif + +-# If we're cross-compiling, build the build-hosted tools first +-ifeq ($(LLVM_CROSS_COMPILING),1) +-all:: cross-compile-build-tools +- +-clean:: +- $(Verb) rm -rf BuildTools +- +-cross-compile-build-tools: +- $(Verb) if [ ! -f BuildTools/Makefile ]; then \ +- $(MKDIR) BuildTools; \ +- cd BuildTools ; \ +- unset CFLAGS ; \ +- unset CXXFLAGS ; \ +- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \ +- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \ +- cd .. ; \ +- fi; \ +- (unset SDKROOT; \ +- $(MAKE) -C BuildTools \ +- BUILD_DIRS_ONLY=1 \ +- UNIVERSAL= \ +- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \ +- ENABLE_PROFILING=$(ENABLE_PROFILING) \ +- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \ +- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \ +- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \ +- CFLAGS= \ +- CXXFLAGS= \ +- ) || exit 1; +-endif +- + # Include the main makefile machinery. + include $(LLVM_SRC_ROOT)/Makefile.rules + +diff -Naur llvm-2.9-old/Makefile.config.in llvm-2.9-new/Makefile.config.in +--- llvm-2.9-old/Makefile.config.in 2010-12-28 19:59:14.000000000 -0800 ++++ llvm-2.9-new/Makefile.config.in 2011-05-05 12:25:34.000000000 -0700 +@@ -113,6 +113,10 @@ + # call if we're cross-compiling). + BUILD_CC=@BUILD_CC@ + BUILD_CXX=@BUILD_CXX@ ++BUILD_CPPFLAGS=@BUILD_CPPFLAGS@ ++BUILD_CFLAGS=@BUILD_CFLAGS@ ++BUILD_CXXFLAGS=@BUILD_CXXFLAGS@ ++BUILD_LDFLAGS=@BUILD_LDFLAGS@ + + # Triple for configuring build tools when cross-compiling + BUILD_TRIPLE=@build@ +diff -Naur llvm-2.9-old/Makefile.rules llvm-2.9-new/Makefile.rules +--- llvm-2.9-old/Makefile.rules 2011-03-24 23:26:58.000000000 -0700 ++++ llvm-2.9-new/Makefile.rules 2011-05-05 12:24:42.000000000 -0700 +@@ -647,15 +647,15 @@ + $(CPP.BaseFlags) + + ifeq ($(BUILD_COMPONENT), 1) +- Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ ++ Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +- Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ ++ Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \ + $(CPPFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +- Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \ ++ Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(BUILD_CPPFLAGS) $(TargetCommonOpts) \ + $(CompileCommonOpts) $(CXX.Flags) -E +- Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ +- $(LD.Flags) $(LDFLAGS) \ ++ Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \ ++ $(LD.Flags) $(BUILD_LDFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) $(Strip) + else + Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ diff --git a/packages/graphics/Mesa/build b/packages/graphics/Mesa/build index f58bb9047c..4da2e2644f 100755 --- a/packages/graphics/Mesa/build +++ b/packages/graphics/Mesa/build @@ -36,29 +36,42 @@ MESA_CONFIG=" --disable-gallium --disable-gallium-nouveau --disable-gallium-i915 MESA_CONFIG="$MESA_CONFIG --disable-gallium-radeon --disable-gallium-r300 --disable-gallium-r600" MESA_CONFIG="$MESA_CONFIG --disable-gallium-svga --disable-gallium-swrast" +if [ "$LLVM_SUPPORT" = "yes" ]; then + export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config" + MESA_CONFIG="$MESA_CONFIG --enable-gallium --enable-gallium-llvm" +fi + for drv in $GRAPHIC_DRIVERS; do - [ "$drv" = i915 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/disable-gallium-i915/'` - - [ "$drv" = i965 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/disable-gallium-i965/'` - - [ "$drv" = r300 -o "$drv" = radeon ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'` && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'` && \ + if [ "$drv" = i915 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/enable-gallium-i915/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = r600 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'` && \ + if [ "$drv" = i965 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/enable-gallium-i965/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = nouveau ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` && \ + if [ "$drv" = r300 -o "$drv" = radeon ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'` + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = vmware ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'` && \ + if [ "$drv" = r600 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi + + if [ "$drv" = nouveau ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` + MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi + + if [ "$drv" = vmware ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'` + MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi done cd $PKG_BUILD diff --git a/packages/graphics/Mesa/meta b/packages/graphics/Mesa/meta index 61d106c3cf..639e6ee743 100644 --- a/packages/graphics/Mesa/meta +++ b/packages/graphics/Mesa/meta @@ -35,6 +35,13 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="yes" +get_graphicdrivers + +if [ "$LLVM_SUPPORT" = "yes" ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS llvm" + PKG_DEPENDS="$PKG_DEPENDS llvm" +fi + if [ "$MESA_MASTER" = "yes" ]; then PKG_VERSION="7.11-git2812b60" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" diff --git a/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch new file mode 100644 index 0000000000..8a924662ca --- /dev/null +++ b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch @@ -0,0 +1,12 @@ +diff -Naur Mesa-7.10.2-old/configure.ac Mesa-7.10.2-new/configure.ac +--- Mesa-7.10.2-old/configure.ac 2011-02-11 14:49:47.000000000 -0800 ++++ Mesa-7.10.2-new/configure.ac 2011-05-05 16:31:18.000000000 -0700 +@@ -1551,7 +1551,7 @@ + if test "x$LLVM_CONFIG" != xno; then + LLVM_VERSION=`$LLVM_CONFIG --version` + LLVM_CFLAGS=`$LLVM_CONFIG --cppflags` +- LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++" ++ LLVM_LIBS="-lLLVM-$LLVM_VERSION -lstdc++" + + if test "x$HAS_UDIS86" != xno; then + LLVM_LIBS="$LLVM_LIBS -ludis86" diff --git a/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch new file mode 100644 index 0000000000..1fa972db2e --- /dev/null +++ b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch @@ -0,0 +1,12 @@ +diff -Naur Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile +--- Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile 2011-01-04 09:44:17.000000000 -0800 ++++ Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile 2011-05-05 15:48:06.000000000 -0700 +@@ -71,7 +71,7 @@ + + LDFLAGS += $(LLVM_LDFLAGS) + LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a $(LLVM_LIBS) $(GL_LIB_DEPS) +-LD=g++ ++LD = $(CXX) + + $(PROGS): lp_test_main.o libllvmpipe.a + diff --git a/packages/initramfs/compress/zlib-initramfs/install b/packages/initramfs/compress/zlib-initramfs/install new file mode 100755 index 0000000000..6c59423c48 --- /dev/null +++ b/packages/initramfs/compress/zlib-initramfs/install @@ -0,0 +1,28 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +ZLIB_DIR="$BUILD/zlib-*" + +mkdir -p $INSTALL/lib + cp -R $ZLIB_DIR/*.so* $INSTALL/lib diff --git a/packages/initramfs/compress/zlib-initramfs/meta b/packages/initramfs/compress/zlib-initramfs/meta new file mode 100644 index 0000000000..a8cb1fd381 --- /dev/null +++ b/packages/initramfs/compress/zlib-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="zlib-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.zlib.net" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain zlib" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/compress" +PKG_SHORTDESC="zlib: A general purpose (ZIP) data compression library" +PKG_LONGDESC="zlib is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format)." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/initramfs/devel/eglibc-initramfs/install b/packages/initramfs/devel/eglibc-initramfs/install new file mode 100755 index 0000000000..fff49ebbbd --- /dev/null +++ b/packages/initramfs/devel/eglibc-initramfs/install @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +EGLIBC_DIR="$BUILD/eglibc-*" + +mkdir -p $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/elf/ld*.so.* $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/libc.so.6 $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/math/libm.so.6 $INSTALL/lib diff --git a/packages/initramfs/devel/eglibc-initramfs/meta b/packages/initramfs/devel/eglibc-initramfs/meta new file mode 100644 index 0000000000..831345f6f9 --- /dev/null +++ b/packages/initramfs/devel/eglibc-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="eglibc-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.eglibc.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="eglibc" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/devel" +PKG_SHORTDESC="eglibc: The Embedded GNU C library" +PKG_LONGDESC="The Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC) that is designed to work well on embedded systems. EGLIBC strives to be source and binary compatible with GLIBC. EGLIBC's goals include reduced footprint, configurable components, better support for cross-compilation and cross-testing. In contrast to what Ulrich Drepper makes out of GLIBC, in EGLIBC all patches assigned to the FSF will be considered regardless of individual or company affiliation and cooperation is encouraged, as well as communication, civility, and respect among developers." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/initramfs/graphics/libpng-initramfs/install b/packages/initramfs/graphics/libpng-initramfs/install new file mode 100755 index 0000000000..7439cd14b9 --- /dev/null +++ b/packages/initramfs/graphics/libpng-initramfs/install @@ -0,0 +1,28 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +LIBPNG_DIR="$BUILD/libpng-*" + +mkdir -p $INSTALL/lib + cp -P $LIBPNG_DIR/.libs/libpng*.so* $INSTALL/lib diff --git a/packages/initramfs/graphics/libpng-initramfs/meta b/packages/initramfs/graphics/libpng-initramfs/meta new file mode 100644 index 0000000000..48c1d61dfa --- /dev/null +++ b/packages/initramfs/graphics/libpng-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libpng-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.libpng.org/" +PKG_URL="" +PKG_DEPENDS="zlib-initramfs" +PKG_BUILD_DEPENDS="toolchain libpng" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/graphics" +PKG_SHORTDESC="libpng: Portable Network Graphics (PNG) Reference Library" +PKG_LONGDESC="PNG (Portable Network Graphics) is an extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/initramfs/lang/gcc-initramfs/install b/packages/initramfs/lang/gcc-initramfs/install new file mode 100755 index 0000000000..ed5c5b017b --- /dev/null +++ b/packages/initramfs/lang/gcc-initramfs/install @@ -0,0 +1,28 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +GCC_DIR="$BUILD/gcc-*" + +mkdir -p $INSTALL/lib + cp -P $GCC_DIR/objdir-gcc-final/$TARGET_NAME/libgcc/libgcc_s.so* $INSTALL/lib diff --git a/packages/initramfs/lang/gcc-initramfs/meta b/packages/initramfs/lang/gcc-initramfs/meta new file mode 100644 index 0000000000..32e61a28d6 --- /dev/null +++ b/packages/initramfs/lang/gcc-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="gcc-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://gcc.gnu.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="gcc-final" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/lang" +PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)" +PKG_LONGDESC="This package contains the GNU Compiler Collection. It includes compilers for the languages C, C++, Objective C, Fortran 95, Java and others ... This GCC contains the Stack-Smashing Protector Patch which can be enabled with the -fstack-protector command-line option. More information about it ca be found at http://www.research.ibm.com/trl/projects/security/ssp/." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/initramfs/meta b/packages/initramfs/meta new file mode 100644 index 0000000000..a7cd1ce35f --- /dev/null +++ b/packages/initramfs/meta @@ -0,0 +1,40 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.openelec.tv" +PKG_URL="" +PKG_DEPENDS="eglibc-initramfs busybox-initramfs plymouth-lite" +PKG_BUILD_DEPENDS="toolchain eglibc-initramfs busybox-initramfs plymouth-lite" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs" +PKG_SHORTDESC="initramfs: Metapackage for installing initramfs" +PKG_LONGDESC="debug is a Metapackage for installing initramfs" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" + +if [ "$HFSTOOLS" = "yes" ]; then + PKG_DEPENDS="$PKG_DEPENDS diskdev_cmds-initramfs util-linux-initramfs" +fi diff --git a/packages/sysutils/busybox-initramfs/build b/packages/initramfs/sysutils/busybox-initramfs/build similarity index 100% rename from packages/sysutils/busybox-initramfs/build rename to packages/initramfs/sysutils/busybox-initramfs/build diff --git a/packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf similarity index 99% rename from packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf rename to packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf index 46a7fbd80f..86ae2d0cce 100644 --- a/packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf +++ b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.18.4 -# Thu Apr 7 10:08:24 2011 +# Tue May 17 21:21:08 2011 # CONFIG_HAVE_DOT_CONFIG=y @@ -54,7 +54,7 @@ CONFIG_FEATURE_HAVE_RPC=y # # Build Options # -CONFIG_STATIC=y +# CONFIG_STATIC is not set # CONFIG_PIE is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set diff --git a/packages/initramfs/sysutils/busybox-initramfs/install b/packages/initramfs/sysutils/busybox-initramfs/install new file mode 100755 index 0000000000..272e82f227 --- /dev/null +++ b/packages/initramfs/sysutils/busybox-initramfs/install @@ -0,0 +1,38 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/bin + cp -PR $BUILD/busybox*/_install-initramfs/bin/busybox $INSTALL/bin + ln -sf busybox $INSTALL/bin/sh + chmod 4755 $INSTALL/bin/busybox + +mkdir -p $INSTALL/dev +mkdir -p $INSTALL/proc +mkdir -p $INSTALL/sys +mkdir -p $INSTALL/flash +mkdir -p $INSTALL/sysroot +mkdir -p $INSTALL/storage + + cp $PKG_DIR/scripts/init $INSTALL + chmod 755 $INSTALL/init diff --git a/packages/sysutils/busybox-initramfs/meta b/packages/initramfs/sysutils/busybox-initramfs/meta similarity index 100% rename from packages/sysutils/busybox-initramfs/meta rename to packages/initramfs/sysutils/busybox-initramfs/meta diff --git a/packages/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init similarity index 93% rename from packages/sysutils/busybox-initramfs/scripts/init rename to packages/initramfs/sysutils/busybox-initramfs/scripts/init index 6938ceb3d2..420b8b017c 100755 --- a/packages/sysutils/busybox-initramfs/scripts/init +++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init @@ -143,6 +143,15 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay" fi } + hfsdiskprep() { + for DEV in `/bin/busybox ls /dev/sd*`; do + FS_TYPE=$(/sbin/blkid -o value -s TYPE $DEV) + if [ "$FS_TYPE" = "hfs" -o "$FS_TYPE" = "hfsplus" ]; then + /sbin/fsck_hfs -r -y $DEV > /dev/null 2>&1 + fi + done + } + mount_nbd() { retry_nr=0 retry_delay=20 @@ -164,7 +173,7 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay" error "INIT_2" "Could not mount NBD root from $NBD_ROOT_SERVER port $NBD_ROOT_PORT" debug_shell fi - + mount_part "$NFS_OVERLAY" "/sysroot/storage" "rw,nolock,retrans=10" "nfs" if [ ! -d /sysroot/storage/$OVERLAY_DIR ]; then @@ -176,12 +185,22 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay" } mount_disk() { - mount_part "$boot" "/flash" "ro,noatime" + # deal with hfs partitions + if [ -x /sbin/fsck_hfs ]; then + hfsdiskprep + fi + + mount_part "$boot" "/flash" "ro,noatime" show_splash if [ -n "$disk" ]; then mount_part "$disk" "/storage" "rw,noatime" + + if [ -f "/flash/atv_single_boot" ]; then + IMAGE_KERNEL="MACH_KERNEL" + fi + update "Kernel" "$IMAGE_KERNEL" "/flash/$IMAGE_KERNEL" update "System" "$IMAGE_SYSTEM" "/flash/$IMAGE_SYSTEM" diff --git a/packages/initramfs/sysutils/diskdev_cmds-initramfs/install b/packages/initramfs/sysutils/diskdev_cmds-initramfs/install new file mode 100755 index 0000000000..3e4e3ef6e3 --- /dev/null +++ b/packages/initramfs/sysutils/diskdev_cmds-initramfs/install @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +DISKDEV_CMDS_DIR="$BUILD/diskdev_cmds-*" + +mkdir -p $INSTALL/sbin + cp $DISKDEV_CMDS_DIR/fsck_hfs.tproj/fsck_hfs $INSTALL/sbin + ln -sf fsck_hfs $INSTALL/sbin/fsck.hfs + ln -sf fsck_hfs $INSTALL/sbin/fsck.hfsplus diff --git a/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta b/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta new file mode 100644 index 0000000000..48bc6a8006 --- /dev/null +++ b/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="diskdev_cmds-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="APSL" +PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain diskdev_cmds" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/system" +PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities" +PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/sysutils/plymouth-lite/build b/packages/initramfs/sysutils/plymouth-lite/build similarity index 100% rename from packages/sysutils/plymouth-lite/build rename to packages/initramfs/sysutils/plymouth-lite/build diff --git a/packages/sysutils/plymouth-lite/install b/packages/initramfs/sysutils/plymouth-lite/install similarity index 100% rename from packages/sysutils/plymouth-lite/install rename to packages/initramfs/sysutils/plymouth-lite/install diff --git a/packages/sysutils/plymouth-lite/meta b/packages/initramfs/sysutils/plymouth-lite/meta similarity index 97% rename from packages/sysutils/plymouth-lite/meta rename to packages/initramfs/sysutils/plymouth-lite/meta index 05a24bfc2d..fea59ea025 100644 --- a/packages/sysutils/plymouth-lite/meta +++ b/packages/initramfs/sysutils/plymouth-lite/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.meego.com" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="" +PKG_DEPENDS="gcc-initramfs libpng-initramfs" PKG_BUILD_DEPENDS="toolchain libpng" PKG_PRIORITY="optional" PKG_SECTION="system" diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch similarity index 73% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch index 5525d629ca..f9baa38536 100644 --- a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch +++ b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch @@ -4,7 +4,7 @@ ply-image: ply-image.c ply-frame-buffer.c Makefile - gcc -O2 -march=core2 -mtune=generic -lm `pkg-config --cflags libpng12` `pkg-config --libs libpng12` ply-image.c ply-frame-buffer.c -o ply-image -+ $(CC) -static $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz ++ $(CC) $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz clean: rm -f ply-image *~ gmon.out diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch diff --git a/packages/sysutils/plymouth-lite/splash/splash.png b/packages/initramfs/sysutils/plymouth-lite/splash/splash.png similarity index 100% rename from packages/sysutils/plymouth-lite/splash/splash.png rename to packages/initramfs/sysutils/plymouth-lite/splash/splash.png diff --git a/packages/sysutils/plymouth-lite/splash/splash1.png b/packages/initramfs/sysutils/plymouth-lite/splash/splash1.png similarity index 100% rename from packages/sysutils/plymouth-lite/splash/splash1.png rename to packages/initramfs/sysutils/plymouth-lite/splash/splash1.png diff --git a/packages/initramfs/sysutils/util-linux-initramfs/install b/packages/initramfs/sysutils/util-linux-initramfs/install new file mode 100755 index 0000000000..27cd485e33 --- /dev/null +++ b/packages/initramfs/sysutils/util-linux-initramfs/install @@ -0,0 +1,32 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +UTIL_LINUX_DIR="$BUILD/util-linux-*" + +mkdir -p $INSTALL/sbin + cp -P $UTIL_LINUX_DIR/misc-utils/.libs/blkid $INSTALL/sbin + +mkdir -p $INSTALL/lib + cp -P $UTIL_LINUX_DIR/shlibs/blkid/src/.libs/libblkid.so* $INSTALL/lib + cp -P $UTIL_LINUX_DIR/shlibs/uuid/src/.libs/libuuid.so* $INSTALL/lib diff --git a/packages/initramfs/sysutils/util-linux-initramfs/meta b/packages/initramfs/sysutils/util-linux-initramfs/meta new file mode 100644 index 0000000000..6b38110560 --- /dev/null +++ b/packages/initramfs/sysutils/util-linux-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="util-linux-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="APSL" +PKG_SITE="http://userweb.kernel.org/~kzak/util-linux-ng/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain util-linux" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/system" +PKG_SHORTDESC="util-linux: Miscellaneous system utilities for Linux" +PKG_LONGDESC="The util-linux package contains a large variety of low-level system utilities that are necessary for a Linux system to function. Among many features, Util-linux contains the fdisk configuration tool and the login program." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/linux/build b/packages/linux/build index ed0d622184..1e2cb82784 100755 --- a/packages/linux/build +++ b/packages/linux/build @@ -22,8 +22,12 @@ . config/options $1 -export INSTALL=$(kernel_path)/initramfs -$SCRIPTS/install busybox-initramfs +export INSTALL=$ROOT/$BUILD/image/initramfs/root-image +$SCRIPTS/install initramfs + +cd $INSTALL + find . | cpio -H newc -ov -R 0:0 > $ROOT/$BUILD/image/initramfs.cpio +cd - if [ "$BOOTLOADER" = "u-boot" ]; then $SCRIPTS/build u-boot @@ -47,4 +51,3 @@ rm -f modules/lib/modules/*/build rm -f modules/lib/modules/*/source make $KERNEL_IMAGE - diff --git a/packages/linux/install b/packages/linux/install index 4939a5de09..39d6a00e0d 100755 --- a/packages/linux/install +++ b/packages/linux/install @@ -45,3 +45,4 @@ mkdir -p $INSTALL/etc mkdir -p $INSTALL/etc/modprobe.d cp $PKG_DIR/modprobe.d/*.conf $INSTALL/etc/modprobe.d + diff --git a/packages/linux/meta b/packages/linux/meta index 30509cc23f..aa1859653b 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -19,15 +19,15 @@ ################################################################################ PKG_NAME="linux" -PKG_VERSION="2.6.39-rc7" +PKG_VERSION="2.6.39" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.kernel.org" -#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" +#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="busybox linux-drivers linux-firmware" -PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz" +PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" PKG_PRIORITY="optional" PKG_SECTION="linux" PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules" @@ -46,3 +46,7 @@ if [ "$LINUX" = "ti-omap4" ]; then PKG_VERSION="2.6.38-ti-omap4" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" fi + +if [ "$BOOTLOADER" = "atv-bootloader" ]; then + PKG_DEPENDS="$PKG_DEPENDS atv-bootloader" +fi diff --git a/packages/linux/patches/linux-2.6.39-rc7-000_crosscompile.patch b/packages/linux/patches/linux-2.6.39-000_crosscompile.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-000_crosscompile.patch rename to packages/linux/patches/linux-2.6.39-000_crosscompile.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-002_bash_only_feature.patch b/packages/linux/patches/linux-2.6.39-002_bash_only_feature.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-002_bash_only_feature.patch rename to packages/linux/patches/linux-2.6.39-002_bash_only_feature.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-003-no_dev_console.patch b/packages/linux/patches/linux-2.6.39-003-no_dev_console.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-003-no_dev_console.patch rename to packages/linux/patches/linux-2.6.39-003-no_dev_console.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-004_lower_undefined_mode_timeout.patch b/packages/linux/patches/linux-2.6.39-004_lower_undefined_mode_timeout.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-004_lower_undefined_mode_timeout.patch rename to packages/linux/patches/linux-2.6.39-004_lower_undefined_mode_timeout.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-005_kconfig_no_timestamp.patch b/packages/linux/patches/linux-2.6.39-005_kconfig_no_timestamp.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-005_kconfig_no_timestamp.patch rename to packages/linux/patches/linux-2.6.39-005_kconfig_no_timestamp.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-006_enable_utf8.patch b/packages/linux/patches/linux-2.6.39-006_enable_utf8.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-006_enable_utf8.patch rename to packages/linux/patches/linux-2.6.39-006_enable_utf8.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-007_die_floppy_die.patch b/packages/linux/patches/linux-2.6.39-007_die_floppy_die.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-007_die_floppy_die.patch rename to packages/linux/patches/linux-2.6.39-007_die_floppy_die.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-008-hda_intel_prealloc_4mb_dmabuffer.patch b/packages/linux/patches/linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-008-hda_intel_prealloc_4mb_dmabuffer.patch rename to packages/linux/patches/linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-009_disable_i8042_check_on_apple_mac.patch b/packages/linux/patches/linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-009_disable_i8042_check_on_apple_mac.patch rename to packages/linux/patches/linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-041-add_rtl8192se_driver-0.2.patch b/packages/linux/patches/linux-2.6.39-041-add_rtl8192se_driver-0.2.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-041-add_rtl8192se_driver-0.2.patch rename to packages/linux/patches/linux-2.6.39-041-add_rtl8192se_driver-0.2.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-050_add_appleir_usb_driver.patch b/packages/linux/patches/linux-2.6.39-050_add_appleir_usb_driver.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-050_add_appleir_usb_driver.patch rename to packages/linux/patches/linux-2.6.39-050_add_appleir_usb_driver.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-052-aureal_remote_quirk-0.1.patch b/packages/linux/patches/linux-2.6.39-052-aureal_remote_quirk-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-052-aureal_remote_quirk-0.1.patch rename to packages/linux/patches/linux-2.6.39-052-aureal_remote_quirk-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-053_ati-remote_all_keys_and_keychange-0.1.patch b/packages/linux/patches/linux-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-053_ati-remote_all_keys_and_keychange-0.1.patch rename to packages/linux/patches/linux-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-054_nuvoton-cir-only-warn-about-unknown-chips.patch b/packages/linux/patches/linux-2.6.39-054_nuvoton-cir-only-warn-about-unknown-chips.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-054_nuvoton-cir-only-warn-about-unknown-chips.patch rename to packages/linux/patches/linux-2.6.39-054_nuvoton-cir-only-warn-about-unknown-chips.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch b/packages/linux/patches/linux-2.6.39-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch rename to packages/linux/patches/linux-2.6.39-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch diff --git a/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch b/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch new file mode 100644 index 0000000000..aa48d719f8 --- /dev/null +++ b/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch @@ -0,0 +1,904 @@ +[media] fintek-cir: new device driver + +Device driver for the Fintek F71809 LPC SuperIO Integrated CIR. + +Only receive is supported at the moment, but the hardware does +support transmit. This is just a first rough draft, if you will... + +Signed-off-by: Jarod Wilson +--- + drivers/media/rc/Kconfig | 12 + + drivers/media/rc/Makefile | 1 + + drivers/media/rc/fintek-cir.c | 618 +++++++++++++++++++++++++++++++++++++++++ + drivers/media/rc/fintek-cir.h | 224 +++++++++++++++ + 4 files changed, 855 insertions(+), 0 deletions(-) + +diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig +index 154c337..7d4bbc2 100644 +--- a/drivers/media/rc/Kconfig ++++ b/drivers/media/rc/Kconfig +@@ -148,6 +148,18 @@ config IR_ITE_CIR + To compile this driver as a module, choose M here: the + module will be called ite-cir. + ++config IR_FINTEK ++ tristate "Fintek Consumer Infrared Transceiver" ++ depends on PNP ++ depends on RC_CORE ++ ---help--- ++ Say Y here to enable support for integrated infrared receiver ++ /transciever made by Fintek. This chip is found on assorted ++ Jetway motherboards (and of course, possibly others). ++ ++ To compile this driver as a module, choose M here: the ++ module will be called fintek-cir. ++ + config IR_NUVOTON + tristate "Nuvoton w836x7hg Consumer Infrared Transceiver" + depends on PNP +diff --git a/drivers/media/rc/Makefile b/drivers/media/rc/Makefile +index 1f90a21..52830e5 100644 +--- a/drivers/media/rc/Makefile ++++ b/drivers/media/rc/Makefile +@@ -16,6 +16,7 @@ obj-$(CONFIG_IR_LIRC_CODEC) += ir-lirc-codec.o + obj-$(CONFIG_IR_IMON) += imon.o + obj-$(CONFIG_IR_ITE_CIR) += ite-cir.o + obj-$(CONFIG_IR_MCEUSB) += mceusb.o ++obj-$(CONFIG_IR_FINTEK) += fintek-cir.o + obj-$(CONFIG_IR_NUVOTON) += nuvoton-cir.o + obj-$(CONFIG_IR_ENE) += ene_ir.o + obj-$(CONFIG_IR_REDRAT3) += redrat3.o +diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c +new file mode 100644 +index 0000000..ae275ec +--- /dev/null ++++ b/drivers/media/rc/fintek-cir.c +@@ -0,0 +1,618 @@ ++/* ++ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR ++ * ++ * Copyright (C) 2011 Jarod Wilson ++ * ++ * Special thanks to Fintek for providing hardware and spec sheets. ++ * This driver is based upon the nuvoton, ite and ene drivers for ++ * similar hardware. ++ * ++ * 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 ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "fintek-cir.h" ++ ++/* write val to config reg */ ++static inline void fintek_cr_write(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)", ++ __func__, reg, val, fintek->cr_ip, fintek->cr_dp); ++ outb(reg, fintek->cr_ip); ++ outb(val, fintek->cr_dp); ++} ++ ++/* read val from config reg */ ++static inline u8 fintek_cr_read(struct fintek_dev *fintek, u8 reg) ++{ ++ u8 val; ++ ++ outb(reg, fintek->cr_ip); ++ val = inb(fintek->cr_dp); ++ ++ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)", ++ __func__, reg, val, fintek->cr_ip, fintek->cr_dp); ++ return val; ++} ++ ++/* update config register bit without changing other bits */ ++static inline void fintek_set_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ u8 tmp = fintek_cr_read(fintek, reg) | val; ++ fintek_cr_write(fintek, tmp, reg); ++} ++ ++/* clear config register bit without changing other bits */ ++static inline void fintek_clear_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ u8 tmp = fintek_cr_read(fintek, reg) & ~val; ++ fintek_cr_write(fintek, tmp, reg); ++} ++ ++/* enter config mode */ ++static inline void fintek_config_mode_enable(struct fintek_dev *fintek) ++{ ++ /* Enabling Config Mode explicitly requires writing 2x */ ++ outb(CONFIG_REG_ENABLE, fintek->cr_ip); ++ outb(CONFIG_REG_ENABLE, fintek->cr_ip); ++} ++ ++/* exit config mode */ ++static inline void fintek_config_mode_disable(struct fintek_dev *fintek) ++{ ++ outb(CONFIG_REG_DISABLE, fintek->cr_ip); ++} ++ ++/* ++ * When you want to address a specific logical device, write its logical ++ * device number to GCR_LOGICAL_DEV_NO ++ */ ++static inline void fintek_select_logical_dev(struct fintek_dev *fintek, u8 ldev) ++{ ++ fintek_cr_write(fintek, ldev, GCR_LOGICAL_DEV_NO); ++} ++ ++/* write val to cir config register */ ++static inline void fintek_cir_reg_write(struct fintek_dev *fintek, u8 val, u8 offset) ++{ ++ outb(val, fintek->cir_addr + offset); ++} ++ ++/* read val from cir config register */ ++static u8 fintek_cir_reg_read(struct fintek_dev *fintek, u8 offset) ++{ ++ u8 val; ++ ++ val = inb(fintek->cir_addr + offset); ++ ++ return val; ++} ++ ++#define pr_reg(text, ...) \ ++ printk(KERN_INFO KBUILD_MODNAME ": " text, ## __VA_ARGS__) ++ ++/* dump current cir register contents */ ++static void cir_dump_regs(struct fintek_dev *fintek) ++{ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ ++ pr_reg("%s: Dump CIR logical device registers:\n", FINTEK_DRIVER_NAME); ++ pr_reg(" * CR CIR BASE ADDR: 0x%x\n", ++ (fintek_cr_read(fintek, CIR_CR_BASE_ADDR_HI) << 8) | ++ fintek_cr_read(fintek, CIR_CR_BASE_ADDR_LO)); ++ pr_reg(" * CR CIR IRQ NUM: 0x%x\n", ++ fintek_cr_read(fintek, CIR_CR_IRQ_SEL)); ++ ++ fintek_config_mode_disable(fintek); ++ ++ pr_reg("%s: Dump CIR registers:\n", FINTEK_DRIVER_NAME); ++ pr_reg(" * STATUS: 0x%x\n", fintek_cir_reg_read(fintek, CIR_STATUS)); ++ pr_reg(" * CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_CONTROL)); ++ pr_reg(" * RX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_RX_DATA)); ++ pr_reg(" * TX_CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_CONTROL)); ++ pr_reg(" * TX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_DATA)); ++} ++ ++/* detect hardware features */ ++static int fintek_hw_detect(struct fintek_dev *fintek) ++{ ++ unsigned long flags; ++ u8 chip_major, chip_minor; ++ u8 vendor_major, vendor_minor; ++ u8 portsel, ir_class; ++ u16 vendor; ++ int ret = 0; ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* Check if we're using config port 0x4e or 0x2e */ ++ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL); ++ if (portsel == 0xff) { ++ fit_pr(KERN_INFO, "first portsel read was bunk, trying alt"); ++ fintek_config_mode_disable(fintek); ++ fintek->cr_ip = CR_INDEX_PORT2; ++ fintek->cr_dp = CR_DATA_PORT2; ++ fintek_config_mode_enable(fintek); ++ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL); ++ } ++ fit_dbg("portsel reg: 0x%02x", portsel); ++ ++ ir_class = fintek_cir_reg_read(fintek, CIR_CR_CLASS); ++ fit_dbg("ir_class reg: 0x%02x", ir_class); ++ ++ switch (ir_class) { ++ case CLASS_RX_2TX: ++ case CLASS_RX_1TX: ++ fintek->hw_tx_capable = true; ++ break; ++ case CLASS_RX_ONLY: ++ default: ++ fintek->hw_tx_capable = false; ++ break; ++ } ++ ++ chip_major = fintek_cr_read(fintek, GCR_CHIP_ID_HI); ++ chip_minor = fintek_cr_read(fintek, GCR_CHIP_ID_LO); ++ ++ vendor_major = fintek_cr_read(fintek, GCR_VENDOR_ID_HI); ++ vendor_minor = fintek_cr_read(fintek, GCR_VENDOR_ID_LO); ++ vendor = vendor_major << 8 | vendor_minor; ++ ++ if (vendor != VENDOR_ID_FINTEK) ++ fit_pr(KERN_WARNING, "Unknown vendor ID: 0x%04x", vendor); ++ else ++ fit_dbg("Read Fintek vendor ID from chip"); ++ ++ fintek_config_mode_disable(fintek); ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->chip_major = chip_major; ++ fintek->chip_minor = chip_minor; ++ fintek->chip_vendor = vendor; ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ return ret; ++} ++ ++static void fintek_cir_ldev_init(struct fintek_dev *fintek) ++{ ++ /* Select CIR logical device and enable */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ /* Write allocated CIR address and IRQ information to hardware */ ++ fintek_cr_write(fintek, fintek->cir_addr >> 8, CIR_CR_BASE_ADDR_HI); ++ fintek_cr_write(fintek, fintek->cir_addr & 0xff, CIR_CR_BASE_ADDR_LO); ++ ++ fintek_cr_write(fintek, fintek->cir_irq, CIR_CR_IRQ_SEL); ++ ++ fit_dbg("CIR initialized, base io address: 0x%lx, irq: %d (len: %d)", ++ fintek->cir_addr, fintek->cir_irq, fintek->cir_port_len); ++} ++ ++/* enable CIR interrupts */ ++static void fintek_enable_cir_irq(struct fintek_dev *fintek) ++{ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS); ++} ++ ++static void fintek_cir_regs_init(struct fintek_dev *fintek) ++{ ++ /* clear any and all stray interrupts */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ /* and finally, enable interrupts */ ++ fintek_enable_cir_irq(fintek); ++} ++ ++static void fintek_enable_wake(struct fintek_dev *fintek) ++{ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_ACPI); ++ ++ /* Allow CIR PME's to wake system */ ++ fintek_set_reg_bit(fintek, ACPI_WAKE_EN_CIR_BIT, LDEV_ACPI_WAKE_EN_REG); ++ /* Enable CIR PME's */ ++ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_EN_REG); ++ /* Clear CIR PME status register */ ++ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_CLR_REG); ++ /* Save state */ ++ fintek_set_reg_bit(fintek, ACPI_STATE_CIR_BIT, LDEV_ACPI_STATE_REG); ++ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ fintek_config_mode_disable(fintek); ++} ++ ++/* copy data from hardware rx register into driver buffer */ ++static void fintek_get_rx_ir_data(struct fintek_dev *fintek, u8 rx_irqs) ++{ ++ DEFINE_IR_RAW_EVENT(rawir); ++ unsigned long flags; ++ u8 header, sample, status, len, i; ++ ++ init_ir_raw_event(&rawir); ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ ++ header = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample header 0x%02x", __func__, header); ++ len = header & BUF_LEN_MASK; ++ ++ for (i = 0; i < len; i++) { ++ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample 0x%02x", __func__, sample); ++ status = fintek_cir_reg_read(fintek, CIR_STATUS); ++ if (!(status & rx_irqs)) ++ fit_dbg("RX irqs cleared"); ++ ++ rawir.pulse = ((sample & BUF_PULSE_BIT) != 0); ++ rawir.duration = US_TO_NS((sample & BUF_LEN_MASK) ++ * CIR_SAMPLE_PERIOD); ++ ++ fit_dbg("Storing %s with duration %d", ++ rawir.pulse ? "pulse" : "space", rawir.duration); ++ ++ ir_raw_event_store_with_filter(fintek->rdev, &rawir); ++ } ++ ++ fit_dbg("Calling ir_raw_event_handle"); ++ ir_raw_event_handle(fintek->rdev); ++ ++ while (fintek_cir_reg_read(fintek, CIR_STATUS) & rx_irqs) { ++ fit_dbg("RX irqs not cleared"); ++ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample 0x%02x", __func__, sample); ++ } ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++} ++ ++static void fintek_cir_log_irqs(u8 status) ++{ ++ fit_pr(KERN_INFO, "IRQ 0x%02x:%s%s%s%s%s", status, ++ status & CIR_STATUS_IRQ_EN ? " IRQEN" : "", ++ status & CIR_STATUS_TX_FINISH ? " TXF" : "", ++ status & CIR_STATUS_TX_UNDERRUN ? " TXU" : "", ++ status & CIR_STATUS_RX_TIMEOUT ? " RXTO" : "", ++ status & CIR_STATUS_RX_RECEIVE ? " RXOK" : ""); ++} ++ ++/* interrupt service routine for incoming and outgoing CIR data */ ++static irqreturn_t fintek_cir_isr(int irq, void *data) ++{ ++ struct fintek_dev *fintek = data; ++ u8 status, rx_irqs; ++ ++ fit_dbg_verbose("%s firing", __func__); ++ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_config_mode_disable(fintek); ++ ++ /* ++ * Get IR Status register contents. Write 1 to ack/clear ++ * ++ * bit: reg name - description ++ * 3: TX_FINISH - TX is finished ++ * 2: TX_UNDERRUN - TX underrun ++ * 1: RX_TIMEOUT - RX data timeout ++ * 0: RX_RECEIVE - RX data received ++ */ ++ status = fintek_cir_reg_read(fintek, CIR_STATUS); ++ if (!(status & CIR_STATUS_IRQ_MASK)) { ++ fit_dbg_verbose("%s exiting, IRSTS 0x0", __func__); ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ return IRQ_RETVAL(IRQ_NONE); ++ } ++ ++ if (debug) ++ fintek_cir_log_irqs(status); ++ ++ rx_irqs = status & (CIR_STATUS_RX_RECEIVE | CIR_STATUS_RX_TIMEOUT); ++ if (rx_irqs) ++ fintek_get_rx_ir_data(fintek, rx_irqs); ++ ++ /* ack/clear all irq flags we've got */ ++ fintek_cir_reg_write(fintek, status, CIR_STATUS); ++ ++ fit_dbg_verbose("%s done", __func__); ++ return IRQ_RETVAL(IRQ_HANDLED); ++} ++ ++static void fintek_enable_cir(struct fintek_dev *fintek) ++{ ++ /* set IRQ enabled */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* enable the CIR logical device */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ /* clear all pending interrupts */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ /* enable interrupts */ ++ fintek_enable_cir_irq(fintek); ++} ++ ++static void fintek_disable_cir(struct fintek_dev *fintek) ++{ ++ /* clear any and all pending interrupts and disable IRQ */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* disable the CIR logical device */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++} ++ ++static int fintek_open(struct rc_dev *dev) ++{ ++ struct fintek_dev *fintek = dev->priv; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->in_use = true; ++ fintek_enable_cir(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ return 0; ++} ++ ++static void fintek_close(struct rc_dev *dev) ++{ ++ struct fintek_dev *fintek = dev->priv; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->in_use = false; ++ fintek_disable_cir(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++} ++ ++/* Allocate memory, probe hardware, and initialize everything */ ++static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id) ++{ ++ struct fintek_dev *fintek; ++ struct rc_dev *rdev; ++ int ret = -ENOMEM; ++ ++ fintek = kzalloc(sizeof(struct fintek_dev), GFP_KERNEL); ++ if (!fintek) ++ return ret; ++ ++ /* input device for IR remote (and tx) */ ++ rdev = rc_allocate_device(); ++ if (!rdev) ++ goto failure; ++ ++ ret = -ENODEV; ++ /* validate pnp resources */ ++ if (!pnp_port_valid(pdev, 0)) { ++ dev_err(&pdev->dev, "IR PNP Port not valid!\n"); ++ goto failure; ++ } ++ ++ if (!pnp_irq_valid(pdev, 0)) { ++ dev_err(&pdev->dev, "PNP IRQ not valid!\n"); ++ goto failure; ++ } ++ ++ fintek->cir_addr = pnp_port_start(pdev, 0); ++ fintek->cir_irq = pnp_irq(pdev, 0); ++ fintek->cir_port_len = pnp_port_len(pdev, 0); ++ ++ fintek->cr_ip = CR_INDEX_PORT; ++ fintek->cr_dp = CR_DATA_PORT; ++ ++ spin_lock_init(&fintek->fintek_lock); ++ init_ir_raw_event(&fintek->rawir); ++ ++ ret = -EBUSY; ++ /* now claim resources */ ++ if (!request_region(fintek->cir_addr, ++ fintek->cir_port_len, FINTEK_DRIVER_NAME)) ++ goto failure; ++ ++ if (request_irq(fintek->cir_irq, fintek_cir_isr, IRQF_SHARED, ++ FINTEK_DRIVER_NAME, (void *)fintek)) ++ goto failure; ++ ++ pnp_set_drvdata(pdev, fintek); ++ fintek->pdev = pdev; ++ ++ ret = fintek_hw_detect(fintek); ++ if (ret) ++ goto failure; ++ ++ /* Initialize CIR & CIR Wake Logical Devices */ ++ fintek_config_mode_enable(fintek); ++ fintek_cir_ldev_init(fintek); ++ fintek_config_mode_disable(fintek); ++ ++ /* Initialize CIR & CIR Wake Config Registers */ ++ fintek_cir_regs_init(fintek); ++ ++ /* Set up the rc device */ ++ rdev->priv = fintek; ++ rdev->driver_type = RC_DRIVER_IR_RAW; ++ rdev->allowed_protos = RC_TYPE_ALL; ++ rdev->open = fintek_open; ++ rdev->close = fintek_close; ++ rdev->input_name = FINTEK_DESCRIPTION; ++ rdev->input_phys = "fintek/cir0"; ++ rdev->input_id.bustype = BUS_HOST; ++ rdev->input_id.vendor = VENDOR_ID_FINTEK; ++ rdev->input_id.product = fintek->chip_major; ++ rdev->input_id.version = fintek->chip_minor; ++ rdev->dev.parent = &pdev->dev; ++ rdev->driver_name = FINTEK_DRIVER_NAME; ++ rdev->map_name = RC_MAP_RC6_MCE; ++ rdev->timeout = US_TO_NS(1000); ++ /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */ ++ rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD); ++ ++ ret = rc_register_device(rdev); ++ if (ret) ++ goto failure; ++ ++ device_init_wakeup(&pdev->dev, true); ++ fintek->rdev = rdev; ++ fit_pr(KERN_NOTICE, "driver has been successfully loaded\n"); ++ if (debug) ++ cir_dump_regs(fintek); ++ ++ return 0; ++ ++failure: ++ if (fintek->cir_irq) ++ free_irq(fintek->cir_irq, fintek); ++ if (fintek->cir_addr) ++ release_region(fintek->cir_addr, fintek->cir_port_len); ++ ++ rc_free_device(rdev); ++ kfree(fintek); ++ ++ return ret; ++} ++ ++static void __devexit fintek_remove(struct pnp_dev *pdev) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ /* disable CIR */ ++ fintek_cir_reg_write(fintek, 0, CIR_STATUS); ++ fintek_disable_cir(fintek); ++ /* enable CIR Wake (for IR power-on) */ ++ fintek_enable_wake(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ /* free resources */ ++ free_irq(fintek->cir_irq, fintek); ++ release_region(fintek->cir_addr, fintek->cir_port_len); ++ ++ rc_unregister_device(fintek->rdev); ++ ++ kfree(fintek); ++} ++ ++static int fintek_suspend(struct pnp_dev *pdev, pm_message_t state) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ ++ fit_dbg("%s called", __func__); ++ ++ /* disable all CIR interrupts */ ++ fintek_cir_reg_write(fintek, 0, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* disable cir logical dev */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ /* make sure wake is enabled */ ++ fintek_enable_wake(fintek); ++ ++ return 0; ++} ++ ++static int fintek_resume(struct pnp_dev *pdev) ++{ ++ int ret = 0; ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ ++ fit_dbg("%s called", __func__); ++ ++ /* open interrupt */ ++ fintek_enable_cir_irq(fintek); ++ ++ /* Enable CIR logical device */ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ fintek_cir_regs_init(fintek); ++ ++ return ret; ++} ++ ++static void fintek_shutdown(struct pnp_dev *pdev) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ fintek_enable_wake(fintek); ++} ++ ++static const struct pnp_device_id fintek_ids[] = { ++ { "FIT0002", 0 }, /* CIR */ ++ { "", 0 }, ++}; ++ ++static struct pnp_driver fintek_driver = { ++ .name = FINTEK_DRIVER_NAME, ++ .id_table = fintek_ids, ++ .flags = PNP_DRIVER_RES_DO_NOT_CHANGE, ++ .probe = fintek_probe, ++ .remove = __devexit_p(fintek_remove), ++ .suspend = fintek_suspend, ++ .resume = fintek_resume, ++ .shutdown = fintek_shutdown, ++}; ++ ++int fintek_init(void) ++{ ++ return pnp_register_driver(&fintek_driver); ++} ++ ++void fintek_exit(void) ++{ ++ pnp_unregister_driver(&fintek_driver); ++} ++ ++module_param(debug, int, S_IRUGO | S_IWUSR); ++MODULE_PARM_DESC(debug, "Enable debugging output"); ++ ++MODULE_DEVICE_TABLE(pnp, fintek_ids); ++MODULE_DESCRIPTION(FINTEK_DESCRIPTION " driver"); ++ ++MODULE_AUTHOR("Jarod Wilson "); ++MODULE_LICENSE("GPL"); ++ ++module_init(fintek_init); ++module_exit(fintek_exit); +diff --git a/drivers/media/rc/fintek-cir.h b/drivers/media/rc/fintek-cir.h +new file mode 100644 +index 0000000..790c502 +--- /dev/null ++++ b/drivers/media/rc/fintek-cir.h +@@ -0,0 +1,224 @@ ++/* ++ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR ++ * ++ * Copyright (C) 2011 Jarod Wilson ++ * ++ * Special thanks to Fintek for providing hardware and spec sheets. ++ * This driver is based upon the nuvoton, ite and ene drivers for ++ * similar hardware. ++ * ++ * 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 ++#include ++ ++/* platform driver name to register */ ++#define FINTEK_DRIVER_NAME "fintek-cir" ++#define FINTEK_DESCRIPTION "Fintek LPC SuperIO Consumer IR Transceiver" ++#define VENDOR_ID_FINTEK 0x1934 ++ ++ ++/* debugging module parameter */ ++static int debug; ++ ++#define fit_pr(level, text, ...) \ ++ printk(level KBUILD_MODNAME ": " text, ## __VA_ARGS__) ++ ++#define fit_dbg(text, ...) \ ++ if (debug) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++#define fit_dbg_verbose(text, ...) \ ++ if (debug > 1) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++#define fit_dbg_wake(text, ...) \ ++ if (debug > 2) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++ ++#define TX_BUF_LEN 256 ++#define RX_BUF_LEN 32 ++ ++struct fintek_dev { ++ struct pnp_dev *pdev; ++ struct rc_dev *rdev; ++ struct ir_raw_event rawir; ++ ++ spinlock_t fintek_lock; ++ bool in_use; ++ ++ /* for rx */ ++ u8 buf[RX_BUF_LEN]; ++ unsigned int pkts; ++ ++ struct { ++ spinlock_t lock; ++ u8 buf[TX_BUF_LEN]; ++ unsigned int buf_count; ++ unsigned int cur_buf_num; ++ wait_queue_head_t queue; ++ } tx; ++ ++ /* Config register index/data port pair */ ++ u8 cr_ip; ++ u8 cr_dp; ++ ++ /* hardware I/O settings */ ++ unsigned long cir_addr; ++ int cir_irq; ++ int cir_port_len; ++ ++ /* hardware id */ ++ u8 chip_major; ++ u8 chip_minor; ++ u16 chip_vendor; ++ ++ /* hardware features */ ++ bool hw_learning_capable; ++ bool hw_tx_capable; ++ ++ /* rx settings */ ++ bool learning_enabled; ++ bool carrier_detect_enabled; ++ ++ /* carrier period = 1 / frequency */ ++ u32 carrier; ++}; ++ ++/* buffer packet constants */ ++#define BUF_PULSE_BIT 0x80 ++#define BUF_LEN_MASK 0x7f ++#define BUF_REPEAT_BYTE 0x70 ++#define BUF_REPEAT_MASK 0xf0 ++#define CIR_SAMPLE_PERIOD 50 ++ ++/* ++ * Configuration Register: ++ * Index Port ++ * Data Port ++ */ ++#define CR_INDEX_PORT 0x4e ++#define CR_DATA_PORT 0x4f ++ ++/* Possible alternate values, depends on how the chip is wired */ ++#define CR_INDEX_PORT2 0x2e ++#define CR_DATA_PORT2 0x2f ++ ++/* ++ * GCR_CONFIG_PORT_SEL bit 4 specifies which Index Port value is ++ * active. 1 = 0x4e, 0 = 0x2e ++ */ ++#define PORT_SEL_PORT_4E_EN 0x10 ++ ++/* Extended Function Mode enable/disable magic values */ ++#define CONFIG_REG_ENABLE 0x87 ++#define CONFIG_REG_DISABLE 0xaa ++ ++/* Chip IDs found in CR_CHIP_ID_{HI,LO} */ ++#define CHIP_ID_HIGH_F71809U 0x04 ++#define CHIP_ID_LOW_F71809U 0x08 ++ ++/* ++ * Global control regs we need to care about: ++ * Global Control def. ++ * Register name addr val. */ ++#define GCR_SOFTWARE_RESET 0x02 /* 0x00 */ ++#define GCR_LOGICAL_DEV_NO 0x07 /* 0x00 */ ++#define GCR_CHIP_ID_HI 0x20 /* 0x04 */ ++#define GCR_CHIP_ID_LO 0x21 /* 0x08 */ ++#define GCR_VENDOR_ID_HI 0x23 /* 0x19 */ ++#define GCR_VENDOR_ID_LO 0x24 /* 0x34 */ ++#define GCR_CONFIG_PORT_SEL 0x25 /* 0x01 */ ++#define GCR_KBMOUSE_WAKEUP 0x27 ++ ++#define LOGICAL_DEV_DISABLE 0x00 ++#define LOGICAL_DEV_ENABLE 0x01 ++ ++/* Logical device number of the CIR function */ ++#define LOGICAL_DEV_CIR 0x05 ++ ++/* CIR Logical Device (LDN 0x08) config registers */ ++#define CIR_CR_COMMAND_INDEX 0x04 ++#define CIR_CR_IRCS 0x05 /* Before host writes command to IR, host ++ must set to 1. When host finshes write ++ command to IR, host must clear to 0. */ ++#define CIR_CR_COMMAND_DATA 0x06 /* Host read or write comand data */ ++#define CIR_CR_CLASS 0x07 /* 0xff = rx-only, 0x66 = rx + 2 tx, ++ 0x33 = rx + 1 tx */ ++#define CIR_CR_DEV_EN 0x30 /* bit0 = 1 enables CIR */ ++#define CIR_CR_BASE_ADDR_HI 0x60 /* MSB of CIR IO base addr */ ++#define CIR_CR_BASE_ADDR_LO 0x61 /* LSB of CIR IO base addr */ ++#define CIR_CR_IRQ_SEL 0x70 /* bits3-0 store CIR IRQ */ ++#define CIR_CR_PSOUT_STATUS 0xf1 ++#define CIR_CR_WAKE_KEY3_ADDR 0xf8 ++#define CIR_CR_WAKE_KEY3_CODE 0xf9 ++#define CIR_CR_WAKE_KEY3_DC 0xfa ++#define CIR_CR_WAKE_CONTROL 0xfb ++#define CIR_CR_WAKE_KEY12_ADDR 0xfc ++#define CIR_CR_WAKE_KEY4_ADDR 0xfd ++#define CIR_CR_WAKE_KEY5_ADDR 0xfe ++ ++#define CLASS_RX_ONLY 0xff ++#define CLASS_RX_2TX 0x66 ++#define CLASS_RX_1TX 0x33 ++ ++/* CIR device registers */ ++#define CIR_STATUS 0x00 ++#define CIR_RX_DATA 0x01 ++#define CIR_TX_CONTROL 0x02 ++#define CIR_TX_DATA 0x03 ++#define CIR_CONTROL 0x04 ++ ++/* Bits to enable CIR wake */ ++#define LOGICAL_DEV_ACPI 0x01 ++#define LDEV_ACPI_WAKE_EN_REG 0xe8 ++#define ACPI_WAKE_EN_CIR_BIT 0x04 ++ ++#define LDEV_ACPI_PME_EN_REG 0xf0 ++#define LDEV_ACPI_PME_CLR_REG 0xf1 ++#define ACPI_PME_CIR_BIT 0x02 ++ ++#define LDEV_ACPI_STATE_REG 0xf4 ++#define ACPI_STATE_CIR_BIT 0x20 ++ ++/* ++ * CIR status register (0x00): ++ * 7 - CIR_IRQ_EN (1 = enable CIR IRQ, 0 = disable) ++ * 3 - TX_FINISH (1 when TX finished, write 1 to clear) ++ * 2 - TX_UNDERRUN (1 on TX underrun, write 1 to clear) ++ * 1 - RX_TIMEOUT (1 on RX timeout, write 1 to clear) ++ * 0 - RX_RECEIVE (1 on RX receive, write 1 to clear) ++ */ ++#define CIR_STATUS_IRQ_EN 0x80 ++#define CIR_STATUS_TX_FINISH 0x08 ++#define CIR_STATUS_TX_UNDERRUN 0x04 ++#define CIR_STATUS_RX_TIMEOUT 0x02 ++#define CIR_STATUS_RX_RECEIVE 0x01 ++#define CIR_STATUS_IRQ_MASK 0x0f ++ ++/* ++ * CIR TX control register (0x02): ++ * 7 - TX_START (1 to indicate TX start, auto-cleared when done) ++ * 6 - TX_END (1 to indicate TX data written to TX fifo) ++ */ ++#define CIR_TX_CONTROL_TX_START 0x80 ++#define CIR_TX_CONTROL_TX_END 0x40 ++ diff --git a/packages/linux/patches/linux-2.6.39-rc7-057_ite-resume-debug-0.1.patch b/packages/linux/patches/linux-2.6.39-057_ite-resume-debug-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-057_ite-resume-debug-0.1.patch rename to packages/linux/patches/linux-2.6.39-057_ite-resume-debug-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-057_media-ite-cir-make-IR-receive-work-after-resume.patch b/packages/linux/patches/linux-2.6.39-057_media-ite-cir-make-IR-receive-work-after-resume.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-057_media-ite-cir-make-IR-receive-work-after-resume.patch rename to packages/linux/patches/linux-2.6.39-057_media-ite-cir-make-IR-receive-work-after-resume.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch b/packages/linux/patches/linux-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch rename to packages/linux/patches/linux-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-071-silence_i915_agp-module-0.1.patch b/packages/linux/patches/linux-2.6.39-071-silence_i915_agp-module-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-071-silence_i915_agp-module-0.1.patch rename to packages/linux/patches/linux-2.6.39-071-silence_i915_agp-module-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-322-omap4_pandaboard_fix_dvi_support-0.1.patch b/packages/linux/patches/linux-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-322-omap4_pandaboard_fix_dvi_support-0.1.patch rename to packages/linux/patches/linux-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-716_mm-zero_swappiness.patch b/packages/linux/patches/linux-2.6.39-716_mm-zero_swappiness.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-716_mm-zero_swappiness.patch rename to packages/linux/patches/linux-2.6.39-716_mm-zero_swappiness.patch diff --git a/packages/linux/unpack b/packages/linux/unpack index 37fe003e97..9523cd3a1a 100755 --- a/packages/linux/unpack +++ b/packages/linux/unpack @@ -37,7 +37,8 @@ sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $HOST_CC|" \ $LINUX/Makefile cp $KERNEL_CFG_FILE $LINUX/.config -sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \ +#sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \ +sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$BUILD/image/initramfs.cpio\"|" \ $LINUX/.config # copy some extra firmware to linux tree diff --git a/packages/multimedia/xvba-video/install b/packages/multimedia/xvba-video/install new file mode 100755 index 0000000000..b3cedf63c6 --- /dev/null +++ b/packages/multimedia/xvba-video/install @@ -0,0 +1,32 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +mkdir -p $INSTALL/usr/lib/va + cp -P $PKG_BUILD/$ARCH/*.so $INSTALL/usr/lib/va diff --git a/packages/multimedia/xvba-video/meta b/packages/multimedia/xvba-video/meta new file mode 100644 index 0000000000..f66cf3931b --- /dev/null +++ b/packages/multimedia/xvba-video/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="xvba-video" +PKG_VERSION="0.7.8.bin" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="nonfree" +PKG_SITE="http://www.splitted-desktop.com/~gbeauchesne/" +PKG_URL="http://www.splitted-desktop.com/~gbeauchesne/xvba-video/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="$MESA libX11 libXext" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="xvba-video: XvBA backend for VA API" +PKG_LONGDESC="XvBA backend for VA API" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch b/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch new file mode 100644 index 0000000000..4e995afee2 --- /dev/null +++ b/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch @@ -0,0 +1,160 @@ +--- busybox-1.18.4/shell/hush.c ++++ busybox-1.18.4-hush/shell/hush.c +@@ -427,6 +427,15 @@ enum { + /* Used for initialization: o_string foo = NULL_O_STRING; */ + #define NULL_O_STRING { NULL } + ++#ifndef debug_printf_parse ++static const char *const assignment_flag[] = { ++ "MAYBE_ASSIGNMENT", ++ "DEFINITELY_ASSIGNMENT", ++ "NOT_ASSIGNMENT", ++ "WORD_IS_KEYWORD", ++}; ++#endif ++ + /* I can almost use ordinary FILE*. Is open_memstream() universally + * available? Where is it documented? */ + typedef struct in_str { +@@ -2885,24 +2894,24 @@ static const struct reserved_combo* matc + */ + static const struct reserved_combo reserved_list[] = { + # if ENABLE_HUSH_IF +- { "!", RES_NONE, NOT_ASSIGNMENT , 0 }, +- { "if", RES_IF, WORD_IS_KEYWORD, FLAG_THEN | FLAG_START }, +- { "then", RES_THEN, WORD_IS_KEYWORD, FLAG_ELIF | FLAG_ELSE | FLAG_FI }, +- { "elif", RES_ELIF, WORD_IS_KEYWORD, FLAG_THEN }, +- { "else", RES_ELSE, WORD_IS_KEYWORD, FLAG_FI }, +- { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END }, ++ { "!", RES_NONE, NOT_ASSIGNMENT , 0 }, ++ { "if", RES_IF, MAYBE_ASSIGNMENT, FLAG_THEN | FLAG_START }, ++ { "then", RES_THEN, MAYBE_ASSIGNMENT, FLAG_ELIF | FLAG_ELSE | FLAG_FI }, ++ { "elif", RES_ELIF, MAYBE_ASSIGNMENT, FLAG_THEN }, ++ { "else", RES_ELSE, MAYBE_ASSIGNMENT, FLAG_FI }, ++ { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END }, + # endif + # if ENABLE_HUSH_LOOPS +- { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START }, +- { "while", RES_WHILE, WORD_IS_KEYWORD, FLAG_DO | FLAG_START }, +- { "until", RES_UNTIL, WORD_IS_KEYWORD, FLAG_DO | FLAG_START }, +- { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO }, +- { "do", RES_DO, WORD_IS_KEYWORD, FLAG_DONE }, +- { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END }, ++ { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START }, ++ { "while", RES_WHILE, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START }, ++ { "until", RES_UNTIL, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START }, ++ { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO }, ++ { "do", RES_DO, MAYBE_ASSIGNMENT, FLAG_DONE }, ++ { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END }, + # endif + # if ENABLE_HUSH_CASE +- { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START }, +- { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END }, ++ { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START }, ++ { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END }, + # endif + }; + const struct reserved_combo *r; +@@ -2968,6 +2977,7 @@ static int reserved_word(o_string *word, + ctx->ctx_res_w = r->res; + ctx->old_flag = r->flag; + word->o_assignment = r->assignment_flag; ++ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]); + + if (ctx->old_flag & FLAG_END) { + struct parse_context *old; +@@ -3034,18 +3044,6 @@ static int done_word(o_string *word, str + debug_printf_parse("word stored in rd_filename: '%s'\n", word->data); + ctx->pending_redirect = NULL; + } else { +- /* If this word wasn't an assignment, next ones definitely +- * can't be assignments. Even if they look like ones. */ +- if (word->o_assignment != DEFINITELY_ASSIGNMENT +- && word->o_assignment != WORD_IS_KEYWORD +- ) { +- word->o_assignment = NOT_ASSIGNMENT; +- } else { +- if (word->o_assignment == DEFINITELY_ASSIGNMENT) +- command->assignment_cnt++; +- word->o_assignment = MAYBE_ASSIGNMENT; +- } +- + #if HAS_KEYWORDS + # if ENABLE_HUSH_CASE + if (ctx->ctx_dsemicolon +@@ -3065,8 +3063,9 @@ static int done_word(o_string *word, str + && ctx->ctx_res_w != RES_CASE + # endif + ) { +- debug_printf_parse("checking '%s' for reserved-ness\n", word->data); +- if (reserved_word(word, ctx)) { ++ int reserved = reserved_word(word, ctx); ++ debug_printf_parse("checking for reserved-ness: %d\n", reserved); ++ if (reserved) { + o_reset_to_empty_unquoted(word); + debug_printf_parse("done_word return %d\n", + (ctx->ctx_res_w == RES_SNTX)); +@@ -3087,6 +3086,23 @@ static int done_word(o_string *word, str + "groups and arglists don't mix\n"); + return 1; + } ++ ++ /* If this word wasn't an assignment, next ones definitely ++ * can't be assignments. Even if they look like ones. */ ++ if (word->o_assignment != DEFINITELY_ASSIGNMENT ++ && word->o_assignment != WORD_IS_KEYWORD ++ ) { ++ word->o_assignment = NOT_ASSIGNMENT; ++ } else { ++ if (word->o_assignment == DEFINITELY_ASSIGNMENT) { ++ command->assignment_cnt++; ++ debug_printf_parse("++assignment_cnt=%d\n", command->assignment_cnt); ++ } ++ debug_printf_parse("word->o_assignment was:'%s'\n", assignment_flag[word->o_assignment]); ++ word->o_assignment = MAYBE_ASSIGNMENT; ++ } ++ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]); ++ + if (word->has_quoted_part + /* optimization: and if it's ("" or '') or ($v... or `cmd`...): */ + && (word->data[0] == '\0' || word->data[0] == SPECIAL_VAR_SYMBOL) +@@ -4105,6 +4121,7 @@ static struct pipe *parse_stream(char ** + && is_well_formed_var_name(dest.data, '=') + ) { + dest.o_assignment = DEFINITELY_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + } + continue; + } +@@ -4154,6 +4171,7 @@ static struct pipe *parse_stream(char ** + heredoc_cnt = 0; + } + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + ch = ';'; + /* note: if (is_blank) continue; + * will still trigger for us */ +@@ -4203,6 +4221,7 @@ static struct pipe *parse_stream(char ** + } + done_pipe(&ctx, PIPE_SEQ); + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + /* Do we sit outside of any if's, loops or case's? */ + if (!HAS_KEYWORDS + IF_HAS_KEYWORDS(|| (ctx.ctx_res_w == RES_NONE && ctx.old_flag == 0)) +@@ -4309,6 +4328,7 @@ static struct pipe *parse_stream(char ** + /* ch is a special char and thus this word + * cannot be an assignment */ + dest.o_assignment = NOT_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + } + + /* Note: nommu_addchr(&ctx.as_string, ch) is already done */ +@@ -4406,6 +4426,7 @@ static struct pipe *parse_stream(char ** + /* We just finished a cmd. New one may start + * with an assignment */ + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + break; + case '&': + if (done_word(&dest, &ctx)) { diff --git a/packages/sysutils/diskdev_cmds/meta b/packages/sysutils/diskdev_cmds/meta index 18d4e8e28f..f4bf1c3449 100644 --- a/packages/sysutils/diskdev_cmds/meta +++ b/packages/sysutils/diskdev_cmds/meta @@ -25,8 +25,8 @@ PKG_ARCH="any" PKG_LICENSE="APSL" PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/" PKG_URL="http://src.gnu-darwin.org/DarwinSourceArchive/apsl/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain" +PKG_DEPENDS="openssl" +PKG_BUILD_DEPENDS="toolchain openssl" PKG_PRIORITY="optional" PKG_SECTION="system" PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities" diff --git a/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules new file mode 100644 index 0000000000..961dcc02da --- /dev/null +++ b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules @@ -0,0 +1,29 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +#      Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +SUBSYSTEM!="block", GOTO="end" +ACTION!="add", GOTO="end" + +ACTION=="add", IMPORT{program}="/sbin/blkid -o udev -p %N" +ACTION=="add", ENV{ID_FS_TYPE}=="hfs|hfsplus", RUN+="/usr/sbin/fsck.hfsplus -r -y /dev/%k" + +# exit +LABEL="end" diff --git a/packages/sysutils/grep/meta b/packages/sysutils/grep/meta index 6eaeac3b9b..d7bbcca4d2 100644 --- a/packages/sysutils/grep/meta +++ b/packages/sysutils/grep/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="grep" -PKG_VERSION="2.7" +PKG_VERSION="2.8" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/sysutils/udev/build b/packages/sysutils/udev/build index a696948f63..e73ec438e8 100755 --- a/packages/sysutils/udev/build +++ b/packages/sysutils/udev/build @@ -42,12 +42,19 @@ LDFLAGS="$LDFLAGS -I$SYSROOT_PREFIX/usr/include/glib-2.0" \ --disable-gtk-doc-pdf \ --disable-debug \ --disable-logging \ - --enable-extras \ + --disable-rule_generator \ + --disable-hwdb \ + --disable-udev_acl \ + --enable-gudev \ + --disable-introspection \ + --disable-keymap \ + --disable-floppy \ + --disable-edd \ + --disable-action_modeswitch \ --without-selinux \ --without-systemdsystemunitdir \ --with-firmware-path=/lib/firmware \ --with-pci-ids-path=/usr/share/pci.ids \ - --disable-introspection \ --with-gnu-ld \ make diff --git a/packages/sysutils/udev/install b/packages/sysutils/udev/install index 9a9f827f4f..1140f2c62a 100755 --- a/packages/sysutils/udev/install +++ b/packages/sysutils/udev/install @@ -42,45 +42,26 @@ mkdir -p $INSTALL/usr/lib rm -rf $INSTALL/usr/lib/libgudev*.*T mkdir -p $INSTALL/lib/udev -# cp $PKG_BUILD/extras/floppy/create_floppy_devices $INSTALL/lib/udev - cp $PKG_BUILD/extras/firmware/firmware $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/rule_generator.functions $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/write_cd_rules $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/write_net_rules $INSTALL/lib/udev - chmod +x $INSTALL/lib/udev/write_*_rules -# cp $PKG_BUILD/extras/keymap/keymap $INSTALL/lib/udev -# cp $PKG_BUILD/extras/keymap/keyboard-force-release.sh $INSTALL/lib/udev -# chmod +x $INSTALL/lib/udev/keyboard-force-release.sh -# cp -R $PKG_BUILD/extras/keymap/keymaps $INSTALL/lib/udev -# cp -R $PKG_BUILD/extras/keymap/force-release-maps $INSTALL/lib/udev/keymaps/force-release - - for i in ata_id cdrom_id collect edd_id path_id scsi_id usb_id v4l_id; do + for i in ata_id cdrom_id collect firmware input_id mtd_probe path_id scsi_id usb_id v4l_id; do cp $PKG_BUILD/extras/$i/$i $INSTALL/lib/udev done - cp $PKG_BUILD/extras/input_id/input_id $INSTALL/lib/udev - cp $PKG_BUILD/extras/usb-db/usb-db $INSTALL/lib/udev - cp $PKG_BUILD/extras/usb-db/pci-db $INSTALL/lib/udev mkdir -p $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/cdrom_id/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/edd_id/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/firmware/*.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/extras/keymap/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/rule_generator/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/v4l_id/*.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/packages/40-alsa.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/firmware/50-firmware.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/50-udev-default.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/cdrom_id/60-cdrom_id.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-alsa.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-input.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-serial.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/75-net-description.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/75-tty-description.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/78-sound-card.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-storage.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/v4l_id/60-persistent-v4l.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/mtd_probe/75-probe_mtd.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/80-drivers.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/95-udev-late.rules $INSTALL/lib/udev/rules.d +mkdir -p $INSTALL/lib/udev/devices + mkdir -p $INSTALL/etc/udev cp $PKG_BUILD/udev.conf $INSTALL/etc/udev ln -sf /dev/rules.d $INSTALL/etc/udev/rules.d diff --git a/packages/sysutils/udev/meta b/packages/sysutils/udev/meta index 0b5f0701bf..094b9a00e8 100644 --- a/packages/sysutils/udev/meta +++ b/packages/sysutils/udev/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="udev" -PKG_VERSION="168" +PKG_VERSION="170" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch b/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch deleted file mode 100644 index 882f1a316e..0000000000 --- a/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff -Naur udev-168/configure.ac udev-168.patch/configure.ac ---- udev-168/configure.ac 2011-03-30 16:03:44.000000000 +0200 -+++ udev-168.patch/configure.ac 2011-04-27 13:24:35.164449392 +0200 -@@ -86,9 +86,6 @@ - AC_SUBST([GLIB_CFLAGS]) - AC_SUBST([GLIB_LIBS]) - -- AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found])) -- AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found])) -- - PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12) - AC_SUBST(LIBUSB_CFLAGS) - AC_SUBST(LIBUSB_LIBS) -diff -Naur udev-168/Makefile.am udev-168.patch/Makefile.am ---- udev-168/Makefile.am 2011-04-13 18:21:34.000000000 +0200 -+++ udev-168.patch/Makefile.am 2011-04-27 13:25:23.987426115 +0200 -@@ -473,21 +473,6 @@ - libexec_PROGRAMS += extras/hid2hci/hid2hci - - # ------------------------------------------------------------------------------ --# udev_acl - apply ACLs for users with local forground sessions --# ------------------------------------------------------------------------------ --extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c --extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) --extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS) --dist_udevrules_DATA += extras/udev-acl/70-acl.rules --libexec_PROGRAMS += extras/udev-acl/udev-acl -- --udevacl-install-hook: -- mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d -- ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck -- --INSTALL_EXEC_HOOKS += udevacl-install-hook -- --# ------------------------------------------------------------------------------ - # usb-db - read USB vendor/device string database - # ------------------------------------------------------------------------------ - extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c -@@ -534,111 +519,6 @@ - - libexec_PROGRAMS += extras/mtd_probe/mtd_probe - -- --# ------------------------------------------------------------------------------ --# keymap - map custom hardware's multimedia keys --# ------------------------------------------------------------------------------ --extras_keymap_keymap_SOURCES = extras/keymap/keymap.c --extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap --nodist_extras_keymap_keymap_SOURCES = \ -- extras/keymap/keys-from-name.h \ -- extras/keymap/keys-to-name.h --BUILT_SOURCES += $(nodist_extras_keymap_keymap_SOURCES) -- --EXTRA_DIST += extras/keymap/check-keymaps.sh --dist_udevrules_DATA += extras/keymap/95-keymap.rules --dist_udevrules_DATA += extras/keymap/95-keyboard-force-release.rules --libexec_PROGRAMS += extras/keymap/keymap --dist_libexec_SCRIPTS += extras/keymap/findkeyboards --dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh --dist_doc_DATA = extras/keymap/README.keymap.txt -- --CLEANFILES += \ -- extras/keymap/keys.txt \ -- extras/keymap/keys-from-name.gperf -- --udevkeymapdir = $(libexecdir)/keymaps --dist_udevkeymap_DATA = \ -- extras/keymap/keymaps/acer \ -- extras/keymap/keymaps/acer-aspire_5720 \ -- extras/keymap/keymaps/acer-aspire_8930 \ -- extras/keymap/keymaps/acer-aspire_5920g \ -- extras/keymap/keymaps/acer-aspire_6920 \ -- extras/keymap/keymaps/acer-travelmate_c300 \ -- extras/keymap/keymaps/asus \ -- extras/keymap/keymaps/compaq-e_evo \ -- extras/keymap/keymaps/dell \ -- extras/keymap/keymaps/dell-latitude-xt2 \ -- extras/keymap/keymaps/everex-xt5000 \ -- extras/keymap/keymaps/fujitsu-amilo_pa_2548 \ -- extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \ -- extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \ -- extras/keymap/keymaps/fujitsu-amilo_si_1520 \ -- extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \ -- extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \ -- extras/keymap/keymaps/hewlett-packard \ -- extras/keymap/keymaps/hewlett-packard-2510p_2530p \ -- extras/keymap/keymaps/hewlett-packard-compaq_elitebook \ -- extras/keymap/keymaps/hewlett-packard-pavilion \ -- extras/keymap/keymaps/hewlett-packard-presario-2100 \ -- extras/keymap/keymaps/hewlett-packard-tablet \ -- extras/keymap/keymaps/hewlett-packard-tx2 \ -- extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ -- extras/keymap/keymaps/inventec-symphony_6.0_7.0 \ -- extras/keymap/keymaps/lenovo-3000 \ -- extras/keymap/keymaps/lenovo-ideapad \ -- extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \ -- extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \ -- extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \ -- extras/keymap/keymaps/lg-x110 \ -- extras/keymap/keymaps/logitech-wave \ -- extras/keymap/keymaps/logitech-wave-cordless \ -- extras/keymap/keymaps/logitech-wave-pro-cordless \ -- extras/keymap/keymaps/maxdata-pro_7000 \ -- extras/keymap/keymaps/medion-fid2060 \ -- extras/keymap/keymaps/medionnb-a555 \ -- extras/keymap/keymaps/micro-star \ -- extras/keymap/keymaps/module-asus-w3j \ -- extras/keymap/keymaps/module-ibm \ -- extras/keymap/keymaps/module-lenovo \ -- extras/keymap/keymaps/module-sony \ -- extras/keymap/keymaps/module-sony-old \ -- extras/keymap/keymaps/module-sony-vgn \ -- extras/keymap/keymaps/olpc-xo \ -- extras/keymap/keymaps/onkyo \ -- extras/keymap/keymaps/oqo-model2 \ -- extras/keymap/keymaps/samsung-other \ -- extras/keymap/keymaps/samsung-sq1us \ -- extras/keymap/keymaps/samsung-sx20s \ -- extras/keymap/keymaps/toshiba-satellite_a100 \ -- extras/keymap/keymaps/toshiba-satellite_a110 \ -- extras/keymap/keymaps/toshiba-satellite_m30x \ -- extras/keymap/keymaps/zepto-znote -- --udevkeymapforcereldir = $(libexecdir)/keymaps/force-release --dist_udevkeymapforcerel_DATA = \ -- extras/keymap/force-release-maps/dell-touchpad \ -- extras/keymap/force-release-maps/hp-other \ -- extras/keymap/force-release-maps/samsung-other \ -- extras/keymap/force-release-maps/common-volume-keys -- --extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h -- $(AM_V_at)mkdir -p extras/keymap -- $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ -- --extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@ -- --extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile -- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@ -- --extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ -- --keymaps-distcheck-hook: extras/keymap/keys.txt -- $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^ --DISTCHECK_HOOKS += keymaps-distcheck-hook -- - endif # ENABLE_EXTRAS - - # ------------------------------------------------------------------------------ diff --git a/packages/sysutils/busybox-initramfs/install b/packages/toolchain/archivers/cpio/build similarity index 84% rename from packages/sysutils/busybox-initramfs/install rename to packages/toolchain/archivers/cpio/build index e463324635..a7263ddde3 100755 --- a/packages/sysutils/busybox-initramfs/install +++ b/packages/toolchain/archivers/cpio/build @@ -22,11 +22,10 @@ . config/options $1 -$SCRIPTS/unpack linux -$SCRIPTS/install plymouth-lite +setup_toolchain host - mkdir -p $INSTALL - cp -PR $BUILD/busybox*/_install-initramfs/* $INSTALL - chmod 4755 $INSTALL/bin/busybox +cd $PKG_BUILD +./configure --prefix=$ROOT/$TOOLCHAIN - cp $PKG_DIR/scripts/init $INSTALL +make +make install diff --git a/packages/toolchain/archivers/cpio/meta b/packages/toolchain/archivers/cpio/meta new file mode 100644 index 0000000000..9e69b6e1bd --- /dev/null +++ b/packages/toolchain/archivers/cpio/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="cpio" +PKG_VERSION="2.11" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.gnu.org/software/cpio/cpio.html" +PKG_URL="http://ftp.gnu.org/gnu/cpio/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="compress" +PKG_SHORTDESC="cpio: A GNU archiving program" +PKG_LONGDESC="This is GNU cpio, a program to manage archives of files. As of version 2.0, it supports the features of the System V release 4 cpio, including support for tar archives." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/toolchain/devel/bison/meta b/packages/toolchain/devel/bison/meta index e289f8b190..b6ac522ee0 100644 --- a/packages/toolchain/devel/bison/meta +++ b/packages/toolchain/devel/bison/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bison" -PKG_VERSION="2.4.3" +PKG_VERSION="2.5" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/toolchain/devel/eglibc/build b/packages/toolchain/devel/eglibc/build index 2b3a252ce3..941fdb30e7 100755 --- a/packages/toolchain/devel/eglibc/build +++ b/packages/toolchain/devel/eglibc/build @@ -62,7 +62,9 @@ cat >option-groups.config <(sizeof(szBuffer)-1)) wLength = sizeof(szBuffer)-1; +- szBuffer[wLength]='\0'; +- +- BootVideoChunkedPrint(szBuffer); +- return wLength; ++ return 0; + } + + int console_putchar(int c) diff --git a/packages/x11/driver/xf86-video-fglrx/install b/packages/x11/driver/xf86-video-fglrx/install index 936972d4f8..24039c8dae 100755 --- a/packages/x11/driver/xf86-video-fglrx/install +++ b/packages/x11/driver/xf86-video-fglrx/install @@ -53,7 +53,8 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions/fglrx - cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/*.so $INSTALL/$XORG_PATH_MODULES/extensions/fglrx + # rename to not conflicting with Mesa libGL.so + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL/$XORG_PATH_MODULES/extensions/libglx_fglrx.so mkdir -p $INSTALL/$XORG_PATH_MODULES/linux cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL/$XORG_PATH_MODULES/linux @@ -61,27 +62,29 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/linux mkdir -p $INSTALL/etc/X11 cp $PKG_DIR/config/*.conf $INSTALL/etc/X11 +mkdir -p $INSTALL/etc/ati + cp $PKG_BUILD/common/etc/ati/amdpcsdb.default $INSTALL/etc/ati + # DRI driver mkdir -p $INSTALL/usr/lib/dri cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL/usr/lib/dri -# Ati's libGL has an hardcoded location for DRI modules -mkdir -p $INSTALL/usr/X11R6/$LIBDIR/modules/ - ln -sf /usr/lib/dri $INSTALL/usr/X11R6/$LIBDIR/modules/dri - # OpenGL libs -mkdir -p $INSTALL/usr/lib/fglrx - cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/fglrx +mkdir -p $INSTALL/usr/lib + # rename to not conflicting with Mesa libGL.so + cp -P $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/libGL_fglrx.so.1 # System Libs mkdir -p $INSTALL/usr/lib - cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so* $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL/usr/lib/libatiuki.so.1 cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL/usr/lib cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL/usr/lib if [ "$VAAPI" = yes ]; then $SCRIPTS/install libva - cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/lib*XvBA*.so* $INSTALL/usr/lib cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL/usr/lib/libAMDXvBA.so.1 + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL/usr/lib/libXvBAW.so.1 fi diff --git a/packages/x11/driver/xf86-video-fglrx/meta b/packages/x11/driver/xf86-video-fglrx/meta index 113af40387..e69ff80a5a 100644 --- a/packages/x11/driver/xf86-video-fglrx/meta +++ b/packages/x11/driver/xf86-video-fglrx/meta @@ -25,8 +25,8 @@ PKG_ARCH="i386 x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.ati.com/" PKG_URL="http://www2.ati.com/drivers/linux/ati-driver-installer-`echo $PKG_VERSION | sed 's/\./-/'`-x86.x86_64.run" -PKG_DEPENDS="linux" -PKG_BUILD_DEPENDS="toolchain util-macros libX11" +PKG_DEPENDS="linux libX11 libXinerama libXcomposite" +PKG_BUILD_DEPENDS="toolchain util-macros libX11 libXinerama libXcomposite" PKG_PRIORITY="optional" PKG_SECTION="x11/driver" PKG_SHORTDESC="xf86-video-fglrx: ATI binary Xorg driver" diff --git a/packages/x11/driver/xf86-video-nvidia/meta b/packages/x11/driver/xf86-video-nvidia/meta index ed1328ae18..136c91789c 100644 --- a/packages/x11/driver/xf86-video-nvidia/meta +++ b/packages/x11/driver/xf86-video-nvidia/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xf86-video-nvidia" -PKG_VERSION="270.41.06" +PKG_VERSION="270.41.19" PKG_REV="1" PKG_ARCH="i386 x86_64" PKG_LICENSE="nonfree" diff --git a/packages/x11/lib/libXcomposite/build b/packages/x11/lib/libXcomposite/build new file mode 100755 index 0000000000..ad1aeb8196 --- /dev/null +++ b/packages/x11/lib/libXcomposite/build @@ -0,0 +1,35 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --enable-shared \ + +make +$MAKEINSTALL diff --git a/packages/x11/lib/libXcomposite/install b/packages/x11/lib/libXcomposite/install new file mode 100755 index 0000000000..ce5da2b5d3 --- /dev/null +++ b/packages/x11/lib/libXcomposite/install @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/src/.libs/libXcomposite.so* $INSTALL/usr/lib diff --git a/packages/x11/lib/libXcomposite/meta b/packages/x11/lib/libXcomposite/meta new file mode 100644 index 0000000000..323cc8e9e1 --- /dev/null +++ b/packages/x11/lib/libXcomposite/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libXcomposite" +PKG_VERSION="0.4.3" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="libXfixes libXext libX11" +PKG_BUILD_DEPENDS="toolchain util-macros compositeproto fixesproto libXfixes libXext libX11" +PKG_PRIORITY="optional" +PKG_SECTION="x11/lib" +PKG_SHORTDESC="libxcomposite: X Composite Library" +PKG_LONGDESC="X Composite Library" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" diff --git a/packages/x11/proto/compositeproto/build b/packages/x11/proto/compositeproto/build new file mode 100755 index 0000000000..c7c3a8c110 --- /dev/null +++ b/packages/x11/proto/compositeproto/build @@ -0,0 +1,33 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + +make +$MAKEINSTALL diff --git a/packages/x11/proto/compositeproto/meta b/packages/x11/proto/compositeproto/meta new file mode 100644 index 0000000000..9d782e4c93 --- /dev/null +++ b/packages/x11/proto/compositeproto/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# 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, 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 OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="compositeproto" +PKG_VERSION="0.4.2" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="http://xorg.freedesktop.org/archive/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain util-macros" +PKG_PRIORITY="optional" +PKG_SECTION="x11/proto" +PKG_SHORTDESC="compositeproto: Composite extension headers" +PKG_LONGDESC="Composite extension headers" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index 926a10c2fb..ef9ee2e7be 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -26,6 +26,12 @@ XORG_SRC="$PKG_BUILD/hw/xfree86" get_graphicdrivers +if [ "$COMPOSITE_SUPPORT" = "yes" ]; then + XORG_COMPOSITE="--enable-composite" +else + XORG_COMPOSITE="--disable-composite" +fi + if [ "$XINERAMA_SUPPORT" = "yes" ]; then XORG_XINERAMA="--enable-xinerama" else @@ -57,7 +63,7 @@ cd $PKG_BUILD --enable-aiglx \ --enable-glx-tls \ --enable-registry \ - --disable-composite \ + $XORG_COMPOSITE \ $XORG_XINERAMA \ --enable-mitshm \ --disable-xres \ @@ -112,4 +118,4 @@ cd $PKG_BUILD --with-default-font-path="/usr/share/fonts/misc,built-ins" \ make -$MAKEINSTALL \ No newline at end of file +$MAKEINSTALL diff --git a/packages/x11/xserver/xorg-server/meta b/packages/x11/xserver/xorg-server/meta index d04e16feef..402cdba575 100644 --- a/packages/x11/xserver/xorg-server/meta +++ b/packages/x11/xserver/xorg-server/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xorg-server" -PKG_VERSION="1.10.1.901" +PKG_VERSION="1.10.1.902" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="OSS" @@ -36,6 +36,11 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="yes" get_graphicdrivers +if [ "$COMPOSITE_SUPPORT" = "yes" ]; then + PKG_DEPENDS="$PKG_DEPENDS libXcomposite" + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXcomposite" +fi + if [ "$XINERAMA_SUPPORT" = "yes" ]; then PKG_DEPENDS="$PKG_DEPENDS libXinerama" PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXinerama" diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-05_pkg_config.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-05_pkg_config.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-10_cache_xkbcomp_output_for_fast_start_up.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-10_cache_xkbcomp_output_for_fast_start_up.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-11_use_sloppy_heuristic_first_for_initial_mode.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-11_use_sloppy_heuristic_first_for_initial_mode.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-13_nouveau.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-13_nouveau.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-14_nvidia_fglrx_autodetect.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-14_nvidia_fglrx_autodetect.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-20_extra_modelines_fromxorg.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-20_extra_modelines_fromxorg.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-21_x11_nonroot-vesa.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-21_x11_nonroot-vesa.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-22_do_not_zap_xserver.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-22_do_not_zap_xserver.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-25_less_acpi_brokenness.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-25_less_acpi_brokenness.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch diff --git a/packages/x11/xserver/xorg-server/scripts/xorg_start b/packages/x11/xserver/xorg-server/scripts/xorg_start index cb011c4e1f..8d38758750 100755 --- a/packages/x11/xserver/xorg-server/scripts/xorg_start +++ b/packages/x11/xserver/xorg-server/scripts/xorg_start @@ -72,6 +72,9 @@ if [ "$RUNLEVEL" = openelec ]; then ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so XORG_ARGS="$XORG_ARGS -ignoreABI" + elif [ "${xorg_driver}" = "fglrx" ]; then + ln -sf /usr/lib/libGL_fglrx.so.1 /var/lib/libGL.so + ln -sf /usr/lib/xorg/modules/extensions/libglx_fglrx.so /var/lib/libglx.so else ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so diff --git a/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules b/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules index 2ca8124078..ebc76a2736 100644 --- a/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules +++ b/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules @@ -27,16 +27,17 @@ GOTO="end_video" # check for drivers dont use the pci substem LABEL="subsystem_drivers" -KERNEL=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" +KERNEL=="fglrx_pci", ENV{xorg_driver}="fglrx", GOTO="start_xorg" +KERNEL=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" GOTO="end_video" # check for drivers using the pci substem LABEL="subsystem_pci" -DRIVER=="i915", ENV{xorg_driver}="i915", GOTO="start_xorg" -DRIVER=="nouveau", ENV{xorg_driver}="nouveau", GOTO="start_xorg" -#DRIVER=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" -DRIVER=="radeon", ENV{xorg_driver}="radeon", GOTO="start_xorg" -DRIVER=="vmware", ENV{xorg_driver}="vmware", GOTO="start_xorg" +DRIVER=="i915", ENV{xorg_driver}="i915", GOTO="start_xorg" +DRIVER=="nouveau", ENV{xorg_driver}="nouveau", GOTO="start_xorg" +#DRIVER=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" +DRIVER=="radeon", ENV{xorg_driver}="radeon", GOTO="start_xorg" +DRIVER=="vmware", ENV{xorg_driver}="vmware", GOTO="start_xorg" GOTO="end_video" # start Xorg diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 0bfc9bbf42..1a3c51743a 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -412,7 +412,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 # CONFIG_HOTPLUG_CPU is not set # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set # @@ -1342,6 +1342,7 @@ CONFIG_IR_RC5_SZ_DECODER=y # CONFIG_IR_IMON is not set CONFIG_IR_MCEUSB=m # CONFIG_IR_ITE_CIR is not set +# CONFIG_IR_FINTEK is not set # CONFIG_IR_NUVOTON is not set # CONFIG_IR_STREAMZAP is not set # CONFIG_IR_WINBOND_CIR is not set diff --git a/projects/ATV/options b/projects/ATV/options index be2206c1b2..74a5d386a3 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -77,8 +77,8 @@ # Project CFLAGS PROJECT_CFLAGS="" -# Bootloader to use (syslinux / u-boot) - BOOTLOADER="" +# Bootloader to use (syslinux / u-boot / atv-bootloader) + BOOTLOADER="atv-bootloader" # Configuration for u-boot UBOOT_CONFIG="" diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 85bb785bc7..9d97e7cd78 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -402,7 +402,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -426,7 +426,6 @@ CONFIG_ACPI_SLEEP=y CONFIG_ACPI_AC=y # CONFIG_ACPI_BATTERY is not set CONFIG_ACPI_BUTTON=y -# CONFIG_ACPI_VIDEO is not set CONFIG_ACPI_FAN=y # CONFIG_ACPI_DOCK is not set CONFIG_ACPI_PROCESSOR=y @@ -1239,7 +1238,6 @@ CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # CONFIG_I2C_MUX is not set CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=y # # I2C Hardware Bus support @@ -1507,6 +1505,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m # CONFIG_IR_ITE_CIR is not set +CONFIG_IR_FINTEK=m # CONFIG_IR_NUVOTON is not set CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m @@ -1715,9 +1714,9 @@ CONFIG_DVB_TDA665x=y # CONFIG_AGP=y # CONFIG_AGP_ALI is not set -CONFIG_AGP_ATI=y -CONFIG_AGP_AMD=y -CONFIG_AGP_AMD64=y +# CONFIG_AGP_ATI is not set +# CONFIG_AGP_AMD is not set +# CONFIG_AGP_AMD64 is not set # CONFIG_AGP_INTEL is not set # CONFIG_AGP_NVIDIA is not set # CONFIG_AGP_SIS is not set @@ -1727,24 +1726,14 @@ CONFIG_AGP_AMD64=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_VGA_SWITCHEROO is not set -CONFIG_DRM=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_TTM=y -# CONFIG_DRM_TDFX is not set -# CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=y -CONFIG_DRM_RADEON_KMS=y -# CONFIG_DRM_MGA is not set -# CONFIG_DRM_SIS is not set -# CONFIG_DRM_VIA is not set -# CONFIG_DRM_SAVAGE is not set +# CONFIG_DRM is not set # CONFIG_STUB_POULSBO 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_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y @@ -1771,7 +1760,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set -# CONFIG_FB_VESA is not set +CONFIG_FB_VESA=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set @@ -1802,7 +1791,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y # # Display device support @@ -2304,14 +2292,6 @@ CONFIG_R8712_AP=y # CONFIG_POHMELFS is not set # CONFIG_IDE_PHISON is not set # CONFIG_LINE6_USB 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 @@ -2347,45 +2327,33 @@ CONFIG_MACH_NO_WESTBRIDGE=y # # CONFIG_SPEAKUP is not set # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set -# CONFIG_DRM_PSB is not set # # Altera FPGA firmware download module # # CONFIG_ALTERA_STAPL is not set CONFIG_X86_PLATFORM_DEVICES=y -# CONFIG_ACER_WMI is not set # CONFIG_ACERHDF is not set # CONFIG_ASUS_LAPTOP is not set # CONFIG_DELL_WMI is not set # CONFIG_DELL_WMI_AIO is not set -# CONFIG_FUJITSU_LAPTOP is not set # CONFIG_TC1100_WMI is not set # CONFIG_HP_ACCEL is not set # CONFIG_HP_WMI is not set -# CONFIG_MSI_LAPTOP is not set -# CONFIG_PANASONIC_LAPTOP is not set -# CONFIG_COMPAL_LAPTOP is not set # CONFIG_SONY_LAPTOP is not set # CONFIG_IDEAPAD_LAPTOP is not set # CONFIG_THINKPAD_ACPI is not set # CONFIG_SENSORS_HDAPS is not set # CONFIG_INTEL_MENLOW is not set # CONFIG_EEEPC_LAPTOP is not set -CONFIG_ASUS_WMI=m -# CONFIG_ASUS_NB_WMI is not set -CONFIG_EEEPC_WMI=m CONFIG_ACPI_WMI=m -# CONFIG_MSI_WMI is not set # CONFIG_ACPI_ASUS is not set # CONFIG_TOPSTAR_LAPTOP is not set -# CONFIG_ACPI_TOSHIBA is not set # CONFIG_TOSHIBA_BT_RFKILL is not set # CONFIG_ACPI_CMPC is not set # CONFIG_INTEL_IPS is not set # CONFIG_IBM_RTL is not set # CONFIG_XO15_EBOOK is not set -# CONFIG_SAMSUNG_LAPTOP is not set # # Firmware Drivers diff --git a/projects/Fusion/options b/projects/Fusion/options index f702d33622..4a1cbca68c 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mfpmath=sse -ftree-vectorize -mmovbe" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 57c43965bd..ea4c0e8707 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -404,7 +404,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -1686,6 +1686,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m @@ -1900,7 +1901,7 @@ CONFIG_DVB_TDA665x=y # CONFIG_AGP=y # CONFIG_AGP_ALI is not set -CONFIG_AGP_ATI=y +# CONFIG_AGP_ATI is not set # CONFIG_AGP_AMD is not set # CONFIG_AGP_AMD64 is not set CONFIG_AGP_INTEL=y @@ -1917,8 +1918,7 @@ CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_TTM=y # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=y -CONFIG_DRM_RADEON_KMS=y +# CONFIG_DRM_RADEON is not set CONFIG_DRM_I915=y CONFIG_DRM_I915_KMS=y # CONFIG_DRM_MGA is not set diff --git a/projects/Generic/options b/projects/Generic/options index 1cf8cd1e3b..4fa55867f9 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot @@ -169,8 +169,8 @@ # Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nvidia,nouveau,vmware) # Space separated list is supported, -# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" - GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nvidia vmware" +# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 nvidia nouveau" + GRAPHIC_DRIVERS="i915 i965 fglrx nvidia vmware" # use libdrm-master (latest git) instead latest released version LIBDRM_MASTER="no" diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index 84815d2e6b..a4c4da82f6 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -399,7 +399,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -1529,6 +1529,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index deb5173dfc..e698c68dbf 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/x86_64 2.6.39-rc7 Kernel Configuration +# Linux/x86_64 2.6.39 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -362,7 +362,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -1472,6 +1472,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/ION/options b/projects/ION/options index 9c1a48e438..d3820aae69 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mfpmath=sse -ftree-vectorize -mmovbe" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index 8f7b7c4747..1dc950dbe1 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -400,7 +400,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -1505,6 +1505,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index 34d69ed0d4..57938bdd26 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/x86_64 2.6.39-rc7 Kernel Configuration +# Linux/x86_64 2.6.39 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -364,7 +364,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y @@ -1450,6 +1450,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/Intel/options b/projects/Intel/options index cbdaa26ecf..f3be9d65d2 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/scripts/image_squashfs b/scripts/image_squashfs index abf205f707..57cfac61c5 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -30,10 +30,10 @@ $SCRIPTS/image $SCRIPTS/build squashfs $SCRIPTS/build fakeroot -get_version - mkdir -p $TARGET_IMG rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + if [ "$BOOTLOADER" = "u-boot" ]; then KERNEL_IMAGE="uImage" else @@ -48,9 +48,15 @@ mkdir -p $TARGET_IMG cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + if [ "$BOOTLOADER" = "atv-bootloader" ]; then + cp -PR $BUILD/atv-bootloader-*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + fi + echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT # echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend -comp xz" >> $FAKEROOT_SCRIPT echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT $ROOT/$TOOLCHAIN/bin/fakeroot -- $FAKEROOT_SCRIPT chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system + chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel rm -rf $FAKEROOT_SCRIPT