class PlatformDevice

Defined at line 30 of file ../../src/devices/bus/drivers/platform/platform-device.h

This class represents a platform device attached to the platform bus.

Instances of this class are created by PlatformBus at boot time when the board driver

calls the platform bus protocol method pbus_device_add().

Public Methods

template <typename T>
GetInterruptCallback MakeGetInterruptCallback (T & completer)

Defined at line 36 of file ../../src/devices/bus/drivers/platform/platform-device.h

const std::string & name ()

Defined at line 55 of file ../../src/devices/bus/drivers/platform/platform-device.h

uint32_t vid ()

Defined at line 56 of file ../../src/devices/bus/drivers/platform/platform-device.h

uint32_t pid ()

Defined at line 57 of file ../../src/devices/bus/drivers/platform/platform-device.h

uint32_t did ()

Defined at line 58 of file ../../src/devices/bus/drivers/platform/platform-device.h

uint32_t instance_id ()

Defined at line 59 of file ../../src/devices/bus/drivers/platform/platform-device.h

PlatformBus * bus ()

Defined at line 61 of file ../../src/devices/bus/drivers/platform/platform-device.h

const PlatformBus * bus ()

Defined at line 62 of file ../../src/devices/bus/drivers/platform/platform-device.h

zx::result<std::unique_ptr<PlatformDevice>> Create (fuchsia_hardware_platform_bus::Node node, PlatformBus * bus, inspect::ComponentInspector & inspector)

Creates a new PlatformDevice instance.

*flags* contains zero or more PDEV_ADD_* flags from the platform bus protocol.

Defined at line 104 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void PlatformDevice (PlatformBus * bus, inspect::Node inspect_node, fuchsia_hardware_platform_bus::Node node)

Defined at line 128 of file ../../src/devices/bus/drivers/platform/platform-device.cc

bool HasInterruptVector (uint32_t vector)

Defined at line 129 of file ../../src/devices/bus/drivers/platform/platform-device.h

bool HasInterruptKoid (zx_koid_t koid)

Defined at line 130 of file ../../src/devices/bus/drivers/platform/platform-device.h

zx::event node_token ()

Defined at line 132 of file ../../src/devices/bus/drivers/platform/platform-device.h

zx::result<> CreateNode ()

Defined at line 328 of file ../../src/devices/bus/drivers/platform/platform-device.cc

zx::result<> Init ()

Defined at line 519 of file ../../src/devices/bus/drivers/platform/platform-device.cc

zx::result<Mmio> GetMmio (uint32_t index)

Defined at line 138 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetInterrupt (uint32_t index, uint32_t flags, GetInterruptCallback callback)

Defined at line 176 of file ../../src/devices/bus/drivers/platform/platform-device.cc

zx::result<zx::bti> GetBti (uint32_t index)

Defined at line 262 of file ../../src/devices/bus/drivers/platform/platform-device.cc

zx::result<zx::resource> GetSmc (uint32_t index)

Defined at line 276 of file ../../src/devices/bus/drivers/platform/platform-device.cc

DeviceInfo GetDeviceInfo ()

Defined at line 302 of file ../../src/devices/bus/drivers/platform/platform-device.cc

BoardInfo GetBoardInfo ()

Defined at line 318 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetMmioById (GetMmioByIdRequestView request, GetMmioByIdCompleter::Sync & completer)

Platform device protocol FIDL implementation.

Defined at line 658 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetMmioByName (GetMmioByNameRequestView request, GetMmioByNameCompleter::Sync & completer)

Defined at line 674 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetInterruptById (GetInterruptByIdRequestView request, GetInterruptByIdCompleter::Sync & completer)

Defined at line 698 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetInterruptByName (GetInterruptByNameRequestView request, GetInterruptByNameCompleter::Sync & completer)

Defined at line 703 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetBtiById (GetBtiByIdRequestView request, GetBtiByIdCompleter::Sync & completer)

Defined at line 716 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetBtiByName (GetBtiByNameRequestView request, GetBtiByNameCompleter::Sync & completer)

Defined at line 726 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetSmcById (GetSmcByIdRequestView request, GetSmcByIdCompleter::Sync & completer)

Defined at line 743 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetSmcByName (GetSmcByNameRequestView request, GetSmcByNameCompleter::Sync & completer)

Defined at line 753 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetPowerConfiguration (GetPowerConfigurationCompleter::Sync & completer)

Defined at line 770 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetNodeDeviceInfo (GetNodeDeviceInfoCompleter::Sync & completer)

Defined at line 794 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetBoardInfo (GetBoardInfoCompleter::Sync & completer)

Defined at line 810 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void GetMetadata (GetMetadataRequestView request, GetMetadataCompleter::Sync & completer)

Defined at line 821 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_platform_device::Device> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 831 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void RegisterController (RegisterControllerRequestView request, RegisterControllerCompleter::Sync & completer)

fuchsia.hardware.interrupt.ControllerRegistry implementation.

Defined at line 837 of file ../../src/devices/bus/drivers/platform/platform-device.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_interrupt::ControllerRegistry> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 853 of file ../../src/devices/bus/drivers/platform/platform-device.cc

Records