Index: uspace/lib/drv/generic/driver.c
===================================================================
--- uspace/lib/drv/generic/driver.c	(revision 692c40cb5e60d999a7e4a4bf37fd265a6b8548cb)
+++ uspace/lib/drv/generic/driver.c	(revision 5159ae9cfe175971e2b16fd2a8cf120ffefe7cf2)
@@ -224,6 +224,6 @@
 	int ret = EOK;
 	// open the device
-	if (NULL != dev->class && NULL != dev->class->open) {
-		ret = (*dev->class->open)(dev);
+	if (NULL != dev->ops && NULL != dev->ops->open) {
+		ret = (*dev->ops->open)(dev);
 	}
 	
@@ -240,6 +240,6 @@
 		case IPC_M_PHONE_HUNGUP:		
 			// close the device
-			if (NULL != dev->class && NULL != dev->class->close) {
-				(*dev->class->close)(dev);
+			if (NULL != dev->ops && NULL != dev->ops->close) {
+				(*dev->ops->close)(dev);
 			}			
 			ipc_answer_0(callid, EOK);
Index: uspace/lib/drv/include/driver.h
===================================================================
--- uspace/lib/drv/include/driver.h	(revision 692c40cb5e60d999a7e4a4bf37fd265a6b8548cb)
+++ uspace/lib/drv/include/driver.h	(revision 5159ae9cfe175971e2b16fd2a8cf120ffefe7cf2)
@@ -80,8 +80,6 @@
 // device class
 
-/** Devices belonging to the same class should implement the same set of interfaces.*/
-typedef struct device_class {
-	/** Unique identification of the class. */
-	int id;
+/** Devices operations. */
+typedef struct device_ops {
 	/** Optional callback function called when a client is connecting to the device. */
 	int (*open)(device_t *dev);
@@ -93,5 +91,5 @@
 	 * by any of the standard interfaces, the default handler is used.*/
 	remote_handler_t *default_handler;
-} device_class_t;
+} device_ops_t;
 
 
@@ -112,6 +110,6 @@
 	/** The device driver's data associated with this device.*/
 	void *driver_data;
-	/** Device class consist of class id and table of interfaces supported by the device.*/
-	device_class_t *class;
+	/** The implementation of operations provided by this device.*/
+	device_ops_t *ops;
 	/** Pointer to the previous and next device in the list of devices handled by the driver */
 	link_t link;
@@ -168,8 +166,8 @@
 {
 	assert(is_valid_iface_idx(idx));	
-	if (NULL == dev->class) {
+	if (NULL == dev->ops) {
 		return NULL;
 	}
-	return dev->class->interfaces[idx];	
+	return dev->ops->interfaces[idx];	
 }
 
@@ -280,9 +278,9 @@
 static inline remote_handler_t * device_get_default_handler(device_t *dev)
 {
-	if (NULL == dev->class) {
+	if (NULL == dev->ops) {
 		return NULL;
 	}
 	
-	return dev->class->default_handler;	
+	return dev->ops->default_handler;	
 }
 
