haiku/headers/os/drivers/bus/FDT.h
X512 8ca0f03d0c riscv64/smp: Implement multi-processor support
* Working under qemu smp 1,2+
* Working on SiFive Unmatched
* x86_64 efi not broken by smp_boot_other_cpus change

Change-Id: I32ebc17913e46ed082be9ade8f56448bbf12f16e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4705
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-12-12 15:35:24 +00:00

32 lines
890 B
C

/*
* Copyright 2020-2021, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _DRIVERS_BUS_FDT_H
#define _DRIVERS_BUS_FDT_H
#include <device_manager.h>
struct fdt_bus;
struct fdt_device;
typedef struct fdt_bus_module_info {
driver_module_info info;
device_node* (*node_by_phandle)(struct fdt_bus* bus, int phandle);
} fdt_bus_module_info;
typedef struct fdt_device_module_info {
driver_module_info info;
device_node* (*get_bus)(struct fdt_device* dev);
const char* (*get_name)(struct fdt_device* dev);
const void* (*get_prop)(struct fdt_device* dev, const char* name, int* len);
bool (*get_reg)(struct fdt_device* dev, uint32 ord, uint64* regs, uint64* len);
bool (*get_interrupt)(struct fdt_device* dev, uint32 ord,
device_node** interruptController, uint64* interrupt);
} fdt_device_module_info;
#endif // _DRIVERS_BUS_FDT_H