patch-2.2.18 linux/drivers/macintosh/nvram.c
Next file: linux/drivers/macintosh/via-pmu.c
Previous file: linux/drivers/macintosh/mediabay.c
Back to the patch index
Back to the overall index
- Lines: 48
- Date:
Wed Nov 8 23:00:34 2000
- Orig file:
v2.2.17/drivers/macintosh/nvram.c
- Orig date:
Fri Apr 21 12:46:14 2000
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/drivers/macintosh/nvram.c linux/drivers/macintosh/nvram.c
@@ -14,6 +14,7 @@
#include <linux/nvram.h>
#include <linux/init.h>
#include <asm/uaccess.h>
+#include <asm/nvram.h>
#define NVRAM_SIZE 8192
@@ -76,6 +77,30 @@
return p - buf;
}
+static int nvram_ioctl(struct inode *inode, struct file *file,
+ unsigned int cmd, unsigned long arg)
+{
+ switch(cmd) {
+ case PMAC_NVRAM_GET_OFFSET:
+ {
+ int part, offset;
+ if (copy_from_user(&part,(void*)arg,sizeof(part))!=0)
+ return -EFAULT;
+ if (part < pmac_nvram_OF || part > pmac_nvram_NR)
+ return -EINVAL;
+ offset = pmac_get_partition(part);
+ if (copy_to_user((void*)arg,&offset,sizeof(offset))!=0)
+ return -EFAULT;
+ break;
+ }
+
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
static int nvram_open(struct inode *inode, struct file *file)
{
MOD_INC_USE_COUNT;
@@ -94,7 +119,7 @@
write_nvram,
NULL, /* nvram_readdir */
NULL, /* nvram_select */
- NULL, /* nvram_ioctl */
+ nvram_ioctl,
NULL, /* nvram_mmap */
nvram_open,
NULL, /* flush */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)