MCPcopy Create free account
hub / github.com/coreboot/coreboot / dev_path

Function dev_path

src/device/device_util.c:155–244  ·  view source on GitHub ↗

* Warning: This function uses a static buffer. Don't call it more than once * from the same print statement! */

Source from the content-addressed store, hash-verified

153 * from the same print statement!
154 */
155const char *dev_path(const struct device *dev)
156{
157 static char buffer[DEVICE_PATH_MAX];
158
159 buffer[0] = '\0';
160 if (!dev) {
161 strcpy(buffer, "<null>");
162 } else {
163 switch (dev->path.type) {
164 case DEVICE_PATH_NONE:
165 strcpy(buffer, "NONE");
166 break;
167 case DEVICE_PATH_ROOT:
168 strcpy(buffer, "Root Device");
169 break;
170 case DEVICE_PATH_PCI:
171 snprintf(buffer, sizeof(buffer),
172 "PCI: %02x:%02x:%02x.%01x",
173 dev->upstream->segment_group,
174 dev->upstream->secondary,
175 PCI_SLOT(dev->path.pci.devfn),
176 PCI_FUNC(dev->path.pci.devfn));
177 break;
178 case DEVICE_PATH_PNP:
179 snprintf(buffer, sizeof(buffer), "PNP: %04x.%01x",
180 dev->path.pnp.port, dev->path.pnp.device);
181 break;
182 case DEVICE_PATH_I2C:
183 snprintf(buffer, sizeof(buffer), "I2C: %02x:%02x",
184 dev->upstream->secondary,
185 dev->path.i2c.device);
186 break;
187 case DEVICE_PATH_APIC:
188 snprintf(buffer, sizeof(buffer), "APIC: %02x",
189 dev->path.apic.apic_id);
190 break;
191 case DEVICE_PATH_IOAPIC:
192 snprintf(buffer, sizeof(buffer), "IOAPIC: %02x",
193 dev->path.ioapic.ioapic_id);
194 break;
195 case DEVICE_PATH_DOMAIN:
196 snprintf(buffer, sizeof(buffer), "DOMAIN: %08x",
197 dev->path.domain.domain_id);
198 break;
199 case DEVICE_PATH_CPU_CLUSTER:
200 snprintf(buffer, sizeof(buffer), "CPU_CLUSTER: %01x",
201 dev->path.cpu_cluster.cluster);
202 break;
203 case DEVICE_PATH_CPU:
204 snprintf(buffer, sizeof(buffer),
205 "CPU: %02x", dev->path.cpu.id);
206 break;
207 case DEVICE_PATH_CPU_BUS:
208 snprintf(buffer, sizeof(buffer),
209 "CPU_BUS: %02x", dev->path.cpu_bus.id);
210 break;
211 case DEVICE_PATH_GENERIC:
212 snprintf(buffer, sizeof(buffer),

Callers 15

mainboard_initFunction · 0.85
acpi_write_dbg2_pci_uartFunction · 0.85
fw_config_initFunction · 0.85
smbios_walk_device_treeFunction · 0.85
thermal_zone_fill_ssdtFunction · 0.85
lpc_tpm_fill_ssdtFunction · 0.85
ipmi_ssdtFunction · 0.85

Calls 3

strcpyFunction · 0.50
snprintfFunction · 0.50
printkFunction · 0.50

Tested by 1