struct udevice *pci_get_controller(struct udevice *dev) { while (device_is_on_pci_bus(dev)) dev = dev->parent; return dev; }
static int intel_i2c_bind(struct udevice *dev) { static int num_cards __attribute__ ((section(".data"))); char name[20]; /* Create a unique device name for PCI type devices */ if (device_is_on_pci_bus(dev)) { /* * ToDo: * Setting req_seq in the driver is probably not recommended. * But without a DT alias the number is not configured. And * using this driver is impossible for PCIe I2C devices. * This can be removed, once a better (correct) way for this * is found and implemented. */ dev->req_seq = num_cards; sprintf(name, "intel_i2c#%u", num_cards++); device_set_name(dev, name); } return 0; }