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);
 }
 
