Commit 2c0076d8 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'stable/platform-pci-fixes' of...

Merge branch 'stable/platform-pci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

* 'stable/platform-pci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen-platform: Fix compile errors if CONFIG_PCI is not enabled.
  xen: rename platform-pci module to xen-platform-pci.
  xen-platform: use PCI interfaces to request IO and MEM resources.
parents 50de1dd9 e528db5b
...@@ -75,7 +75,7 @@ config XEN_XENBUS_FRONTEND ...@@ -75,7 +75,7 @@ config XEN_XENBUS_FRONTEND
config XEN_PLATFORM_PCI config XEN_PLATFORM_PCI
tristate "xen platform pci device driver" tristate "xen platform pci device driver"
depends on XEN_PVHVM depends on XEN_PVHVM && PCI
default m default m
help help
Driver for the Xen PCI Platform device: it is responsible for Driver for the Xen PCI Platform device: it is responsible for
......
...@@ -11,9 +11,10 @@ obj-$(CONFIG_XEN_BALLOON) += balloon.o ...@@ -11,9 +11,10 @@ obj-$(CONFIG_XEN_BALLOON) += balloon.o
obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
obj-$(CONFIG_XENFS) += xenfs/ obj-$(CONFIG_XENFS) += xenfs/
obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
obj-$(CONFIG_XEN_PLATFORM_PCI) += platform-pci.o obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o
obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
obj-$(CONFIG_XEN_DOM0) += pci.o obj-$(CONFIG_XEN_DOM0) += pci.o
xen-evtchn-y := evtchn.o xen-evtchn-y := evtchn.o
xen-platform-pci-y := platform-pci.o
...@@ -105,7 +105,7 @@ static int __devinit platform_pci_init(struct pci_dev *pdev, ...@@ -105,7 +105,7 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
const struct pci_device_id *ent) const struct pci_device_id *ent)
{ {
int i, ret; int i, ret;
long ioaddr, iolen; long ioaddr;
long mmio_addr, mmio_len; long mmio_addr, mmio_len;
unsigned int max_nr_gframes; unsigned int max_nr_gframes;
...@@ -114,7 +114,6 @@ static int __devinit platform_pci_init(struct pci_dev *pdev, ...@@ -114,7 +114,6 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
return i; return i;
ioaddr = pci_resource_start(pdev, 0); ioaddr = pci_resource_start(pdev, 0);
iolen = pci_resource_len(pdev, 0);
mmio_addr = pci_resource_start(pdev, 1); mmio_addr = pci_resource_start(pdev, 1);
mmio_len = pci_resource_len(pdev, 1); mmio_len = pci_resource_len(pdev, 1);
...@@ -125,19 +124,13 @@ static int __devinit platform_pci_init(struct pci_dev *pdev, ...@@ -125,19 +124,13 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
goto pci_out; goto pci_out;
} }
if (request_mem_region(mmio_addr, mmio_len, DRV_NAME) == NULL) { ret = pci_request_region(pdev, 1, DRV_NAME);
dev_err(&pdev->dev, "MEM I/O resource 0x%lx @ 0x%lx busy\n", if (ret < 0)
mmio_addr, mmio_len);
ret = -EBUSY;
goto pci_out; goto pci_out;
}
if (request_region(ioaddr, iolen, DRV_NAME) == NULL) { ret = pci_request_region(pdev, 0, DRV_NAME);
dev_err(&pdev->dev, "I/O resource 0x%lx @ 0x%lx busy\n", if (ret < 0)
iolen, ioaddr);
ret = -EBUSY;
goto mem_out; goto mem_out;
}
platform_mmio = mmio_addr; platform_mmio = mmio_addr;
platform_mmiolen = mmio_len; platform_mmiolen = mmio_len;
...@@ -169,9 +162,9 @@ static int __devinit platform_pci_init(struct pci_dev *pdev, ...@@ -169,9 +162,9 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
return 0; return 0;
out: out:
release_region(ioaddr, iolen); pci_release_region(pdev, 0);
mem_out: mem_out:
release_mem_region(mmio_addr, mmio_len); pci_release_region(pdev, 1);
pci_out: pci_out:
pci_disable_device(pdev); pci_disable_device(pdev);
return ret; return ret;
......
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