Messages in this thread | | | Date | Thu, 1 Dec 2016 21:35:47 +0100 | From | Greg KH <> | Subject | Re: [PATCH 02/15] hyperv: Add a function to detect hv_device |
| |
On Thu, Dec 01, 2016 at 09:28:39AM -0800, kys@exchange.microsoft.com wrote: > From: Haiyang Zhang <haiyangz@microsoft.com> > > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> > Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> > --- > drivers/hv/vmbus_drv.c | 6 ++++++ > include/linux/hyperv.h | 2 ++ > 2 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c > index 0276d2e..1730ac0 100644 > --- a/drivers/hv/vmbus_drv.c > +++ b/drivers/hv/vmbus_drv.c > @@ -692,6 +692,12 @@ struct onmessage_work_context { > struct hv_message msg; > }; > > +bool device_is_hyperv(struct device *dev) > +{ > + return dev->release == vmbus_device_release; > +} > +EXPORT_SYMBOL_GPL(device_is_hyperv);
Wait, eek, no! That's NOT how you determine a device type, if you really even ever need to do that.
Why are you needing this? You should always "just know" what type of device a struct device * is, that's what we rely on in the driver model. Otherwise things get messy very very quickly.
Sorry, I can't take this without a ton of justification, and even then, you need to do this correctly (and no, I'm not going to tell you how to do that as I don't like it being done...)
greg k-h
| |