patch-2.1.92 linux/drivers/block/ide-disk.c
Next file: linux/drivers/block/ide-floppy.c
Previous file: linux/drivers/block/ide-cd.h
Back to the patch index
Back to the overall index
- Lines: 73
- Date:
Mon Mar 30 14:25:11 1998
- Orig file:
v2.1.91/linux/drivers/block/ide-disk.c
- Orig date:
Tue Mar 17 22:18:14 1998
diff -u --recursive --new-file v2.1.91/linux/drivers/block/ide-disk.c linux/drivers/block/ide-disk.c
@@ -496,25 +496,13 @@
drive->special.b.set_multmode = 1;
}
-static int proc_idedisk_read_cache
- (char *page, char **start, off_t off, int count, int *eof, void *data)
-{
- ide_drive_t *drive = (ide_drive_t *) data;
- char *out = page;
- int len;
-
- if (drive->id)
- len = sprintf(out,"%i\n", drive->id->buf_size / 2);
- else
- len = sprintf(out,"(none)\n");
- PROC_IDE_READ_RETURN(page,start,off,count,eof,len);
-}
-
static int smart_enable(ide_drive_t *drive)
{
return ide_wait_cmd(drive, WIN_SMART, 0, SMART_ENABLE, 0, NULL);
}
+#ifdef CONFIG_PROC_FS
+
static int get_smart_values(ide_drive_t *drive, byte *buf)
{
(void) smart_enable(drive);
@@ -527,6 +515,20 @@
return ide_wait_cmd(drive, WIN_SMART, 0, SMART_READ_THRESHOLDS, 1, buf);
}
+static int proc_idedisk_read_cache
+ (char *page, char **start, off_t off, int count, int *eof, void *data)
+{
+ ide_drive_t *drive = (ide_drive_t *) data;
+ char *out = page;
+ int len;
+
+ if (drive->id)
+ len = sprintf(out,"%i\n", drive->id->buf_size / 2);
+ else
+ len = sprintf(out,"(none)\n");
+ PROC_IDE_READ_RETURN(page,start,off,count,eof,len);
+}
+
static int proc_idedisk_read_smart_thresholds
(char *page, char **start, off_t off, int count, int *eof, void *data)
{
@@ -566,12 +568,18 @@
}
static ide_proc_entry_t idedisk_proc[] = {
- { "cache", proc_idedisk_read_cache, NULL },
- { "geometry", proc_ide_read_geometry, NULL },
- { "smart_values", proc_idedisk_read_smart_values, NULL },
- { "smart_thresholds", proc_idedisk_read_smart_thresholds, NULL },
- { NULL, NULL, NULL }
+ { "cache", S_IFREG|S_IRUGO, proc_idedisk_read_cache, NULL },
+ { "geometry", S_IFREG|S_IRUGO, proc_ide_read_geometry, NULL },
+ { "smart_values", S_IFREG|S_IRUSR, proc_idedisk_read_smart_values, NULL },
+ { "smart_thresholds", S_IFREG|S_IRUSR, proc_idedisk_read_smart_thresholds, NULL },
+ { NULL, 0, NULL, NULL }
};
+
+#else
+
+#define idedisk_proc NULL
+
+#endif /* CONFIG_PROC_FS */
static int set_multcount(ide_drive_t *drive, int arg)
{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov