All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrey Borzenkov <arvidjaar@mail.ru>
To: linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@osdl.org>
Subject: [PATCH] rc3-mm1 - /proc/ide/HWIF for modular IDE
Date: Tue, 3 Feb 2004 22:48:40 +0300	[thread overview]
Message-ID: <20040203194840.GD3249@localhost.localdomain> (raw)

[-- Attachment #1: Type: text/plain, Size: 437 bytes --]

currently /proc/ide/HWIF are created in one shot during initialization
or in ide-generic meaning that for modular IDE you must include
ide-generic.

this adds per-hwif registration currently for PCI only (that is what I
can test); if this is OK I will make create_proc_ide_interfaces static
and replace it with create_proc_ide_interface where appropriate.

this also makes /proc/ide entries for PCI chipset be correctly created

-andrey

[-- Attachment #2: 2.6.2-rc3-mm1-modular_proc_ide.patch --]
[-- Type: text/plain, Size: 2429 bytes --]

--- linux-2.6.2-rc3-mm1/drivers/ide/ide-proc.c.modular	2004-02-03 20:37:32.000000000 +0300
+++ linux-2.6.2-rc3-mm1/drivers/ide/ide-proc.c	2004-02-03 21:13:38.000000000 +0300
@@ -768,23 +768,27 @@ static ide_proc_entry_t hwif_entries[] =
 	{ NULL,	0, NULL, NULL }
 };
 
+void create_proc_ide_interface(ide_hwif_t *hwif)
+{
+	if (!hwif->present)
+		return;
+	if (!hwif->proc) {
+		hwif->proc = proc_mkdir(hwif->name, proc_ide_root);
+		if (!hwif->proc)
+			return;
+		ide_add_proc_entries(hwif->proc, hwif_entries, hwif);
+	}
+	create_proc_ide_drives(hwif);
+}
+
+EXPORT_SYMBOL(create_proc_ide_interface);
+
 void create_proc_ide_interfaces(void)
 {
 	int	h;
 
-	for (h = 0; h < MAX_HWIFS; h++) {
-		ide_hwif_t *hwif = &ide_hwifs[h];
-
-		if (!hwif->present)
-			continue;
-		if (!hwif->proc) {
-			hwif->proc = proc_mkdir(hwif->name, proc_ide_root);
-			if (!hwif->proc)
-				return;
-			ide_add_proc_entries(hwif->proc, hwif_entries, hwif);
-		}
-		create_proc_ide_drives(hwif);
-	}
+	for (h = 0; h < MAX_HWIFS; h++)
+		create_proc_ide_interface(&ide_hwifs[h]);
 }
 
 #ifdef CONFIG_BLK_DEV_IDEPCI
@@ -801,6 +805,12 @@ void ide_pci_register_host_proc (ide_pci
 		tmp->next = p;
 	} else
 		ide_pci_host_proc_list = p;
+
+	if (proc_ide_root) {
+		p->parent = proc_ide_root;
+		create_proc_info_entry(p->name, 0, p->parent, p->get_info);
+		p->set = 2;
+	}
 }
 
 EXPORT_SYMBOL(ide_pci_register_host_proc);
--- linux-2.6.2-rc3-mm1/drivers/ide/setup-pci.c.modular	2004-02-03 20:37:33.000000000 +0300
+++ linux-2.6.2-rc3-mm1/drivers/ide/setup-pci.c	2004-02-03 21:11:22.000000000 +0300
@@ -659,6 +659,10 @@ bypass_legacy_dma:
 			 */
 			d->init_hwif(hwif);
 
+#ifdef CONFIG_PROC_FS
+		create_proc_ide_interface(hwif);
+#endif
+
 		mate = hwif;
 		at_least_one_hwif_enabled = 1;
 	}
--- linux-2.6.2-rc3-mm1/include/linux/ide.h.modular	2004-02-03 20:38:06.000000000 +0300
+++ linux-2.6.2-rc3-mm1/include/linux/ide.h	2004-02-03 21:15:33.000000000 +0300
@@ -1117,6 +1117,7 @@ extern void proc_ide_create(void);
 extern void proc_ide_destroy(void);
 extern void destroy_proc_ide_device(ide_hwif_t *, ide_drive_t *);
 extern void destroy_proc_ide_drives(ide_hwif_t *);
+extern void create_proc_ide_interface(ide_hwif_t *);
 extern void create_proc_ide_interfaces(void);
 extern void ide_add_proc_entries(struct proc_dir_entry *, ide_proc_entry_t *, void *);
 extern void ide_remove_proc_entries(struct proc_dir_entry *, ide_proc_entry_t *);

             reply	other threads:[~2004-02-03 19:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-03 19:48 Andrey Borzenkov [this message]
2004-02-03 20:39 ` [PATCH] rc3-mm1 - /proc/ide/HWIF for modular IDE Bartlomiej Zolnierkiewicz
2004-02-04 19:44   ` Andrey Borzenkov
2004-02-04 21:55     ` Bartlomiej Zolnierkiewicz
2004-02-05 20:41       ` Andrey Borzenkov
2004-02-22  9:36       ` [PATCH][2.6.3-mm2] " Andrey Borzenkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040203194840.GD3249@localhost.localdomain \
    --to=arvidjaar@mail.ru \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.