On Tue, Oct 13, 2020 at 8:27 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Wed, Oct 7, 2020 at 9:58 PM Martin Blumenstingl > <martin.blumenstingl@xxxxxxxxxxxxxx> wrote: > > On Wed, Oct 7, 2020 at 11:19 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > > On Sun, Oct 4, 2020 at 8:00 PM Martin Blumenstingl > > > <martin.blumenstingl@xxxxxxxxxxxxxx> wrote: > > > > > > > +properties: > > > > + compatible: > > > > + enum: > > > > + - pci1b6f,7023 > > > > + - pci1b6f,7052 > > > > > > I think it is better to let the PCI driver for the whole hardware in > > > drivers/usb/host/xhci-pci.c probe from the PCI configuration space > > > numbers, and then add a gpio_chip to xhci-pci.c. > > > > to have everything consistent I will move the binding to > > Documentation/devicetree/bindings/usb > > I do not understand why a PCI device would need a DT binding > at all. They just probe from the magic number in the PCI > config space, they spawn struct pci_dev PCI devices, not the > type of platform devices coming out of the DT parser code. > No DT compatible needed. Same reason for all the discoverable buses need bindings. There can be parts that are not discoverable or connections with non-discoverable nodes. There's also cases where the discoverable device has to be powered, reset deasserted, clocks enabled, etc. first to be discovered. If the GPIOs here had connections elsewhere in the DT, then we have to describe the provider in DT. Rob