| 
				
			 | 
			
			
				
				@@ -93,6 +93,8 @@ struct root_device { 
			 | 
		
		
	
		
			
			| 
				93
			 | 
			
				93
			 | 
			
			
				
				 	struct device dev; 
			 | 
		
		
	
		
			
			| 
				94
			 | 
			
				94
			 | 
			
			
				
				 	/** Root device driver */ 
			 | 
		
		
	
		
			
			| 
				95
			 | 
			
				95
			 | 
			
			
				
				 	struct root_driver *driver; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				
				+	/** Driver-private data */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				
				+	void *priv; 
			 | 
		
		
	
		
			
			| 
				96
			 | 
			
				98
			 | 
			
			
				
				 }; 
			 | 
		
		
	
		
			
			| 
				97
			 | 
			
				99
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				98
			 | 
			
				100
			 | 
			
			
				
				 /** A root device driver */ 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -123,6 +125,27 @@ struct root_driver { 
			 | 
		
		
	
		
			
			| 
				123
			 | 
			
				125
			 | 
			
			
				
				 /** Declare a root device */ 
			 | 
		
		
	
		
			
			| 
				124
			 | 
			
				126
			 | 
			
			
				
				 #define __root_device __table_entry ( ROOT_DEVICES, 01 ) 
			 | 
		
		
	
		
			
			| 
				125
			 | 
			
				127
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				128
			 | 
			
			
				
				+/** 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				129
			 | 
			
			
				
				+ * Set root device driver-private data 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				130
			 | 
			
			
				
				+ * 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				131
			 | 
			
			
				
				+ * @v rootdev		Root device 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				132
			 | 
			
			
				
				+ * @v priv		Private data 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				133
			 | 
			
			
				
				+ */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				134
			 | 
			
			
				
				+static inline void rootdev_set_drvdata ( struct root_device *rootdev, 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				135
			 | 
			
			
				
				+					 void *priv ){ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				136
			 | 
			
			
				
				+	rootdev->priv = priv; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				137
			 | 
			
			
				
				+} 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				138
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				139
			 | 
			
			
				
				+/** 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				140
			 | 
			
			
				
				+ * Get root device driver-private data 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				141
			 | 
			
			
				
				+ * 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				142
			 | 
			
			
				
				+ * @v rootdev		Root device 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				143
			 | 
			
			
				
				+ * @ret priv		Private data 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				144
			 | 
			
			
				
				+ */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				145
			 | 
			
			
				
				+static inline void * rootdev_get_drvdata ( struct root_device *rootdev ) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				146
			 | 
			
			
				
				+	return rootdev->priv; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				147
			 | 
			
			
				
				+} 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				148
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				126
			 | 
			
				149
			 | 
			
			
				
				 extern int device_keep_count; 
			 | 
		
		
	
		
			
			| 
				127
			 | 
			
				150
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				128
			 | 
			
				151
			 | 
			
			
				
				 /** 
			 |