Add app-laptop/easy-slow-down-manager-0.3-r1

This commit is contained in:
Stefan Reimer 2013-10-27 22:55:26 -07:00
parent 49aa11145c
commit 3e4c552508
6 changed files with 288 additions and 0 deletions

View File

@ -0,0 +1,21 @@
# ChangeLog for app-laptop/easy-slow-down-manager
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-laptop/easy-slow-down-manager/ChangeLog,v 1.4 2013/09/25 18:01:24 angelos Exp $
25 Sep 2013; <christoph@gentoo.org> metadata.xml:
Remove myself from metadata since I do not own a Samsung laptop anymore
02 Jul 2013; Vicente Olivert Riera <vincent@gentoo.org>
easy-slow-down-manager-0.3.ebuild:
amd64 x86 stable
13 Jul 2011; Christoph Mende <angelos@gentoo.org>
easy-slow-down-manager-0.3.ebuild,
+files/easy-slow-down-manager-0.3-kv_dir.patch:
Use KV_DIR instead of /lib/modules/KV_FULL/build (bug #374835)
*easy-slow-down-manager-0.3 (22 Jun 2011)
22 Jun 2011; Christoph Mende <angelos@gentoo.org>
+easy-slow-down-manager-0.3.ebuild, +metadata.xml:
Initial import

View File

@ -0,0 +1,6 @@
AUX easy-slow-down-manager-0.3-kernel-3.10-1.patch 6682 SHA256 319d06407fa43bab23b161b3c3c996c34841ef7f559142d8db3ed575cde875ec SHA512 d6e68e444abd956e96fc1542546d38ab62f7f54d81822d468b7695df761c0e3810d12a1d98ca0a71228c80e63bce7d1b198bf7d8c87d49c4f19305aae78ab0e9 WHIRLPOOL 5947a6060950972692224935e11e3b9bf180e730c592fe2d95246d2904ca204e262f569137355e0196735ba234e71b1b44f0b84fffd500c6c6b214e111030703
AUX easy-slow-down-manager-0.3-kv_dir.patch 441 SHA256 05fa50fe4182e4d5b5886994b0be0d5b70d984f9b60614216040620540120ff3 SHA512 bd6b204b597ea0c109d51e016061b5db56a500ea5189ad7bf3f666b18e10989f799e54dfa4318caa618666d9055b325257abb0e39cb89f4862314d4686c45dd5 WHIRLPOOL 62dbf2c7c3fb826f6db6db5570a79357412b9a8d1d8c889dbe5dd71149cc95ba744940230834430391a80ebac2d0cddf5631c946bac34d12edc6d22149683b73
DIST easy-slow-down-manager-0.3.tar.gz 5636 SHA256 c9296226d4e0d41955988d0dbd7f143ff2e06a40744705c78f89f9a51c1c0253 SHA512 9974fb3af48a529f050aa5730988614a91b615e3fd2e5b6edc5b70ac6a1faffb4f4a1423cb634aff671dc7228bb70be8ef150c274bf57895048fae5566aac77a WHIRLPOOL 8820c937e308b940f58fe7c0132394a17b0d6e78844b0b72757f8f8f76c000a548fb291a508b8e803460ba75c745ce045f54541480f25756c976129d64236ff0
EBUILD easy-slow-down-manager-0.3-r1.ebuild 828 SHA256 79e6252e168de071ec12f97a338a46732788f36d6a6f3d6a29d100315b88787f SHA512 5f6c529c4f091d9add11c4c1a2063d03d6901c98621a9fbeddead2ea5bb1eba07099395fb54aea7af1a5a4e261f1251116e5aa77d1e6452e856b4931efb92786 WHIRLPOOL 94658a286d2a487f16fadb31f4f94be839f87bf17c38e18bcfe420cd7f173e461212693badbf9f3232fddd05e420e3651417b36ea06c24a80342fd3fb00a86a8
MISC ChangeLog 853 SHA256 476292ff61f9a4432430790205bba5b11eb45a1e00d3c3d66d4696113739ef75 SHA512 292602e4d292419a726e1a6d60eac541b7608ec24ea760599418f5edd41ac755ee38b09e8a896bb7593c3a069050cd7edcbf4e1c88906e8a298927ca838ca6f6 WHIRLPOOL aff75d4dc6e64988f749356e69f4154d0a71287bc4ad6cbcb79b35ce33551440cbd109b0040c2a0f050298f0b6be55c71a2ba30ac13e7c755d58b64c86fb26d5
MISC metadata.xml 306 SHA256 441074c311e18864e1b86cb36ce57cfb6c5bf929afa9f509e83fd351a24bd5dd SHA512 cde86252f9d1ef4d8490d41f439a2b0d40efe7e38e92b5942cce335a4ef0ced57130ec1f2efb2f77625ba03407cc0fffdb4c807d3da1e32d49e64e71196d4946 WHIRLPOOL 765335da94129ba429fd934a925ff0ed2ca77ef34fb58dee88b1d9b3b38ded1f87bf92f97bce54bcaf52cff09663ba433ccbf9f082d04b12fc62a5ff71eb2dd7

View File

@ -0,0 +1,30 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-laptop/easy-slow-down-manager/easy-slow-down-manager-0.3.ebuild,v 1.3 2013/07/02 21:59:39 vincent Exp $
EAPI=4
inherit eutils linux-mod
DESCRIPTION="provides Linux users with functionality similar to Samsung Easy Speed Up Manager"
HOMEPAGE="http://code.google.com/p/easy-slow-down-manager/"
SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
LICENSE="GPL-1"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
S=${WORKDIR}
BUILD_TARGETS="all"
MODULE_NAMES="samsung-backlight() easy_slow_down_manager()"
src_prepare() {
epatch "${FILESDIR}"/${P}-kv_dir.patch
epatch "${FILESDIR}"/${P}-kernel-3.10-1.patch
}
src_compile() {
BUILD_PARAMS="KERN_DIR=${KV_DIR}"
linux-mod_src_compile
}

View File

@ -0,0 +1,205 @@
diff --git a/easy_slow_down_manager.c b/easy_slow_down_manager.c
index 7b2d1e9..1336557 100644
--- a/easy_slow_down_manager.c
+++ b/easy_slow_down_manager.c
@@ -4,6 +4,7 @@
#include <linux/proc_fs.h>
#include <linux/pci.h>
#include <linux/delay.h>
+#include <linux/version.h>
#include <asm/uaccess.h>
#include <linux/dmi.h>
@@ -101,7 +102,7 @@ MODULE_PARM_DESC(debug, "Verbose output");
int sabi_exec_command(u8 command, u8 data, struct sabi_retval *sretval)
{
int retval = 0;
-
+
mutex_lock(&sabi_mutex);
/* enable memory to be able to write to it */
@@ -141,22 +142,25 @@ int sabi_exec_command(u8 command, u8 data, struct sabi_retval *sretval)
return retval;
}
-int easy_slow_down_read(char *page, char **start, off_t off,
- int count, int *eof, void *data) {
+ssize_t easy_slow_down_read(struct file *filp, char __user *buffer,
+ size_t length, loff_t *off) {
struct sabi_retval sretval;
-
- if (off > 0) {
- *eof = 1;
- }
- else if (!sabi_exec_command(SABI_GET_ETIQUETTE_MODE, 0, &sretval)) {
- page[0] = sretval.retval[0] + '0';
+
+ if (*off > 0)
+ return 0;
+
+ if (!sabi_exec_command(SABI_GET_ETIQUETTE_MODE, 0, &sretval)) {
+ char mode = sretval.retval[0] + '0';
+ if (copy_to_user(buffer, &mode, 1))
+ return -EFAULT;
+ (*off)++;
return 1;
}
return 0;
}
-int easy_slow_down_write(struct file *file, const char __user *buffer,
- unsigned long count, void *data) {
+ssize_t easy_slow_down_write(struct file *filp, const char __user *buffer,
+ size_t count, loff_t *off) {
char mode = '0';
if (copy_from_user(&mode, buffer, 1)) {
return -EFAULT;
@@ -167,22 +171,25 @@ int easy_slow_down_write(struct file *file, const char __user *buffer,
return count;
}
-int easy_backlight_read(char *page, char **start, off_t off,
- int count, int *eof, void *data) {
+ssize_t easy_backlight_read(struct file *filp, char __user *buffer,
+ size_t length, loff_t *off) {
struct sabi_retval sretval;
-
- if (off > 0) {
- *eof = 1;
- }
- else if (!sabi_exec_command(SABI_GET_BACKLIGHT, 0, &sretval)) {
- page[0] = sretval.retval[0] + '0';
+
+ if (*off > 0)
+ return 0;
+
+ if (!sabi_exec_command(SABI_GET_BACKLIGHT, 0, &sretval)) {
+ char mode = sretval.retval[0] + '0';
+ if (copy_to_user(buffer, &mode, 1))
+ return -EFAULT;
+ (*off)++;
return 1;
}
return 0;
}
-int easy_backlight_write(struct file *file, const char __user *buffer,
- unsigned long count, void *data) {
+ssize_t easy_backlight_write(struct file *file, const char __user *buffer,
+ size_t count, loff_t *off) {
char mode = '0';
if (copy_from_user(&mode, buffer, 1)) {
return -EFAULT;
@@ -193,22 +200,25 @@ int easy_backlight_write(struct file *file, const char __user *buffer,
return count;
}
-int easy_wifi_kill_read(char *page, char **start, off_t off,
- int count, int *eof, void *data) {
+ssize_t easy_wifi_kill_read(struct file *filp, char __user *buffer,
+ size_t length, loff_t *off) {
struct sabi_retval sretval;
-
- if (off > 0) {
- *eof = 1;
- }
- else if (!sabi_exec_command(SABI_GET_WIRELESS_BUTTON, 0, &sretval)) {
- page[0] = sretval.retval[0] + '0';
+
+ if (*off > 0)
+ return 0;
+
+ if (!sabi_exec_command(SABI_GET_WIRELESS_BUTTON, 0, &sretval)) {
+ char mode = sretval.retval[0] + '0';
+ if (copy_to_user(buffer, &mode, 1))
+ return -EFAULT;
+ (*off)++;
return 1;
}
return 0;
}
-int easy_wifi_kill_write(struct file *file, const char __user *buffer,
- unsigned long count, void *data) {
+ssize_t easy_wifi_kill_write(struct file *file, const char __user *buffer,
+ size_t count, loff_t *off) {
char mode = '0';
if (copy_from_user(&mode, buffer, 1)) {
return -EFAULT;
@@ -219,8 +229,26 @@ int easy_wifi_kill_write(struct file *file, const char __user *buffer,
return count;
}
+static const struct file_operations proc_fops_slow_down = {
+ .owner = THIS_MODULE,
+ .read = easy_slow_down_read,
+ .write = easy_slow_down_write
+};
+
+static const struct file_operations proc_fops_wifi_kill = {
+ .owner = THIS_MODULE,
+ .read = easy_wifi_kill_read,
+ .write = easy_wifi_kill_write
+};
+
+static const struct file_operations proc_fops_backlight = {
+ .owner = THIS_MODULE,
+ .read = easy_backlight_read,
+ .write = easy_backlight_write
+};
+
int __init easy_slow_down_init(void) {
-
+
const char *test_str = "SwSmi@";
int pos;
int index = 0;
@@ -290,19 +318,15 @@ int __init easy_slow_down_init(void) {
}
- proc_entry_slow_down = create_proc_entry("easy_slow_down_manager", 0666, NULL);
+ proc_entry_slow_down = proc_create("easy_slow_down_manager", 0666, NULL, &proc_fops_slow_down);
if (proc_entry_slow_down == NULL) {
printk(KERN_INFO "Easy slow down manager: Couldn't create proc entry\n");
iounmap(sabi_iface);
iounmap(f0000_segment);
return -ENOMEM;
}
- else {
- proc_entry_slow_down->read_proc = easy_slow_down_read;
- proc_entry_slow_down->write_proc = easy_slow_down_write;
- }
- proc_entry_wifi_kill = create_proc_entry("easy_wifi_kill", 0666, NULL);
+ proc_entry_wifi_kill = proc_create("easy_wifi_kill", 0666, NULL, &proc_fops_wifi_kill);
if (proc_entry_wifi_kill == NULL) {
printk(KERN_INFO "Easy slow down manager: Couldn't create proc entry\n");
remove_proc_entry("easy_slow_down_manager", NULL);
@@ -310,12 +334,8 @@ int __init easy_slow_down_init(void) {
iounmap(f0000_segment);
return -ENOMEM;
}
- else {
- proc_entry_wifi_kill->read_proc = easy_wifi_kill_read;
- proc_entry_wifi_kill->write_proc = easy_wifi_kill_write;
- }
-
- proc_entry_backlight = create_proc_entry("easy_backlight", 0666, NULL);
+
+ proc_entry_backlight = proc_create("easy_backlight", 0666, NULL, &proc_fops_backlight);
if (proc_entry_backlight == NULL) {
printk(KERN_INFO "Easy slow down manager: Couldn't create proc entry\n");
remove_proc_entry("easy_slow_down_manager", NULL);
@@ -324,10 +344,6 @@ int __init easy_slow_down_init(void) {
iounmap(f0000_segment);
return -ENOMEM;
}
- else {
- proc_entry_backlight->read_proc = easy_backlight_read;
- proc_entry_backlight->write_proc = easy_backlight_write;
- }
return 0;
}

View File

@ -0,0 +1,16 @@
diff --git a/Makefile b/Makefile
index 60a649c..fbdc332 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
obj-m := easy_slow_down_manager.o samsung-backlight.o
-KVERSION = $(shell uname -r)
+KERN_DIR=/usr/src/linux
all:
- $(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
+ $(MAKE) -C /$(KERN_DIR) M=$(PWD) modules
clean:
- $(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
+ $(MAKE) -C /$(KERN_DIR) M=$(PWD) clean

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>maintainer-needed@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="google-code">easy-slow-down-manager</remote-id>
</upstream>
</pkgmetadata>