RE: [PATCH 1/4] staging: hv: Fix the code depending on structvmbus_driver_context data order

From: Haiyang Zhang
Date: Wed Feb 23 2011 - 17:48:33 EST


> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/