* PCI bus specific translator
*/
+static bool dt_node_is_pci(const struct dt_device_node *np)
+{
+ bool is_pci = !strcmp(np->name, "pcie") || !strcmp(np->name, "pci");
+
+ if ( is_pci )
+ printk(XENLOG_WARNING "%s: Missing device_type\n", np->full_name);
+
+ return is_pci;
+}
+
static bool_t dt_bus_pci_match(const struct dt_device_node *np)
{
/*
* "pciex" is PCI Express "vci" is for the /chaos bridge on 1st-gen PCI
* powermacs "ht" is hypertransport
+ *
+ * If none of the device_type match, and that the node name is
+ * "pcie" or "pci", accept the device as PCI (with a warning).
*/
return !strcmp(np->type, "pci") || !strcmp(np->type, "pciex") ||
- !strcmp(np->type, "vci") || !strcmp(np->type, "ht");
+ !strcmp(np->type, "vci") || !strcmp(np->type, "ht") ||
+ dt_node_is_pci(np);
}
static void dt_bus_pci_count_cells(const struct dt_device_node *np,