summaryrefslogtreecommitdiffstats
path: root/drivers/block/ide-proc.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-17 13:25:08 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-06-17 13:25:08 +0000
commit59223edaa18759982db0a8aced0e77457d10c68e (patch)
tree89354903b01fa0a447bffeefe00df3044495db2e /drivers/block/ide-proc.c
parentdb7d4daea91e105e3859cf461d7e53b9b77454b2 (diff)
Merge with Linux 2.3.6. Sorry, this isn't tested on silicon, I don't
have a MIPS box at hand.
Diffstat (limited to 'drivers/block/ide-proc.c')
-rw-r--r--drivers/block/ide-proc.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/drivers/block/ide-proc.c b/drivers/block/ide-proc.c
index 26a56e740..f985980b1 100644
--- a/drivers/block/ide-proc.c
+++ b/drivers/block/ide-proc.c
@@ -65,13 +65,22 @@
#include <linux/mm.h>
#include <linux/pci.h>
#include <linux/ctype.h>
+#include <linux/ide.h>
+
#include <asm/io.h>
-#include "ide.h"
#ifndef MIN
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
+#ifdef CONFIG_BLK_DEV_VIA82C586
+int (*via_display_info)(char *, char **, off_t, int, int) = NULL;
+#endif /* CONFIG_BLK_DEV_VIA82C586 */
+
+#ifdef CONFIG_BLK_DEV_ALI15X3
+int (*ali_display_info)(char *, char **, off_t, int, int) = NULL;
+#endif /* CONFIG_BLK_DEV_ALI15X3 */
+
static int ide_getxdigit(char c)
{
int digit;
@@ -682,6 +691,18 @@ void proc_ide_create(void)
ent = create_proc_entry("drivers", 0, root);
if (!ent) return;
ent->read_proc = proc_ide_read_drivers;
+#ifdef CONFIG_BLK_DEV_VIA82C586
+ if (via_display_info) {
+ ent = create_proc_entry("via", 0, root);
+ ent->get_info = via_display_info;
+ }
+#endif /* CONFIG_BLK_DEV_VIA82C586 */
+#ifdef CONFIG_BLK_DEV_ALI15X3
+ if (ali_display_info) {
+ ent = create_proc_entry("ali", 0, root);
+ ent->get_info = ali_display_info;
+ }
+#endif /* CONFIG_BLK_DEV_ALI15X3 */
}
void proc_ide_destroy(void)
@@ -690,6 +711,14 @@ void proc_ide_destroy(void)
* Mmmm.. does this free up all resources,
* or do we need to do a more proper cleanup here ??
*/
+#ifdef CONFIG_BLK_DEV_VIA82C586
+ if (via_display_info)
+ remove_proc_entry("ide/via",0);
+#endif /* CONFIG_BLK_DEV_VIA82C586 */
+#ifdef CONFIG_BLK_DEV_ALI15X3
+ if (ali_display_info)
+ remove_proc_entry("ide/ali",0);
+#endif /* CONFIG_BLK_DEV_ALI15X3 */
remove_proc_entry("ide/drivers", 0);
remove_proc_entry("ide", 0);
}