On Fri, 14 Jun 2019 12:09 -07:00, Valdis Klētnieks wrote: > On Fri, 14 Jun 2019 12:01:28 -0700, you said: > > > > static const struct pci_device_id pch_gpio_pcidev_id[] = { > > > { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x8803) }, > > > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8014) }, > > > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8043) }, > > > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8803) }, > > > { 0, } > > > }; > > > MODULE_DEVICE_TABLE(pci, pch_gpio_pcidev_id); > > > It is a PCI device with 8086/9d20 IDs. > > Give this patch a try, if it works I'll push it upstream for you... > > diff --git a/drivers/gpio/gpio-pch.c b/drivers/gpio/gpio-pch.c > index 1d99293096f2..19884b5b2a74 100644 > --- a/drivers/gpio/gpio-pch.c > +++ b/drivers/gpio/gpio-pch.c > @@ -439,6 +439,7 @@ static SIMPLE_DEV_PM_OPS(pch_gpio_pm_ops, pch_gpio_suspend, pch_gpio_resume); > > static const struct pci_device_id pch_gpio_pcidev_id[] = { > { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x8803) }, > + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x9d20) }, > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8014) }, > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8043) }, > { PCI_DEVICE(PCI_VENDOR_ID_ROHM, 0x8803) }, > I did try this. It did not enumerate. There is one little detail. This device is hidden by default in motherboard FW. However, I manually un-hide it before trying to enumerate the device. gpio-pch driver's patched as you described, built out-of-tree and loaded. Then, I un-hide the device and rescan the bus: # echo 1 > /sys/bus/pcie/rescan On Fri, 14 Jun 2019 12:13 -07:00, Bjørn Mork wrote: > "Valdis Klētnieks" writes: > > > Though I'm having a hard time aligning that with "D31:F2". Are you confusing > > a PCI address with a PCI ID, or is this on a non-PCI bus? > > "D31:F2" is device 31, function 2. We're used to see this as "1f.2". > > The question is really: Is there such a device in the system? And if so: > What's the ID? That's easy to find out: > > lspci -vvvnns 0:1f.2 > Device is indeed there: lspci -vvvnns 1f.1 00:1f.1 Memory controller [0580]: Intel Corporation Device [8086:9d20] (rev 21) Subsystem: Gigabyte Technology Co., Ltd Device [1458:1000] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-