> > +/* The hardware exposes 3 ports. Port 0 (WiFi and Bluetooth) is > > special, as it > > + * is power-gated by SMC to facilitate rfkill. > > + */ > > +enum apple_pcie_port { > > + APPLE_PCIE_PORT_RADIO = 0, > > + APPLE_PCIE_PORT_USB = 1, > > + APPLE_PCIE_PORT_ETHERNET = 2, > > + APPLE_PCIE_NUM_PORTS > > +}; > > This will also be used for the Thunderbolt ports, where this enum > won't apply at all. I could also see Apple changing the individual port > assignments in the future. I'd just remove it here and have this file be > a generic PCIe driver for Apple SoCs. Removed in v2. > As above, I don't think it makes sense to special-case anything for the > devices on the bus here. These controllers also have hot plug support, > so the radios don't have to be on by the time it's initialized. > We could also just turn them on in the bootloader for now. This should be fixed in v2 with Mark's device tree bindings.