mirror of https://gitee.com/openkylin/linux.git
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.
This commit is contained in:
commit
2c0076d8c7
|
@ -75,7 +75,7 @@ config XEN_XENBUS_FRONTEND
|
|||
|
||||
config XEN_PLATFORM_PCI
|
||||
tristate "xen platform pci device driver"
|
||||
depends on XEN_PVHVM
|
||||
depends on XEN_PVHVM && PCI
|
||||
default m
|
||||
help
|
||||
Driver for the Xen PCI Platform device: it is responsible for
|
||||
|
|
|
@ -11,9 +11,10 @@ obj-$(CONFIG_XEN_BALLOON) += balloon.o
|
|||
obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o
|
||||
obj-$(CONFIG_XENFS) += xenfs/
|
||||
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_XEN_DOM0) += pci.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,
|
|||
const struct pci_device_id *ent)
|
||||
{
|
||||
int i, ret;
|
||||
long ioaddr, iolen;
|
||||
long ioaddr;
|
||||
long mmio_addr, mmio_len;
|
||||
unsigned int max_nr_gframes;
|
||||
|
||||
|
@ -114,7 +114,6 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
|
|||
return i;
|
||||
|
||||
ioaddr = pci_resource_start(pdev, 0);
|
||||
iolen = pci_resource_len(pdev, 0);
|
||||
|
||||
mmio_addr = pci_resource_start(pdev, 1);
|
||||
mmio_len = pci_resource_len(pdev, 1);
|
||||
|
@ -125,19 +124,13 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
|
|||
goto pci_out;
|
||||
}
|
||||
|
||||
if (request_mem_region(mmio_addr, mmio_len, DRV_NAME) == NULL) {
|
||||
dev_err(&pdev->dev, "MEM I/O resource 0x%lx @ 0x%lx busy\n",
|
||||
mmio_addr, mmio_len);
|
||||
ret = -EBUSY;
|
||||
ret = pci_request_region(pdev, 1, DRV_NAME);
|
||||
if (ret < 0)
|
||||
goto pci_out;
|
||||
}
|
||||
|
||||
if (request_region(ioaddr, iolen, DRV_NAME) == NULL) {
|
||||
dev_err(&pdev->dev, "I/O resource 0x%lx @ 0x%lx busy\n",
|
||||
iolen, ioaddr);
|
||||
ret = -EBUSY;
|
||||
ret = pci_request_region(pdev, 0, DRV_NAME);
|
||||
if (ret < 0)
|
||||
goto mem_out;
|
||||
}
|
||||
|
||||
platform_mmio = mmio_addr;
|
||||
platform_mmiolen = mmio_len;
|
||||
|
@ -169,9 +162,9 @@ static int __devinit platform_pci_init(struct pci_dev *pdev,
|
|||
return 0;
|
||||
|
||||
out:
|
||||
release_region(ioaddr, iolen);
|
||||
pci_release_region(pdev, 0);
|
||||
mem_out:
|
||||
release_mem_region(mmio_addr, mmio_len);
|
||||
pci_release_region(pdev, 1);
|
||||
pci_out:
|
||||
pci_disable_device(pdev);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue