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: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Gerd Hoffmann 2014-02-24 14:17:09 +01:00 committed by Greg Kroah-Hartman
parent 4eb923f878
commit 90eedf0cbe
2 changed files with 11 additions and 8 deletions

View File

@ -43,10 +43,12 @@ static struct acpi_device *hv_acpi_dev;
static struct tasklet_struct msg_dpc;
static struct completion probe_event;
static int irq;
u64 hyperv_mmio_start;
EXPORT_SYMBOL_GPL(hyperv_mmio_start);
u64 hyperv_mmio_size;
EXPORT_SYMBOL_GPL(hyperv_mmio_size);
struct resource hyperv_mmio = {
.name = "hyperv mmio",
.flags = IORESOURCE_MEM,
};
EXPORT_SYMBOL_GPL(hyperv_mmio);
static int vmbus_exists(void)
{
@ -902,8 +904,8 @@ static acpi_status vmbus_walk_resources(struct acpi_resource *res, void *ctx)
break;
case ACPI_RESOURCE_TYPE_ADDRESS64:
hyperv_mmio_start = res->data.address64.minimum;
hyperv_mmio_size = res->data.address64.address_length;
hyperv_mmio.start = res->data.address64.minimum;
hyperv_mmio.end = res->data.address64.maximum;
break;
}
@ -933,6 +935,8 @@ static int vmbus_acpi_add(struct acpi_device *device)
if (ACPI_FAILURE(result))
goto acpi_walk_err;
if (hyperv_mmio.start && hyperv_mmio.end)
request_resource(&iomem_resource, &hyperv_mmio);
}
ret_val = 0;

View File

@ -1167,8 +1167,7 @@ int hv_vss_init(struct hv_util_service *);
void hv_vss_deinit(void);
void hv_vss_onchannelcallback(void *);
extern u64 hyperv_mmio_start;
extern u64 hyperv_mmio_size;
extern struct resource hyperv_mmio;
/*
* Negotiated version with the Host.