Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -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
+7 −14
Original line number Diff line number Diff line
@@ -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;