1*da802b9eSSimon Glass /* 2*da802b9eSSimon Glass * Copyright (c) 2014 Google, Inc 3*da802b9eSSimon Glass * 4*da802b9eSSimon Glass * SPDX-License-Identifier: GPL-2.0+ 5*da802b9eSSimon Glass */ 6*da802b9eSSimon Glass 7*da802b9eSSimon Glass #include <common.h> 8*da802b9eSSimon Glass #include <dm.h> 9*da802b9eSSimon Glass #include <dm/root.h> 10*da802b9eSSimon Glass 11*da802b9eSSimon Glass DECLARE_GLOBAL_DATA_PTR; 12*da802b9eSSimon Glass 13*da802b9eSSimon Glass static int simple_bus_post_bind(struct udevice *dev) 14*da802b9eSSimon Glass { 15*da802b9eSSimon Glass return dm_scan_fdt_node(dev, gd->fdt_blob, dev->of_offset, false); 16*da802b9eSSimon Glass } 17*da802b9eSSimon Glass 18*da802b9eSSimon Glass UCLASS_DRIVER(simple_bus) = { 19*da802b9eSSimon Glass .id = UCLASS_SIMPLE_BUS, 20*da802b9eSSimon Glass .name = "simple_bus", 21*da802b9eSSimon Glass .post_bind = simple_bus_post_bind, 22*da802b9eSSimon Glass }; 23*da802b9eSSimon Glass 24*da802b9eSSimon Glass static const struct udevice_id generic_simple_bus_ids[] = { 25*da802b9eSSimon Glass { .compatible = "simple-bus" }, 26*da802b9eSSimon Glass { } 27*da802b9eSSimon Glass }; 28*da802b9eSSimon Glass 29*da802b9eSSimon Glass U_BOOT_DRIVER(simple_bus_drv) = { 30*da802b9eSSimon Glass .name = "generic_simple_bus", 31*da802b9eSSimon Glass .id = UCLASS_SIMPLE_BUS, 32*da802b9eSSimon Glass .of_match = generic_simple_bus_ids, 33*da802b9eSSimon Glass }; 34