[PATCH 07/25] Staging: hv: vmbus: Change the signature of struct hv_driver remove() function

Greg KH greg at kroah.com
Fri Sep 9 20:40:13 UTC 2011


On Thu, Sep 08, 2011 at 07:24:18AM -0700, K. Y. Srinivasan wrote:
> In preparation for leveraging the driver_data in  struct
> hv_vmbus_device_id, change the signature of struct hv_driver remove() function.

Why?  This shouldn't be needed at remove() time as the driver already
has saved off the needed id information in its probe function, if it
needed it.
> --- a/drivers/staging/hv/vmbus_drv.c
> +++ b/drivers/staging/hv/vmbus_drv.c
> @@ -329,12 +329,19 @@ static int vmbus_remove(struct device *child_device)
>  	struct hv_driver *drv;
>  
>  	struct hv_device *dev = device_to_hv_device(child_device);
> +	const struct hv_vmbus_device_id *dev_id;
>  
>  	if (child_device->driver) {
>  		drv = drv_to_hv_drv(child_device->driver);
> +		dev_id = drv->id_table;
> +
> +		for (; !is_null_guid(dev_id->guid); dev_id++)
> +			if (!memcmp(&dev_id->guid, &dev->dev_type.b,
> +					sizeof(uuid_le)))
> +				break;

Even though it is wrong, look you duplicated the matching logic again!

ick.

greg k-h



More information about the devel mailing list