Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b048c7a authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Benjamin Herrenschmidt
Browse files

macintosh: Remove BKL from nvram driver



Drop the bkl from nvram_llseek() as it obviously protects nothing. The
file offset is safe in essence.

The ioctl can be converted to unlocked_ioctl because it just calls
pmac_get_partition() which reads a value from an array which was
initialized at early boot time. No need for serialization.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 3b03fecd
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@
#include <linux/fcntl.h>
#include <linux/nvram.h>
#include <linux/init.h>
#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/nvram.h>

@@ -21,7 +20,6 @@

static loff_t nvram_llseek(struct file *file, loff_t offset, int origin)
{
	lock_kernel();
	switch (origin) {
	case 1:
		offset += file->f_pos;
@@ -30,12 +28,10 @@ static loff_t nvram_llseek(struct file *file, loff_t offset, int origin)
		offset += NVRAM_SIZE;
		break;
	}
	if (offset < 0) {
		unlock_kernel();
	if (offset < 0)
		return -EINVAL;
	}

	file->f_pos = offset;
	unlock_kernel();
	return file->f_pos;
}

@@ -76,8 +72,7 @@ static ssize_t write_nvram(struct file *file, const char __user *buf,
	return p - buf;
}

static int nvram_ioctl(struct inode *inode, struct file *file,
	unsigned int cmd, unsigned long arg)
static long nvram_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{
	switch(cmd) {
		case PMAC_NVRAM_GET_OFFSET: