aboutsummaryrefslogtreecommitdiffstats
path: root/driver
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-12-13 16:19:43 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-12-13 16:19:43 -0800
commitc04f139e013e7a704395d932892433c6c17c994f (patch)
tree48feddda32568647fff7de09022f10419d067f7b /driver
parent20a8938ee8790f76f60e79560f22a01078e31d68 (diff)
downloadpatches-c04f139e013e7a704395d932892433c6c17c994f.tar.gz
updated ide modalias patch from kay
Diffstat (limited to 'driver')
-rw-r--r--driver/ide-modalias-support-for-autoloading-of-ide-cd-ide-disk.patch134
1 files changed, 73 insertions, 61 deletions
diff --git a/driver/ide-modalias-support-for-autoloading-of-ide-cd-ide-disk.patch b/driver/ide-modalias-support-for-autoloading-of-ide-cd-ide-disk.patch
index 6e2f4696d06df..2ea4ccb72986c 100644
--- a/driver/ide-modalias-support-for-autoloading-of-ide-cd-ide-disk.patch
+++ b/driver/ide-modalias-support-for-autoloading-of-ide-cd-ide-disk.patch
@@ -1,13 +1,31 @@
-From akpm@osdl.org Sun Dec 4 15:17:42 2005
+From kay.sievers@vrfy.org Mon Dec 12 10:16:27 2005
+Date: Mon, 12 Dec 2005 18:03:44 +0100
From: Kay Sievers <kay.sievers@vrfy.org>
+To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
+Cc: "gregkh@suse.de" <gregkh@suse.de>, akpm@osdl.org
Subject: ide: MODALIAS support for autoloading of ide-cd, ide-disk, ...
-To: kay.sievers@vrfy.org, B.Zolnierkiewicz@elka.pw.edu.pl, greg@kroah.com, kay.sievers@suse.de
-Message-Id: <200512042313.jB4NDLLW019192@shell0.pdx.osdl.net>
-Date: Sun, 04 Dec 2005 15:13:11 -0800
+Message-ID: <20051212170344.GA24300@vrfy.org>
+Content-Disposition: inline
+IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ...
-Add MODULE_ALIAS to IDE midlayer modules to autoload them depending
-on the probed media type.
+Add MODULE_ALIAS to IDE midlayer modules: ide-disk, ide-cd, ide-floppy and
+ide-tape, to autoload these modules depending on the probed media type of
+the IDE device.
+
+It is used by udev and replaces the former agent shell script of the hotplug
+package, which was required to lookup the media type in the proc filesystem.
+Using proc was racy, cause the media file is created after the hotplug event
+is sent out.
+
+The module autoloading does not take any effect, until something like the
+following udev rule is configured:
+ SUBSYSTEM=="ide", ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
+
+The module ide-scsi will not be autoloaded, cause it requires manual
+configuration. It can't be, and never was supported for automatic setup in
+the hotplug package. Adding a MODULE_ALIAS to ide-scsi for all supported
+media types, would just lead to a default blacklist entry anyway.
$ modinfo ide-disk
filename: /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
@@ -17,7 +35,7 @@ on the probed media type.
...
$ modprobe -vn ide:m-disk
- insmod /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
+ insmod /lib/modules/2.6.15-rc4-g1b0997f5/kernel/drivers/ide/ide-disk.ko
$ cat /sys/bus/ide/devices/0.0/modalias
ide:m-disk
@@ -40,20 +58,58 @@ It also adds attributes to the IDE device:
disk
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
-Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
-Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/ide/ide-cd.c | 1
drivers/ide/ide-disk.c | 1
drivers/ide/ide-floppy.c | 1
drivers/ide/ide-tape.c | 1
- drivers/ide/ide.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 68 insertions(+)
+ drivers/ide/ide.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 64 insertions(+)
+--- gregkh-2.6.orig/drivers/ide/ide-cd.c
++++ gregkh-2.6/drivers/ide/ide-cd.c
+@@ -3516,6 +3516,7 @@ static int __init ide_cdrom_init(void)
+ return driver_register(&ide_cdrom_driver.gen_driver);
+ }
+
++MODULE_ALIAS("ide:*m-cdrom*");
+ module_init(ide_cdrom_init);
+ module_exit(ide_cdrom_exit);
+ MODULE_LICENSE("GPL");
+--- gregkh-2.6.orig/drivers/ide/ide-disk.c
++++ gregkh-2.6/drivers/ide/ide-disk.c
+@@ -1271,6 +1271,7 @@ static int __init idedisk_init(void)
+ return driver_register(&idedisk_driver.gen_driver);
+ }
+
++MODULE_ALIAS("ide:*m-disk*");
+ module_init(idedisk_init);
+ module_exit(idedisk_exit);
+ MODULE_LICENSE("GPL");
+--- gregkh-2.6.orig/drivers/ide/ide-floppy.c
++++ gregkh-2.6/drivers/ide/ide-floppy.c
+@@ -2197,6 +2197,7 @@ static int __init idefloppy_init(void)
+ return driver_register(&idefloppy_driver.gen_driver);
+ }
+
++MODULE_ALIAS("ide:*m-floppy*");
+ module_init(idefloppy_init);
+ module_exit(idefloppy_exit);
+ MODULE_LICENSE("GPL");
+--- gregkh-2.6.orig/drivers/ide/ide-tape.c
++++ gregkh-2.6/drivers/ide/ide-tape.c
+@@ -4947,6 +4947,7 @@ out:
+ return error;
+ }
+
++MODULE_ALIAS("ide:*m-tape*");
+ module_init(idetape_init);
+ module_exit(idetape_exit);
+ MODULE_ALIAS_CHARDEV_MAJOR(IDETAPE_MAJOR);
--- gregkh-2.6.orig/drivers/ide/ide.c
+++ gregkh-2.6/drivers/ide/ide.c
-@@ -1904,9 +1904,73 @@ static int ide_bus_match(struct device *
+@@ -1904,9 +1904,69 @@ static int ide_bus_match(struct device *
return 1;
}
@@ -75,19 +131,19 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+static ssize_t media_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ ide_drive_t *drive = dev->driver_data;
++ ide_drive_t *drive = to_ide_device(dev);
+ return sprintf(buf, "%s\n", media_string(drive));
+}
+
+static ssize_t drivename_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ ide_drive_t *drive = dev->driver_data;
++ ide_drive_t *drive = to_ide_device(dev);
+ return sprintf(buf, "%s\n", drive->name);
+}
+
+static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ ide_drive_t *drive = dev->driver_data;
++ ide_drive_t *drive = to_ide_device(dev);
+ return sprintf(buf, "ide:m-%s\n", media_string(drive));
+}
+
@@ -101,20 +157,16 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+static int ide_uevent(struct device *dev, char **envp, int num_envp,
+ char *buffer, int buffer_size)
+{
-+ ide_drive_t *drive = dev->driver_data;
++ ide_drive_t *drive = to_ide_device(dev);
+ int i = 0;
+ int length = 0;
+
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
+ "MEDIA=%s", media_string(drive));
-+
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
+ "DRIVENAME=%s", drive->name);
-+
+ add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length,
-+ "MODALIAS=ide:m-%s",
-+ media_string(drive));
-+
++ "MODALIAS=ide:m-%s", media_string(drive));
+ envp[i] = NULL;
+ return 0;
+}
@@ -127,43 +179,3 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
.suspend = generic_ide_suspend,
.resume = generic_ide_resume,
};
---- gregkh-2.6.orig/drivers/ide/ide-cd.c
-+++ gregkh-2.6/drivers/ide/ide-cd.c
-@@ -3516,6 +3516,7 @@ static int __init ide_cdrom_init(void)
- return driver_register(&ide_cdrom_driver.gen_driver);
- }
-
-+MODULE_ALIAS("ide:*m-cdrom*");
- module_init(ide_cdrom_init);
- module_exit(ide_cdrom_exit);
- MODULE_LICENSE("GPL");
---- gregkh-2.6.orig/drivers/ide/ide-disk.c
-+++ gregkh-2.6/drivers/ide/ide-disk.c
-@@ -1271,6 +1271,7 @@ static int __init idedisk_init(void)
- return driver_register(&idedisk_driver.gen_driver);
- }
-
-+MODULE_ALIAS("ide:*m-disk*");
- module_init(idedisk_init);
- module_exit(idedisk_exit);
- MODULE_LICENSE("GPL");
---- gregkh-2.6.orig/drivers/ide/ide-floppy.c
-+++ gregkh-2.6/drivers/ide/ide-floppy.c
-@@ -2197,6 +2197,7 @@ static int __init idefloppy_init(void)
- return driver_register(&idefloppy_driver.gen_driver);
- }
-
-+MODULE_ALIAS("ide:*m-floppy*");
- module_init(idefloppy_init);
- module_exit(idefloppy_exit);
- MODULE_LICENSE("GPL");
---- gregkh-2.6.orig/drivers/ide/ide-tape.c
-+++ gregkh-2.6/drivers/ide/ide-tape.c
-@@ -4947,6 +4947,7 @@ out:
- return error;
- }
-
-+MODULE_ALIAS("ide:*m-tape*");
- module_init(idetape_init);
- module_exit(idetape_exit);
- MODULE_ALIAS_CHARDEV_MAJOR(IDETAPE_MAJOR);