diff options
-rw-r--r-- | system/tp_smapi/README | 5 | ||||
-rw-r--r-- | system/tp_smapi/README.SLACKWARE | 21 | ||||
-rw-r--r-- | system/tp_smapi/doinst.sh | 2 | ||||
-rw-r--r-- | system/tp_smapi/modprobe.thinkpad_ec | 3 | ||||
-rw-r--r-- | system/tp_smapi/modprobe.tp_smapi | 2 | ||||
-rw-r--r-- | system/tp_smapi/slack-desc | 19 | ||||
-rw-r--r-- | system/tp_smapi/tp_smapi.SlackBuild | 90 | ||||
-rw-r--r-- | system/tp_smapi/tp_smapi.info | 8 |
8 files changed, 150 insertions, 0 deletions
diff --git a/system/tp_smapi/README b/system/tp_smapi/README new file mode 100644 index 0000000000..f9b6b722bc --- /dev/null +++ b/system/tp_smapi/README @@ -0,0 +1,5 @@ +tp_smapi (SMAPI BIOS access for ThinkPad Laptops) + +ThinkPad laptops include a proprietary interface called SMAPI BIOS +(System Management Application Program Interface) which provides some +hardware control functionality that is not accessible by other means. diff --git a/system/tp_smapi/README.SLACKWARE b/system/tp_smapi/README.SLACKWARE new file mode 100644 index 0000000000..5763f2ea83 --- /dev/null +++ b/system/tp_smapi/README.SLACKWARE @@ -0,0 +1,21 @@ +tp_smapi README.SLACKWARE + +=============================================================================== + +WARNING: +This driver uses undocumented features and direct hardware access. +It thus cannot be guaranteed to work, and may cause arbitrary damage +(especially on models it wasn't tested on). + +=============================================================================== + +This package will overwrite the stock hdaps module in Slackware's default +kernel-modules package, so if you remove this package and still need to use +the hdaps module, you'll need to reinstall the kernel-modules package. + +Its highly recommended to read this sections in www.thinkwiki.org +http://www.thinkwiki.org/wiki/Tp_smapi +http://www.thinkwiki.org/wiki/Talk:Tp_smapi + +=============================================================================== + diff --git a/system/tp_smapi/doinst.sh b/system/tp_smapi/doinst.sh new file mode 100644 index 0000000000..f61efdf685 --- /dev/null +++ b/system/tp_smapi/doinst.sh @@ -0,0 +1,2 @@ +chroot . /sbin/depmod -a + diff --git a/system/tp_smapi/modprobe.thinkpad_ec b/system/tp_smapi/modprobe.thinkpad_ec new file mode 100644 index 0000000000..6e9b47637e --- /dev/null +++ b/system/tp_smapi/modprobe.thinkpad_ec @@ -0,0 +1,3 @@ +# Force loading of the thinkpad_ec module in case it refuses to do so because +# of reserved ports - this might happen on some newer Thinkpad laptops +options thinkpad_ec force_io=1 diff --git a/system/tp_smapi/modprobe.tp_smapi b/system/tp_smapi/modprobe.tp_smapi new file mode 100644 index 0000000000..98080e9df6 --- /dev/null +++ b/system/tp_smapi/modprobe.tp_smapi @@ -0,0 +1,2 @@ +# Make sure that tp_smapi is always loaded before the hdaps module +install hdaps /sbin/modprobe -i tp_smapi ; /sbin/modprobe -i hdaps diff --git a/system/tp_smapi/slack-desc b/system/tp_smapi/slack-desc new file mode 100644 index 0000000000..0f3b105618 --- /dev/null +++ b/system/tp_smapi/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +tp_smapi: tp_smapi (SMAPI BIOS access for ThinkPad Laptops) +tp_smapi: +tp_smapi: ThinkPad laptops include a proprietary interface called SMAPI BIOS +tp_smapi: (System Management Application Program Interface) which provides some +tp_smapi: hardware control functionality that is not accessible by other means. +tp_smapi: +tp_smapi: WARNING: +tp_smapi: This driver uses undocumented features and direct hardware access. +tp_smapi: It thus cannot be guaranteed to work, and may cause arbitrary damage +tp_smapi: (especially on models it wasn't tested on). +tp_smapi: diff --git a/system/tp_smapi/tp_smapi.SlackBuild b/system/tp_smapi/tp_smapi.SlackBuild new file mode 100644 index 0000000000..5d12f20ae2 --- /dev/null +++ b/system/tp_smapi/tp_smapi.SlackBuild @@ -0,0 +1,90 @@ +#!/bin/sh + +# Slackware build script for tp_smapi + +# Copyright (c) 2008, Antonio Hernández Blas <hba.nihilismus@gmail.com> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# 1.- Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=tp_smapi +VERSION=0.40 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +KERNEL_VERS=${KERNEL_VERS:-"$(uname -r)"} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar -xvf $CWD/$PRGNAM-$VERSION.tgz +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +make HDAPS=1 KVER=$KERNEL_VERS + +mkdir -p $PKG/lib/modules/${KERNEL_VERS}/kernel/drivers/{hwmon,firmware} +install -m 0664 hdaps.ko $PKG/lib/modules/${KERNEL_VERS}/kernel/drivers/hwmon/ +install -m 0664 thinkpad_ec.ko tp_smapi.ko \ + $PKG/lib/modules/${KERNEL_VERS}/kernel/drivers/firmware + +# Make sure the tp_smapi module is loaded before the hdaps module +# Make sure the thinkpad_ec module will load +# We're not going to install these with a .new extension, because we don't +# want them to be present if the package is removed. +mkdir -p $PKG/etc/modprobe.d +cat $CWD/modprobe.tp_smapi > $PKG/etc/modprobe.d/tp_smapi +cat $CWD/modprobe.thinkpad_ec > $PKG/etc/modprobe.d/thinkpad_ec + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGES README TODO $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/system/tp_smapi/tp_smapi.info b/system/tp_smapi/tp_smapi.info new file mode 100644 index 0000000000..eda99ea60e --- /dev/null +++ b/system/tp_smapi/tp_smapi.info @@ -0,0 +1,8 @@ +PRGNAM="tp_smapi" +VERSION="0.40" +HOMEPAGE="http://tpctl.sourceforge.net" +DOWNLOAD="http://downloads.sourceforge.net/tpctl/tp_smapi-0.40.tgz" +MD5SUM="f4eb8bb4d4413a5ae65aa7d77f4112c0" +MAINTAINER="Antonio Hernández Blas" +EMAIL="hba.nihilismus@gmail.com" +APPROVED="rworkman" |