2 * Copyright (C) 2015 Google, Inc
3 * Written by Simon Glass <sjg@chromium.org>
5 * SPDX-License-Identifier: GPL-2.0+
15 DECLARE_GLOBAL_DATA_PTR
;
17 int cpu_get_desc(struct udevice
*dev
, char *buf
, int size
)
19 struct cpu_ops
*ops
= cpu_get_ops(dev
);
24 return ops
->get_desc(dev
, buf
, size
);
27 int cpu_get_info(struct udevice
*dev
, struct cpu_info
*info
)
29 struct cpu_ops
*ops
= cpu_get_ops(dev
);
34 return ops
->get_info(dev
, info
);
37 int cpu_get_count(struct udevice
*dev
)
39 struct cpu_ops
*ops
= cpu_get_ops(dev
);
44 return ops
->get_count(dev
);
47 int cpu_get_vendor(struct udevice
*dev
, char *buf
, int size
)
49 struct cpu_ops
*ops
= cpu_get_ops(dev
);
54 return ops
->get_vendor(dev
, buf
, size
);
57 U_BOOT_DRIVER(cpu_bus
) = {
59 .id
= UCLASS_SIMPLE_BUS
,
60 .per_child_platdata_auto_alloc_size
= sizeof(struct cpu_platdata
),
63 static int uclass_cpu_init(struct uclass
*uc
)
69 node
= fdt_path_offset(gd
->fdt_blob
, "/cpus");
73 ret
= device_bind_driver_to_node(dm_root(), "cpu_bus", "cpus", node
,
79 UCLASS_DRIVER(cpu
) = {
82 .flags
= DM_UC_FLAG_SEQ_ALIAS
,
83 .init
= uclass_cpu_init
,