int dev_read_phandle(struct udevice *dev) { ofnode node = dev_ofnode(dev); if (ofnode_is_np(node)) return ofnode_to_np(node)->phandle; else return fdt_get_phandle(gd->fdt_blob, ofnode_to_offset(node)); }
int dev_read_enabled(struct udevice *dev) { ofnode node = dev_ofnode(dev); if (ofnode_is_np(node)) return of_device_is_available(ofnode_to_np(node)); else return fdtdec_get_is_enabled(gd->fdt_blob, ofnode_to_offset(node)); }
int dev_read_alias_seq(struct udevice *dev, int *devnump) { ofnode node = dev_ofnode(dev); const char *uc_name = dev->uclass->uc_drv->name; int ret; if (ofnode_is_np(node)) { ret = of_alias_get_id(ofnode_to_np(node), uc_name); if (ret >= 0) *devnump = ret; } else { ret = fdtdec_get_alias_seq(gd->fdt_blob, uc_name, ofnode_to_offset(node), devnump); } return ret; }
static int rpc_spi_bind(struct udevice *parent) { const void *fdt = gd->fdt_blob; ofnode node; int ret, off; /* * Check if there are any SPI NOR child nodes, if so, bind as * this controller will be operated in SPI mode. */ dev_for_each_subnode(node, parent) { off = ofnode_to_offset(node); ret = fdt_node_check_compatible(fdt, off, "spi-flash"); if (!ret) return 0; ret = fdt_node_check_compatible(fdt, off, "jedec,spi-nor"); if (!ret) return 0; }