From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:27
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't
extract the domain number. Other places, use the actual domain number from
the device.
Signed-off-by: Sinan Kaya <redacted>
---
arch/alpha/kernel/pci.c | 2 +-
arch/alpha/kernel/sys_nautilus.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:34
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use pci_get_domain_bus_and_slot() with a domain number of 0 as the code
is not ready to consume multiple domains and existing code used domain
number 0.
Signed-off-by: Sinan Kaya <redacted>
---
arch/powerpc/kernel/pci_32.c | 3 ++-
arch/powerpc/platforms/powermac/feature.c | 2 +-
arch/powerpc/sysdev/mv64x60_pci.c | 4 ++--
3 files changed, 5 insertions(+), 4 deletions(-)
@@ -829,7 +829,7 @@ static long core99_scc_enable(struct device_node *node, long param, long value)if(value){if(pci_device_from_OF_node(node,&pbus,&pid)==0)-pdev=pci_get_bus_and_slot(pbus,pid);+pdev=pci_get_domain_bus_and_slot(0,pbus,pid);if(pdev==NULL)return0;rc=pci_enable_device(pdev);
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:36
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use domain number of 0 as the domain number is not available in struct
irq_routing_table.
Signed-off-by: Sinan Kaya <redacted>
---
arch/x86/pci/irq.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -839,7 +839,8 @@ static void __init pirq_find_router(struct irq_router *r)DBG(KERN_DEBUG"PCI: Attempting to find IRQ router for [%04x:%04x]\n",rt->rtr_vendor,rt->rtr_device);-pirq_router_dev=pci_get_bus_and_slot(rt->rtr_bus,rt->rtr_devfn);+pirq_router_dev=pci_get_domain_bus_and_slot(0,rt->rtr_bus,+rt->rtr_devfn);if(!pirq_router_dev){DBG(KERN_DEBUG"PCI: Interrupt router not found at ""%02x:%02x\n",rt->rtr_bus,rt->rtr_devfn);
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:40
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
We don't search for the device in other domains than zero. This is because
on x86 platforms the BIOS executes only devices which are in domain 0.
Furthermore, the iBFT spec doesn't have a domain id field.
Acked-by: Konrad Rzeszutek Wilk <konrad@kernel.org>
Signed-off-by: Sinan Kaya <redacted>
---
drivers/firmware/iscsi_ibft.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:47
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Add domain parameter to CDV_MSG_READ32, CDV_MSG_WRITE32, MRST_MSG_READ32,
MRST_MSG_WRITE32, MDFLD_MSG_READ32, MDFLD_MSG_WRITE32.
Extract pci_dev from struct drm_device and use pdev to find the domain
number while calling pci_get_domain_bus_and_slot().
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/gma500/cdv_device.c | 16 +++++++++-------
drivers/gpu/drm/gma500/gma_device.c | 4 +++-
drivers/gpu/drm/gma500/mid_bios.c | 12 +++++++++---
drivers/gpu/drm/gma500/psb_drv.c | 10 ++++++++--
drivers/gpu/drm/gma500/psb_drv.h | 18 ++++++++++--------
5 files changed, 39 insertions(+), 21 deletions(-)
@@ -281,7 +285,9 @@ static void mid_get_vbt_data(struct drm_psb_private *dev_priv)u32addr;u8__iomem*vbt_virtual;structmid_vbt_headervbt_header;-structpci_dev*pci_gfx_root=pci_get_bus_and_slot(0,PCI_DEVFN(2,0));+structpci_dev*pci_gfx_root=+pci_get_domain_bus_and_slot(pci_domain_nr(dev->pdev->bus),+0,PCI_DEVFN(2,0));intret=-1;/* Get the address of the platform config vbt */
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:51
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/i915/i915_drv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:58:57
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Replace pci_get_bus_and_slot() with pci_get_domain_bus_and_slot()
and extract the domain number from
1. struct pci_dev
2. struct pci_dev through drm_device->pdev
3. struct pci_dev through fb->subdev->drm_device->pdev
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/nouveau/dispnv04/arb.c | 4 +++-
drivers/gpu/drm/nouveau/dispnv04/hw.c | 10 +++++++---
drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ++-
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c | 10 +++++++++-
4 files changed, 21 insertions(+), 6 deletions(-)
@@ -406,7 +406,8 @@ static int nouveau_drm_probe(struct pci_dev *pdev,}/* subfunction one is a hdmi audio device? */-drm->hdmi_device=pci_get_bus_and_slot((unsignedint)pdev->bus->number,+drm->hdmi_device=pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus),+(unsignedint)pdev->bus->number,PCI_DEVFN(PCI_SLOT(pdev->devfn),1));if(!drm->hdmi_device){
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:03
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Introduce bnx2x_vf_domain() function to extract the domain information
and save it to VF specific data structure.
Use the saved domain value while calling pci_get_domain_bus_and_slot().
Signed-off-by: Sinan Kaya <redacted>
---
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 10 +++++++++-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 1 +
2 files changed, 10 insertions(+), 1 deletion(-)
@@ -1611,6 +1618,7 @@ int bnx2x_iov_nic_init(struct bnx2x *bp)structbnx2x_virtf*vf=BP_VF(bp,vfid);/* fill in the BDF and bars */+vf->domain=bnx2x_vf_domain(bp,vfid);vf->bus=bnx2x_vf_bus(bp,vfid);vf->devfn=bnx2x_vf_devfn(bp,vfid);bnx2x_vf_set_bars(bp,vf);
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:05
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-code the domain number as 0 to match the previous behavior.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/macintosh/via-pmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:09
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain number as 0. The code doesn't seem to be ready
for multiple domains.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/pci/hotplug/cpqphp_pci.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
@@ -89,7 +89,9 @@ int cpqhp_configure_device(struct controller *ctrl, struct pci_func *func)pci_lock_rescan_remove();if(func->pci_dev==NULL)-func->pci_dev=pci_get_bus_and_slot(func->bus,PCI_DEVFN(func->device,func->function));+func->pci_dev=pci_get_domain_bus_and_slot(0,func->bus,+PCI_DEVFN(func->device,+func->function));/* No pci device, we need to create it then */if(func->pci_dev==NULL){
@@ -99,7 +101,9 @@ int cpqhp_configure_device(struct controller *ctrl, struct pci_func *func)if(num)pci_bus_add_devices(ctrl->pci_dev->bus);-func->pci_dev=pci_get_bus_and_slot(func->bus,PCI_DEVFN(func->device,func->function));+func->pci_dev=pci_get_domain_bus_and_slot(0,func->bus,+PCI_DEVFN(func->device,+func->function));if(func->pci_dev==NULL){dbg("ERROR: pci_dev still null\n");gotoout;
@@ -129,7 +133,10 @@ int cpqhp_unconfigure_device(struct pci_func *func)pci_lock_rescan_remove();for(j=0;j<8;j++){-structpci_dev*temp=pci_get_bus_and_slot(func->bus,PCI_DEVFN(func->device,j));+structpci_dev*temp=pci_get_domain_bus_and_slot(0,+func->bus,+PCI_DEVFN(func->device,+j));if(temp){pci_dev_put(temp);pci_stop_and_remove_bus_device(temp);
@@ -319,6 +326,7 @@ int cpqhp_save_config(struct controller *ctrl, int busnumber, int is_hot_plug)intcloop=0;intstop_it;intindex;+u16devfn;/* Decide which slots are supported */
@@ -416,7 +424,9 @@ int cpqhp_save_config(struct controller *ctrl, int busnumber, int is_hot_plug)new_slot->switch_save=0x10;/* In case of unsupported board */new_slot->status=DevError;-new_slot->pci_dev=pci_get_bus_and_slot(new_slot->bus,(new_slot->device<<3)|new_slot->function);+devfn=(new_slot->device<<3)|new_slot->function;+new_slot->pci_dev=pci_get_domain_bus_and_slot(0,+new_slot->bus,devfn);for(cloop=0;cloop<0x20;cloop++){rc=pci_bus_read_config_dword(ctrl->pci_bus,PCI_DEVFN(device,function),cloop<<2,(u32*)&(new_slot->config_space[cloop]));
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:16
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from pdev while calling into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/pci/quirks.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:18
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain parameter as 0 since the code doesn't seem to be
ready for multiple domains.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/pci/hotplug/ibmphp_core.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:32
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain value as 0 because the domain information is not
coming from the userspace.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/pci/syscall.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:37
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't
extract the domain number. Other places, use the actual domain number from
the device.
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sinan Kaya <redacted>
---
drivers/pci/xen-pcifront.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 16:59:59
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function. Since ISP always
uses domain 0, hard-code it in the code when calling the replacement
function pci_get_domain_bus_and_slot().
Signed-off-by: Sinan Kaya <redacted>
---
drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c | 2 +-
drivers/staging/media/atomisp/platform/intel-mid/intel_mid_pcihelpers.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:00:03
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain as 0.
Acked-by: Daniel Thompson <redacted>
Signed-off-by: Sinan Kaya <redacted>
---
drivers/video/backlight/apple_bl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:00:10
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
struct riva_par has a pointer to struct pci_dev. Use the pci_dev member
to extract the domain information.
Change the function signature for CalcStateExt and RivaGetConfig to pass
in struct pci_dev in addition to RIVA_HW_INST so that code inside the
riva_hw.c can also calculate domain number and pass it to
pci_get_domain_bus_and_slot().
Signed-off-by: Sinan Kaya <redacted>
---
drivers/video/fbdev/riva/fbdev.c | 2 +-
drivers/video/fbdev/riva/nv_driver.c | 7 ++++---
drivers/video/fbdev/riva/riva_hw.c | 20 +++++++++++++-------
drivers/video/fbdev/riva/riva_hw.h | 3 ++-
4 files changed, 20 insertions(+), 12 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:00:16
i7300_idle.h is not being called by any source file and contains calls to
pci_get_bus_and_slot() that we are trying to deprecate. Remove unused file.
Signed-off-by: Sinan Kaya <redacted>
---
include/linux/i7300_idle.h | 84 ----------------------------------------------
1 file changed, 84 deletions(-)
delete mode 100644 include/linux/i7300_idle.h
@@ -1,84 +0,0 @@-/* SPDX-License-Identifier: GPL-2.0 */--#ifndef I7300_IDLE_H-#define I7300_IDLE_H--#include <linux/pci.h>--/*- * I/O AT controls (PCI bus 0 device 8 function 0)- * DIMM controls (PCI bus 0 device 16 function 1)- */-#define IOAT_BUS 0-#define IOAT_DEVFN PCI_DEVFN(8, 0)-#define MEMCTL_BUS 0-#define MEMCTL_DEVFN PCI_DEVFN(16, 1)--struct fbd_ioat {- unsigned int vendor;- unsigned int ioat_dev;- unsigned int enabled;-};--/*- * The i5000 chip-set has the same hooks as the i7300- * but it is not enabled by default and must be manually- * manually enabled with "forceload=1" because it is- * only lightly validated.- */--static const struct fbd_ioat fbd_ioat_list[] = {- {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB, 1},- {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT, 0},- {0, 0}-};--/* table of devices that work with this driver */-static const struct pci_device_id pci_tbl[] = {- { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) },- { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) },- { } /* Terminating entry */-};--/* Check for known platforms with I/O-AT */-static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev,- struct pci_dev **ioat_dev,- int enable_all)-{- int i;- struct pci_dev *memdev, *dmadev;-- memdev = pci_get_bus_and_slot(MEMCTL_BUS, MEMCTL_DEVFN);- if (!memdev)- return -ENODEV;-- for (i = 0; pci_tbl[i].vendor != 0; i++) {- if (memdev->vendor == pci_tbl[i].vendor &&- memdev->device == pci_tbl[i].device) {- break;- }- }- if (pci_tbl[i].vendor == 0)- return -ENODEV;-- dmadev = pci_get_bus_and_slot(IOAT_BUS, IOAT_DEVFN);- if (!dmadev)- return -ENODEV;-- for (i = 0; fbd_ioat_list[i].vendor != 0; i++) {- if (dmadev->vendor == fbd_ioat_list[i].vendor &&- dmadev->device == fbd_ioat_list[i].ioat_dev) {- if (!(fbd_ioat_list[i].enabled || enable_all))- continue;- if (fbd_dev)- *fbd_dev = memdev;- if (ioat_dev)- *ioat_dev = dmadev;-- return 0;- }- }- return -ENODEV;-}--#endif
From: Sinan Kaya <hidden> Date: 2017-11-27 17:00:36
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
struct nvidia_par has a pointer to struct pci_dev. Use the pci_dev
member to extract the domain information and pass it to
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/video/fbdev/nvidia/nv_hw.c | 11 ++++++-----
drivers/video/fbdev/nvidia/nv_setup.c | 3 ++-
2 files changed, 8 insertions(+), 6 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:00:53
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Now that all users of pci_get_bus_and_slot() switched to
pci_get_domain_bus_and_slot(), it is now safe to remove this function.
Signed-off-by: Sinan Kaya <redacted>
---
include/linux/pci.h | 8 --------
1 file changed, 8 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:02:24
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Find the domain number from pdev.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/video/fbdev/intelfb/intelfbhw.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
@@ -181,7 +181,9 @@ int intelfbhw_get_memory(struct pci_dev *pdev, int *aperture_size,return1;/* Find the bridge device. It is always 0:0.0 */-if(!(bridge_dev=pci_get_bus_and_slot(0,PCI_DEVFN(0,0)))){+bridge_dev=pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus),0,+PCI_DEVFN(0,0));+if(!bridge_dev){ERR_MSG("cannot find bridge device\n");return1;}
From: Sinan Kaya <hidden> Date: 2017-11-27 17:03:40
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain as 0 since domain information is not available.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/sbus/char/openprom.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:05:44
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use the domain information from pdev while calling into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:06:11
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-code the domain number as 0 for the AMD IOMMU driver.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/iommu/amd_iommu.c | 3 ++-
drivers/iommu/amd_iommu_init.c | 9 +++++----
drivers/iommu/amd_iommu_v2.c | 3 ++-
3 files changed, 9 insertions(+), 6 deletions(-)
@@ -564,7 +564,8 @@ static int ppr_notifier(struct notifier_block *nb, unsigned long e, void *data)finish=(iommu_fault->tag>>9)&1;devid=iommu_fault->device_id;-pdev=pci_get_bus_and_slot(PCI_BUS_NUM(devid),devid&0xff);+pdev=pci_get_domain_bus_and_slot(0,PCI_BUS_NUM(devid),+devid&0xff);if(!pdev)return-ENODEV;dev_data=get_dev_data(&pdev->dev);
From: Sinan Kaya <hidden> Date: 2017-11-27 17:06:29
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Replace pci_get_bus_and_slot() with pci_get_domain_bus_and_slot()
and extract the domain number from struct pci_dev.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/ide/sl82c105.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:07:17
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Domain number is not available in struct edd_info. Hard-coding the domain
number as 0.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/firmware/edd.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
From: Sinan Kaya <hidden> Date: 2017-11-27 17:09:02
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Replace pci_get_bus_and_slot() with pci_get_domain_bus_and_slot()
and extract the domain number from struct pci_dev.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/char/agp/nvidia-agp.c | 12 +++++++++---
drivers/char/agp/sworks-agp.c | 3 ++-
2 files changed, 11 insertions(+), 4 deletions(-)
@@ -474,7 +474,8 @@ static int agp_serverworks_probe(struct pci_dev *pdev,}/* Everything is on func 1 here so we are hardcoding function one */-bridge_dev=pci_get_bus_and_slot((unsignedint)pdev->bus->number,+bridge_dev=pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus),+(unsignedint)pdev->bus->number,PCI_DEVFN(0,1));if(!bridge_dev){dev_info(&pdev->dev,"can't find secondary device\n");
From: Sinan Kaya <hidden> Date: 2017-11-27 17:09:43
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use pci_get_domain_bus_and_slot() and extract the actual domain number
from the pdev passed in.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/ata/pata_ali.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
@@ -466,7 +466,8 @@ static void ali_init_chipset(struct pci_dev *pdev)tmp|=0x01;/* CD_ROM enable for DMA */pci_write_config_byte(pdev,0x53,tmp);}-north=pci_get_bus_and_slot(0,PCI_DEVFN(0,0));+north=pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus),0,+PCI_DEVFN(0,0));if(north&&north->vendor==PCI_VENDOR_ID_AL&&ali_isa_bridge){/* Configure the ALi bridge logic. For non ALi rely on BIOS.Setthesouthbridgeenablebit*/
From: Sinan Kaya <hidden> Date: 2017-11-27 18:49:41
+dri-devel at lists.freedesktop.org
On 11/27/2017 11:57 AM, Sinan Kaya wrote:
quoted hunk
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Add domain parameter to CDV_MSG_READ32, CDV_MSG_WRITE32, MRST_MSG_READ32,
MRST_MSG_WRITE32, MDFLD_MSG_READ32, MDFLD_MSG_WRITE32.
Extract pci_dev from struct drm_device and use pdev to find the domain
number while calling pci_get_domain_bus_and_slot().
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/gma500/cdv_device.c | 16 +++++++++-------
drivers/gpu/drm/gma500/gma_device.c | 4 +++-
drivers/gpu/drm/gma500/mid_bios.c | 12 +++++++++---
drivers/gpu/drm/gma500/psb_drv.c | 10 ++++++++--
drivers/gpu/drm/gma500/psb_drv.h | 18 ++++++++++--------
5 files changed, 39 insertions(+), 21 deletions(-)
@@ -281,7 +285,9 @@ static void mid_get_vbt_data(struct drm_psb_private *dev_priv)u32addr;u8__iomem*vbt_virtual;structmid_vbt_headervbt_header;-structpci_dev*pci_gfx_root=pci_get_bus_and_slot(0,PCI_DEVFN(2,0));+structpci_dev*pci_gfx_root=+pci_get_domain_bus_and_slot(pci_domain_nr(dev->pdev->bus),+0,PCI_DEVFN(2,0));intret=-1;/* Get the address of the platform config vbt */
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
From: Sinan Kaya <hidden> Date: 2017-11-27 18:50:08
+dri-devel at lists.freedesktop.org
On 11/27/2017 11:57 AM, Sinan Kaya wrote:
quoted hunk
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/i915/i915_drv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
@@ -419,7 +419,10 @@ static int i915_getparam(struct drm_device *dev, void *data,staticinti915_get_bridge_dev(structdrm_i915_private*dev_priv){-dev_priv->bridge_dev=pci_get_bus_and_slot(0,PCI_DEVFN(0,0));+intdomain=pci_domain_nr(dev_priv->drm.pdev->bus);++dev_priv->bridge_dev=+pci_get_domain_bus_and_slot(domain,0,PCI_DEVFN(0,0));if(!dev_priv->bridge_dev){DRM_ERROR("bridge device not found\n");return-1;
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
From: Sinan Kaya <hidden> Date: 2017-11-27 18:52:29
+nouveau at lists.freedesktop.org
On 11/27/2017 11:57 AM, Sinan Kaya wrote:
quoted hunk
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Replace pci_get_bus_and_slot() with pci_get_domain_bus_and_slot()
and extract the domain number from
1. struct pci_dev
2. struct pci_dev through drm_device->pdev
3. struct pci_dev through fb->subdev->drm_device->pdev
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/nouveau/dispnv04/arb.c | 4 +++-
drivers/gpu/drm/nouveau/dispnv04/hw.c | 10 +++++++---
drivers/gpu/drm/nouveau/nouveau_drm.c | 3 ++-
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv1a.c | 10 +++++++++-
4 files changed, 21 insertions(+), 6 deletions(-)
@@ -406,7 +406,8 @@ static int nouveau_drm_probe(struct pci_dev *pdev,}/* subfunction one is a hdmi audio device? */-drm->hdmi_device=pci_get_bus_and_slot((unsignedint)pdev->bus->number,+drm->hdmi_device=pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus),+(unsignedint)pdev->bus->number,PCI_DEVFN(PCI_SLOT(pdev->devfn),1));if(!drm->hdmi_device){
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
On Monday, November 27, 2017 11:58 AM, Sinan Kaya wrote:
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
I think that this will be useful. I introduced multi domains into
ARM-based PCIe driver. (e.g. domain 0, and domain 1) So, APIs to choose
domain will be used later.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain as 0.
Acked-by: Daniel Thompson <redacted>
Signed-off-by: Sinan Kaya <redacted>
Acked-by: Jingoo Han <jingoohan1@gmail.com>
Best regards,
Jingoo Han
On Mon, Nov 27, 2017 at 11:57:41AM -0500, Sinan Kaya wrote:
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use pci_get_domain_bus_and_slot() and extract the actual domain number
from the pdev passed in.
Signed-off-by: Sinan Kaya <redacted>
Acked-by: Tejun Heo <tj@kernel.org>
Please feel free to route with the rest of the series.
Thanks.
--
tejun
From: Lee Jones <hidden> Date: 2017-11-28 08:13:49
On Mon, 27 Nov 2017, Jingoo Han wrote:
On Monday, November 27, 2017 11:58 AM, Sinan Kaya wrote:
quoted
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
I think that this will be useful. I introduced multi domains into
ARM-based PCIe driver. (e.g. domain 0, and domain 1) So, APIs to choose
domain will be used later.
quoted
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Hard-coding the domain as 0.
Acked-by: Daniel Thompson <redacted>
Signed-off-by: Sinan Kaya <redacted>
Acked-by: Jingoo Han <jingoohan1@gmail.com>
I can't apply this.
It looks like I was missing from the list of addressees.
Please resend v3 with all the Acks you've acquired.
From: Thomas Gleixner <hidden> Date: 2017-11-28 13:46:29
On Mon, 27 Nov 2017, Sinan Kaya wrote:
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Use domain number of 0 as the domain number is not available in struct
irq_routing_table.
Signed-off-by: Sinan Kaya <redacted>
@@ -839,7 +839,8 @@ static void __init pirq_find_router(struct irq_router *r)DBG(KERN_DEBUG"PCI: Attempting to find IRQ router for [%04x:%04x]\n",rt->rtr_vendor,rt->rtr_device);-pirq_router_dev=pci_get_bus_and_slot(rt->rtr_bus,rt->rtr_devfn);+pirq_router_dev=pci_get_domain_bus_and_slot(0,rt->rtr_bus,+rt->rtr_devfn);if(!pirq_router_dev){DBG(KERN_DEBUG"PCI: Interrupt router not found at ""%02x:%02x\n",rt->rtr_bus,rt->rtr_devfn);
From: Ville Syrjälä <hidden> Date: 2017-11-28 15:30:59
On Mon, Nov 27, 2017 at 11:57:46AM -0500, Sinan Kaya wrote:
quoted hunk
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/i915/i915_drv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Maybe just pci_get_slot(pdev->bus, PCI_DEVFN(0, 0)) ?
I guess if we want to be pedantic we could go for:
bus = pci_find_host_bridge(pdev->bus)->bus;
pci_get_slot(bus, PCI_DEVFN(0, 0))
but I think the GPU should always be on the root bus, so the simpler
form should be fine.
if (!dev_priv->bridge_dev) {
DRM_ERROR("bridge device not found\n");
return -1;
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Maybe just pci_get_slot(pdev->bus, PCI_DEVFN(0, 0)) ?
I guess if we want to be pedantic we could go for:
bus = pci_find_host_bridge(pdev->bus)->bus;
pci_get_slot(bus, PCI_DEVFN(0, 0))
but I think the GPU should always be on the root bus, so the simpler
form should be fine.
All three of these should be correct.
I'll use pci_get_slot(pdev->bus, PCI_DEVFN(0, 0)) as you suggested.
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
This file has been removed, I'm applying the rest of the patch.
Please use the media tree as the base in the future. Thanks.
--
Sakari Ailus
e-mail: sakari.ailus at iki.fi
Hi Sinan,
On Mon, Nov 27, 2017 at 11:57:37AM -0500, Sinan Kaya wrote:
Deprecate pci_get_bus_and_slot() in favor of pci_get_domain_bus_and_slot()
in order to remove domain 0 assumptions in the kernel.
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Use pci_get_domain_bus_and_slot() with a domain number of 0 where we can't
extract the domain number. Other places, use the actual domain number from
the device.
Changes from v2:
* commit text cleanups
* remove implicit busfn assignments and use PCI_DEVFN call in place.
* change storage type for local copy of pci_domain_nr() value to int
Sinan Kaya (29):
alpha/PCI: deprecate pci_get_bus_and_slot()
powerpc/PCI: deprecate pci_get_bus_and_slot()
x86/PCI: deprecate pci_get_bus_and_slot()
ata: deprecate pci_get_bus_and_slot()
agp: nvidia: deprecate pci_get_bus_and_slot()
edd: deprecate pci_get_bus_and_slot()
ibft: deprecate pci_get_bus_and_slot()
drm/gma500: deprecate pci_get_bus_and_slot()
drm/i915: deprecate pci_get_bus_and_slot()
drm/nouveau: deprecate pci_get_bus_and_slot()
Drivers: ide: deprecate pci_get_bus_and_slot()
iommu/amd: deprecate pci_get_bus_and_slot()
powerpc/powermac: deprecate pci_get_bus_and_slot()
bnx2x: deprecate pci_get_bus_and_slot()
pch_gbe: deprecate pci_get_bus_and_slot()
PCI: cpqhp: deprecate pci_get_bus_and_slot()
PCI: ibmphp: deprecate pci_get_bus_and_slot()
PCI/quirks: deprecate pci_get_bus_and_slot()
PCI/syscall: deprecate pci_get_bus_and_slot()
xen: deprecate pci_get_bus_and_slot()
openprom: deprecate pci_get_bus_and_slot()
[media] atomisp: deprecate pci_get_bus_and_slot()
staging: rts5208: remove rtsx_read_pci_cfg_byte()
backlight: deprecate pci_get_bus_and_slot()
video: fbdev: intelfb: deprecate pci_get_bus_and_slot()
video: fbdev: nvidia: deprecate pci_get_bus_and_slot()
video: fbdev: riva: deprecate pci_get_bus_and_slot()
i7300_idle: remove unused file
PCI: remove pci_get_bus_and_slot() function
Thanks for doing this work!
I see other maintainers are picking up some of these. I'll wait until
later in the cycle and pick up any remaining ones and the PCI core
parts.
If you repost the series for any reason, please capitalize the first
word of the changelog summary to match the drivers/pci convention (for
non PCI patches, follow *their* convention, of course) and put the
acks/reviewed-by tags after your signed-off-by. I use this order:
Reported-by:
Tested-by:
Signed-off-by: (author)
Signed-off-by: (chain)
Reviewed-by:
Acked-by:
Cc: stable at vger.kernel.org # 3.4+
Cc: (other)
But don't bother reposting the series just for this reason; I can fix
these up myself.
Bjorn
From: Sinan Kaya <hidden> Date: 2017-12-01 02:15:01
On 11/29/2017 12:09 PM, Bjorn Helgaas wrote:
I see other maintainers are picking up some of these. I'll wait until
later in the cycle and pick up any remaining ones and the PCI core
parts.
I'm also waiting for ACKs from maintainers at this moment. I'll pay attention
to the rules. Sorry about that.
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
Maybe just pci_get_slot(pdev->bus, PCI_DEVFN(0, 0)) ?
I guess if we want to be pedantic we could go for:
bus = pci_find_host_bridge(pdev->bus)->bus;
pci_get_slot(bus, PCI_DEVFN(0, 0))
but I think the GPU should always be on the root bus, so the simpler
form should be fine.
All three of these should be correct.
I'll use pci_get_slot(pdev->bus, PCI_DEVFN(0, 0)) as you suggested.
Now that I think about this more, I think my version is a simpler change
and does not introduce "new features" by assuming GPU and host to be
on the same bus similar to the original code.
Original code could have used pci_get_slot() too. Since all of them are
correct, mine is slightly more correct; I'd like to keep mine.
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
Hi,
I sent this individual i915 patch to our CI, and it is passing on all platforms:
https://patchwork.freedesktop.org/series/34822/
Is it ok if I merge this to drm-tip already?
Regards, Joonas
On Mon, 2017-11-27 at 13:50 -0500, Sinan Kaya wrote:
+dri-devel at lists.freedesktop.org
On 11/27/2017 11:57 AM, Sinan Kaya wrote:
quoted
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
---
drivers/gpu/drm/i915/i915_drv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
We don't yet.
Rodrigo, can you please pull the above patch in once we get a
backmerge?
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
On Mon, Nov 27, 2017 at 11:57:46AM -0500, Sinan Kaya wrote:
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
I don't know what happened to this, and it didn't make it into
v4.16-rc1. I applied it to pci/deprecate-get-bus-and-slot for v4.17
along with the patch that actually removes pci_get_bus_and_slot().
@@ -419,7 +419,10 @@ static int i915_getparam(struct drm_device *dev, void *data,staticinti915_get_bridge_dev(structdrm_i915_private*dev_priv){-dev_priv->bridge_dev=pci_get_bus_and_slot(0,PCI_DEVFN(0,0));+intdomain=pci_domain_nr(dev_priv->drm.pdev->bus);++dev_priv->bridge_dev=+pci_get_domain_bus_and_slot(domain,0,PCI_DEVFN(0,0));if(!dev_priv->bridge_dev){DRM_ERROR("bridge device not found\n");return-1;
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From: Jani Nikula <jani.nikula@linux.intel.com> Date: 2018-02-19 09:34:44
On Fri, 16 Feb 2018, Bjorn Helgaas [off-list ref] wrote:
On Mon, Nov 27, 2017 at 11:57:46AM -0500, Sinan Kaya wrote:
quoted
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
I don't know what happened to this, and it didn't make it into
v4.16-rc1. I applied it to pci/deprecate-get-bus-and-slot for v4.17
along with the patch that actually removes pci_get_bus_and_slot().
It fell between the cracks as we couldn't apply it before getting a
backmerge on the dependency. Sorry about that.
Ack for merging through your tree.
Thanks,
Jani.
@@ -419,7 +419,10 @@ static int i915_getparam(struct drm_device *dev, void *data,staticinti915_get_bridge_dev(structdrm_i915_private*dev_priv){-dev_priv->bridge_dev=pci_get_bus_and_slot(0,PCI_DEVFN(0,0));+intdomain=pci_domain_nr(dev_priv->drm.pdev->bus);++dev_priv->bridge_dev=+pci_get_domain_bus_and_slot(domain,0,PCI_DEVFN(0,0));if(!dev_priv->bridge_dev){DRM_ERROR("bridge device not found\n");return-1;
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Jani Nikula, Intel Open Source Technology Center
On Fri, 16 Feb 2018, Bjorn Helgaas [off-list ref] wrote:
quoted
On Mon, Nov 27, 2017 at 11:57:46AM -0500, Sinan Kaya wrote:
quoted
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.
Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().
Extract the domain number from drm_device and pass it into
pci_get_domain_bus_and_slot() function.
Signed-off-by: Sinan Kaya <redacted>
I don't know what happened to this, and it didn't make it into
v4.16-rc1. I applied it to pci/deprecate-get-bus-and-slot for v4.17
along with the patch that actually removes pci_get_bus_and_slot().
It fell between the cracks as we couldn't apply it before getting a
backmerge on the dependency. Sorry about that.
Ack for merging through your tree.
I just retested the patch and it still passes CI. We also now have the
dependency in our tree through the backmerge, so I can send this for the
next drm-next pull request. Either way suits me.
Regards, Joonas