Commit 90eedf0c authored by Gerd Hoffmann's avatar Gerd Hoffmann Committed by Greg Kroah-Hartman

vmbus: use resource for hyperv mmio region

Use a resource for the hyperv mmio region instead of start/size
variables.  Register the region properly so it shows up in
/proc/iomem.
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4eb923f8
...@@ -43,10 +43,12 @@ static struct acpi_device *hv_acpi_dev; ...@@ -43,10 +43,12 @@ static struct acpi_device *hv_acpi_dev;
static struct tasklet_struct msg_dpc; static struct tasklet_struct msg_dpc;
static struct completion probe_event; static struct completion probe_event;
static int irq; static int irq;
u64 hyperv_mmio_start;
EXPORT_SYMBOL_GPL(hyperv_mmio_start); struct resource hyperv_mmio = {
u64 hyperv_mmio_size; .name = "hyperv mmio",
EXPORT_SYMBOL_GPL(hyperv_mmio_size); .flags = IORESOURCE_MEM,
};
EXPORT_SYMBOL_GPL(hyperv_mmio);
static int vmbus_exists(void) static int vmbus_exists(void)
{ {
...@@ -902,8 +904,8 @@ static acpi_status vmbus_walk_resources(struct acpi_resource *res, void *ctx) ...@@ -902,8 +904,8 @@ static acpi_status vmbus_walk_resources(struct acpi_resource *res, void *ctx)
break; break;
case ACPI_RESOURCE_TYPE_ADDRESS64: case ACPI_RESOURCE_TYPE_ADDRESS64:
hyperv_mmio_start = res->data.address64.minimum; hyperv_mmio.start = res->data.address64.minimum;
hyperv_mmio_size = res->data.address64.address_length; hyperv_mmio.end = res->data.address64.maximum;
break; break;
} }
...@@ -933,6 +935,8 @@ static int vmbus_acpi_add(struct acpi_device *device) ...@@ -933,6 +935,8 @@ static int vmbus_acpi_add(struct acpi_device *device)
if (ACPI_FAILURE(result)) if (ACPI_FAILURE(result))
goto acpi_walk_err; goto acpi_walk_err;
if (hyperv_mmio.start && hyperv_mmio.end)
request_resource(&iomem_resource, &hyperv_mmio);
} }
ret_val = 0; ret_val = 0;
......
...@@ -1167,8 +1167,7 @@ int hv_vss_init(struct hv_util_service *); ...@@ -1167,8 +1167,7 @@ int hv_vss_init(struct hv_util_service *);
void hv_vss_deinit(void); void hv_vss_deinit(void);
void hv_vss_onchannelcallback(void *); void hv_vss_onchannelcallback(void *);
extern u64 hyperv_mmio_start; extern struct resource hyperv_mmio;
extern u64 hyperv_mmio_size;
/* /*
* Negotiated version with the Host. * Negotiated version with the Host.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment