[RFC] Device class rework [3/5]

From: Greg KH (greg@kroah.com)
Date: Tue Apr 22 2003 - 15:58:27 EST


On Tue, Apr 22, 2003 at 01:55:45PM -0700, Greg KH wrote:
> - Crude patches to the scsi core to get it to build properly. This
> patch is not correct, but needed if your machines have scsi. Mike
> Anderson has said he will fix up the scsi code based on these core
> changes.

diff -Nru a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
--- a/drivers/scsi/hosts.c Tue Apr 22 13:08:01 2003
+++ b/drivers/scsi/hosts.c Tue Apr 22 13:08:01 2003
@@ -294,7 +294,7 @@
                         sht->info ? sht->info(shost) : sht->name);
 
         if (dev) {
- dev->class_data = shost;
+// dev->class_data = shost;
                 shost->host_gendev = dev;
         }
 
diff -Nru a/drivers/scsi/hosts.h b/drivers/scsi/hosts.h
--- a/drivers/scsi/hosts.h Tue Apr 22 13:07:58 2003
+++ b/drivers/scsi/hosts.h Tue Apr 22 13:07:58 2003
@@ -495,7 +495,8 @@
         __attribute__ ((aligned (sizeof(unsigned long))));
 };
 
-#define to_scsi_host(d) d->class_data
+//#define to_scsi_host(d) d->class_data
+#define to_scsi_host(d) d->driver_data // Major breakage, but we compile now...
         
 /*
  * These two functions are used to allocate and free a pseudo device
@@ -607,7 +608,7 @@
 extern int scsi_upper_driver_register(struct Scsi_Device_Template *);
 extern void scsi_upper_driver_unregister(struct Scsi_Device_Template *);
 
-extern struct device_class shost_devclass;
+extern struct class shost_devclass;
 
 #endif
 /*
diff -Nru a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
--- a/drivers/scsi/scsi_debug.c Tue Apr 22 13:07:57 2003
+++ b/drivers/scsi/scsi_debug.c Tue Apr 22 13:07:57 2003
@@ -183,7 +183,7 @@
         .name = sdebug_proc_name,
         .probe = sdebug_driver_probe,
         .remove = sdebug_driver_remove,
- .devclass = &shost_devclass,
+// .devclass = &shost_devclass,
 };
 
 static const int check_condition_result =
diff -Nru a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
--- a/drivers/scsi/scsi_sysfs.c Tue Apr 22 13:08:01 2003
+++ b/drivers/scsi/scsi_sysfs.c Tue Apr 22 13:08:01 2003
@@ -95,10 +95,8 @@
         device_remove_file(dev, &dev_attr_class_name);
 }
 
-struct device_class shost_devclass = {
+struct class shost_devclass = {
         .name = "scsi-host",
- .add_device = scsi_host_class_add_dev,
- .remove_device = scsi_host_class_rm_dev,
 };
 
 /**
@@ -136,14 +134,14 @@
 int scsi_sysfs_register(void)
 {
         bus_register(&scsi_bus_type);
- devclass_register(&shost_devclass);
+ class_register(&shost_devclass);
 
         return 0;
 }
 
 void scsi_sysfs_unregister(void)
 {
- devclass_unregister(&shost_devclass);
+ class_unregister(&shost_devclass);
         bus_unregister(&scsi_bus_type);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:35 EST