linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-ide@linux.kernel.org
Subject: PATCH: IDE generic tweak
Date: Wed, 13 Oct 2004 15:24:48 +0100	[thread overview]
Message-ID: <1097677476.4764.9.camel@localhost.localdomain> (raw)

This allows the user to force ide-generic to claim any remaining
IDE_STORAGE_CLASS devices. It isnt a good default to turn on because of
loadable driver modules and confusion with SATA however it is very
useful faced with a mainboard device that isn't supported any other way.
Note that the entry has to come last - if it looks OK I'll comment that
a bit more and update the option docs.

Comments ?

--- linux.vanilla-2.6.9rc3/drivers/ide/pci/generic.c	2004-09-30 16:13:08.000000000 +0100
+++ linux-2.6.9rc3/drivers/ide/pci/generic.c	2004-10-13 15:08:49.586093152 +0100
@@ -41,6 +41,17 @@
 
 #include "generic.h"
 
+static int ide_generic_all;		/* Set to claim all devices */
+
+static int __init ide_generic_all_on(char *unused)
+{
+	ide_generic_all = 1;
+	printk(KERN_INFO "IDE generic will claim all unknown PCI IDE storage controllers.\n");
+	return 1;
+}
+
+__setup("all-generic-ide", ide_generic_all_on);
+
 static unsigned int __init init_chipset_generic (struct pci_dev *dev, const char *name)
 {
 	return 0;
@@ -96,6 +107,11 @@
 {
 	ide_pci_device_t *d = &generic_chipsets[id->driver_data];
 	u16 command;
+	
+	/* Don't use the generic entry unless instructed to do so */
+	if (id->driver_data == 13)
+		if(ide_generic_all == 0)
+			return 1;
 
 	if (dev->vendor == PCI_VENDOR_ID_UMC &&
 	    dev->device == PCI_DEVICE_ID_UMC_UM8886A &&
@@ -108,8 +124,7 @@
 		return 1;
 
 	pci_read_config_word(dev, PCI_COMMAND, &command);
-	if(!(command & PCI_COMMAND_IO))
-	{
+	if(!(command & PCI_COMMAND_IO)) {
 		printk(KERN_INFO "Skipping disabled %s IDE controller.\n", d->name);
 		return 1; 
 	}
@@ -133,6 +148,8 @@
 	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO,     PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10},
 	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1,   PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11},
 	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2,   PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12},
+
+	{ PCI_ANY_ID,		PCI_ANY_ID,			   PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 13},
 	{ 0, },
 };
 MODULE_DEVICE_TABLE(pci, generic_pci_tbl);
--- linux.vanilla-2.6.9rc3/drivers/ide/pci/generic.h	2004-09-30 15:35:49.000000000 +0100
+++ linux-2.6.9rc3/drivers/ide/pci/generic.h	2004-10-13 15:10:54.061170064 +0100
@@ -101,6 +101,13 @@
 		.channels	= 2,
 		.autodma	= NOAUTODMA,
 		.bootable	= ON_BOARD,
+	},{ /* 13 */
+		.name 		= "Unknown",
+		.init_chipset	= init_chipset_generic,
+		.init_hwif	= init_hwif_generic,
+		.channels	= 2,
+		.autodma	= NOAUTODMA,
+		.bootable	= ON_BOARD,
 	}
 };
 

             reply	other threads:[~2004-10-13 14:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-13 14:24 Alan Cox [this message]
2004-10-13 15:31 ` PATCH: IDE generic tweak Jeff Garzik
2004-10-13 14:39   ` Alan Cox
2004-10-13 15:49     ` Jeff Garzik
2004-10-13 14:54       ` Alan Cox
2004-10-13 19:46         ` Jeff Garzik

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=1097677476.4764.9.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=linux-ide@linux.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).