|
@@ -190,7 +190,6 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node, const char *prop_name)
|
|
|
return fdtdec_get_addr_size(blob, node, prop_name, NULL);
|
|
|
}
|
|
|
|
|
|
-#if CONFIG_IS_ENABLED(PCI) && defined(CONFIG_DM_PCI)
|
|
|
int fdtdec_get_pci_vendev(const void *blob, int node, u16 *vendor, u16 *device)
|
|
|
{
|
|
|
const char *list, *end;
|
|
@@ -238,7 +237,15 @@ int fdtdec_get_pci_bar32(const struct udevice *dev, struct fdt_pci_addr *addr,
|
|
|
return -EINVAL;
|
|
|
|
|
|
barnum = (barnum - PCI_BASE_ADDRESS_0) / 4;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * There is a strange toolchain bug with nds32 which complains about
|
|
|
+ * an undefined reference here, even if fdtdec_get_pci_bar32() is never
|
|
|
+ * called. An #ifdef seems to be the only fix!
|
|
|
+ */
|
|
|
+#if !IS_ENABLED(CONFIG_NDS32)
|
|
|
*bar = dm_pci_read_bar32(dev, barnum);
|
|
|
+#endif
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -258,7 +265,6 @@ int fdtdec_get_pci_bus_range(const void *blob, int node,
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name,
|
|
|
uint64_t default_val)
|