Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3c7fe9a authored by K. Y. Srinivasan's avatar K. Y. Srinivasan Committed by Greg Kroah-Hartman
Browse files

Staging: hv: Move probe_failed_work_item from vm_device



In preparation for consolidating all device related state into
struct hv_device, move probe_failed_work_item from vm_device to
hv_device.

Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarAbhishek Kane <v-abkane@microsoft.com>
Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarHank Janssen <hjanssen@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4af27d70
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@


struct vm_device {
	struct work_struct probe_failed_work_item;
	struct hv_guid class_id;
	struct hv_guid device_id;
	int probe_error;
+3 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#define _VMBUS_API_H_

#include <linux/device.h>
#include <linux/workqueue.h>

#define MAX_PAGE_BUFFER_COUNT				16
#define MAX_MULTIPAGE_BUFFER_COUNT			32 /* 128K */
@@ -117,6 +118,8 @@ struct hv_device {

	char name[64];

	struct work_struct probe_failed_work_item;

	/* the device type id of this device */
	struct hv_guid dev_type;

+3 −2
Original line number Diff line number Diff line
@@ -904,6 +904,7 @@ static int vmbus_probe(struct device *child_device)
			drv_to_hv_drv(child_device->driver);
	struct vm_device *device_ctx =
			device_to_vm_device(child_device);
	struct hv_device *dev = &device_ctx->device_obj;

	/* Let the specific open-source driver handles the probe if it can */
	if (drv->driver.probe) {
@@ -915,9 +916,9 @@ static int vmbus_probe(struct device *child_device)
				   dev_name(child_device), child_device,
				   child_device->driver->name, ret);

			INIT_WORK(&device_ctx->probe_failed_work_item,
			INIT_WORK(&dev->probe_failed_work_item,
				  vmbus_probe_failed_cb);
			schedule_work(&device_ctx->probe_failed_work_item);
			schedule_work(&dev->probe_failed_work_item);
		}
	} else {
		DPRINT_ERR(VMBUS_DRV, "probe() method not set for driver - %s",