mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge branch 'bkl/procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'bkl/procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: sunrpc: Include missing smp_lock.h procfs: Kill the bkl in ioctl procfs: Push down the bkl from ioctl procfs: Use generic_file_llseek in /proc/vmcore procfs: Use generic_file_llseek in /proc/kmsg procfs: Use generic_file_llseek in /proc/kcore procfs: Kill BKL in llseek on proc base
This commit is contained in:
commit
98c89cdd3a
8 changed files with 55 additions and 16 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/seq_file.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/capability.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
|
|
@ -82,8 +83,7 @@ module_param(fan_mult, int, 0);
|
|||
MODULE_PARM_DESC(fan_mult, "Factor to multiply fan speed with");
|
||||
|
||||
static int i8k_open_fs(struct inode *inode, struct file *file);
|
||||
static int i8k_ioctl(struct inode *, struct file *, unsigned int,
|
||||
unsigned long);
|
||||
static long i8k_ioctl(struct file *, unsigned int, unsigned long);
|
||||
|
||||
static const struct file_operations i8k_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
|
|
@ -91,7 +91,7 @@ static const struct file_operations i8k_fops = {
|
|||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
.ioctl = i8k_ioctl,
|
||||
.unlocked_ioctl = i8k_ioctl,
|
||||
};
|
||||
|
||||
struct smm_regs {
|
||||
|
|
@ -307,8 +307,8 @@ static int i8k_get_dell_signature(int req_fn)
|
|||
return regs.eax == 1145651527 && regs.edx == 1145392204 ? 0 : -1;
|
||||
}
|
||||
|
||||
static int i8k_ioctl(struct inode *ip, struct file *fp, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
static int
|
||||
i8k_ioctl_unlocked(struct file *fp, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
int val = 0;
|
||||
int speed;
|
||||
|
|
@ -395,6 +395,17 @@ static int i8k_ioctl(struct inode *ip, struct file *fp, unsigned int cmd,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static long i8k_ioctl(struct file *fp, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
long ret;
|
||||
|
||||
lock_kernel();
|
||||
ret = i8k_ioctl_unlocked(fp, cmd, arg);
|
||||
unlock_kernel();
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Print the information for /proc/i8k.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue