> From: Greg KH [mailto:greg@xxxxxxxxx] > Sent: Wednesday, February 23, 2011 4:27 PM > > struct driver_context { > > struct hv_guid class_id; > > - > > struct device_driver driver; > > + struct hv_driver *hv_drv; > > If you have a pointer to hv_driver, why do you need a full 'struct > device_driver' here? That sounds really wrong. > > Actually, having 'struct device_driver' within a structure called > "driver_context" seems wrong, this should be what 'struct hv_driver' > really is, right? The hv_driver contains Hyper-V specific data, like hv_guid. But the struct driver_context contains data and functions related to Linux kernel side, such as the struct device_driver defined by kernel. So, they are kept separately. (just saw Ky's email, which further explained the layering.) Thanks, - Haiyang _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel