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.

+10 -16
+1 -1
drivers/xen/Kconfig
··· 75 76 config XEN_PLATFORM_PCI 77 tristate "xen platform pci device driver" 78 - depends on XEN_PVHVM 79 default m 80 help 81 Driver for the Xen PCI Platform device: it is responsible for
··· 75 76 config XEN_PLATFORM_PCI 77 tristate "xen platform pci device driver" 78 + depends on XEN_PVHVM && PCI 79 default m 80 help 81 Driver for the Xen PCI Platform device: it is responsible for
+2 -1
drivers/xen/Makefile
··· 11 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o 12 obj-$(CONFIG_XENFS) += xenfs/ 13 obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o 14 - obj-$(CONFIG_XEN_PLATFORM_PCI) += platform-pci.o 15 obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o 16 obj-$(CONFIG_XEN_DOM0) += pci.o 17 18 xen-evtchn-y := evtchn.o 19
··· 11 obj-$(CONFIG_XEN_DEV_EVTCHN) += xen-evtchn.o 12 obj-$(CONFIG_XENFS) += xenfs/ 13 obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o 14 + obj-$(CONFIG_XEN_PLATFORM_PCI) += xen-platform-pci.o 15 obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o 16 obj-$(CONFIG_XEN_DOM0) += pci.o 17 18 xen-evtchn-y := evtchn.o 19 20 + xen-platform-pci-y := platform-pci.o
+7 -14
drivers/xen/platform-pci.c
··· 105 const struct pci_device_id *ent) 106 { 107 int i, ret; 108 - long ioaddr, iolen; 109 long mmio_addr, mmio_len; 110 unsigned int max_nr_gframes; 111 ··· 114 return i; 115 116 ioaddr = pci_resource_start(pdev, 0); 117 - iolen = pci_resource_len(pdev, 0); 118 119 mmio_addr = pci_resource_start(pdev, 1); 120 mmio_len = pci_resource_len(pdev, 1); ··· 124 goto pci_out; 125 } 126 127 - if (request_mem_region(mmio_addr, mmio_len, DRV_NAME) == NULL) { 128 - dev_err(&pdev->dev, "MEM I/O resource 0x%lx @ 0x%lx busy\n", 129 - mmio_addr, mmio_len); 130 - ret = -EBUSY; 131 goto pci_out; 132 - } 133 134 - if (request_region(ioaddr, iolen, DRV_NAME) == NULL) { 135 - dev_err(&pdev->dev, "I/O resource 0x%lx @ 0x%lx busy\n", 136 - iolen, ioaddr); 137 - ret = -EBUSY; 138 goto mem_out; 139 - } 140 141 platform_mmio = mmio_addr; 142 platform_mmiolen = mmio_len; ··· 162 return 0; 163 164 out: 165 - release_region(ioaddr, iolen); 166 mem_out: 167 - release_mem_region(mmio_addr, mmio_len); 168 pci_out: 169 pci_disable_device(pdev); 170 return ret;
··· 105 const struct pci_device_id *ent) 106 { 107 int i, ret; 108 + long ioaddr; 109 long mmio_addr, mmio_len; 110 unsigned int max_nr_gframes; 111 ··· 114 return i; 115 116 ioaddr = pci_resource_start(pdev, 0); 117 118 mmio_addr = pci_resource_start(pdev, 1); 119 mmio_len = pci_resource_len(pdev, 1); ··· 125 goto pci_out; 126 } 127 128 + ret = pci_request_region(pdev, 1, DRV_NAME); 129 + if (ret < 0) 130 goto pci_out; 131 132 + ret = pci_request_region(pdev, 0, DRV_NAME); 133 + if (ret < 0) 134 goto mem_out; 135 136 platform_mmio = mmio_addr; 137 platform_mmiolen = mmio_len; ··· 169 return 0; 170 171 out: 172 + pci_release_region(pdev, 0); 173 mem_out: 174 + pci_release_region(pdev, 1); 175 pci_out: 176 pci_disable_device(pdev); 177 return ret;