diff options
Diffstat (limited to 'app-laptop/easy-slow-down-manager/files/easy-slow-down-manager-0.3-kernel-3.10-1.patch')
-rw-r--r-- | app-laptop/easy-slow-down-manager/files/easy-slow-down-manager-0.3-kernel-3.10-1.patch | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/app-laptop/easy-slow-down-manager/files/easy-slow-down-manager-0.3-kernel-3.10-1.patch b/app-laptop/easy-slow-down-manager/files/easy-slow-down-manager-0.3-kernel-3.10-1.patch new file mode 100644 index 000000000000..272143eeea3b --- /dev/null +++ b/app-laptop/easy-slow-down-manager/files/easy-slow-down-manager-0.3-kernel-3.10-1.patch @@ -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; + } + |