blob: 417660a1a6f406fbec765539eba02b9e545dcda2 [file] [log] [blame] [edit]
# Copyright 2024 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/bind/bind.gni")
import("//build/components.gni")
import("//build/drivers.gni")
group("tests") {
testonly = true
public_deps = [
":generic-suspend-bind",
":generic-suspend-bind-with-fake-syscall",
"tests:generic-suspend-test-bin",
"tests:generic-suspend-test-package",
]
}
group("drivers") {
testonly = true
deps = [
":generic-suspend",
":generic-suspend-with-fake-syscall",
]
}
driver_bind_rules("generic-suspend-bind") {
rules = "meta/generic-suspend.bind"
bind_output = "generic-suspend.bindbc"
tests = "meta/generic-suspend-bind-test.json"
deps = [
"//src/devices/bind/fuchsia.devicetree",
"//src/devices/bind/fuchsia.platform",
]
}
_DEPS = [
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp",
"//sdk/fidl/fuchsia.driver.compat:fuchsia.driver.compat_cpp",
"//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_cpp",
"//sdk/fidl/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_cpp",
"//sdk/fidl/fuchsia.hardware.power.suspend:fuchsia.hardware.power.suspend_cpp",
"//sdk/fidl/fuchsia.kernel:fuchsia.kernel_cpp",
"//sdk/fidl/fuchsia.power.observability:fuchsia.power.observability_cpp",
"//sdk/lib/driver/compat/cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//sdk/lib/driver/runtime:driver_runtime_cpp",
"//sdk/lib/inspect/component/cpp",
"//zircon/system/ulib/trace",
"//src/devices/lib/driver:driver_runtime",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/hwreg",
"//zircon/system/ulib/inspect",
"//zircon/system/ulib/zx",
]
_SOURCES = [
"generic-suspend.cc",
"driver-registration.cc",
]
fuchsia_cc_driver("generic-suspend-driver") {
output_name = "generic-suspend"
sources = _SOURCES
deps = _DEPS
deps += [ ":generic-suspend-bind" ]
}
fuchsia_driver_component("generic-suspend") {
component_name = "generic-suspend"
deps = [ ":generic-suspend-driver" ]
info = "meta/generic-suspend-info.json"
manifest = "meta/generic-suspend.cml"
}
fuchsia_driver_package("package") {
package_name = "generic-suspend"
export_to_bazel = true
driver_components = [ ":generic-suspend" ]
}
# Test fixtures
driver_bind_rules("generic-suspend-bind-with-fake-syscall") {
testonly = true
rules = "meta/generic-suspend-with-fake-syscall.bind"
bind_output = "generic-suspend-with-fake-syscall.bindbc"
tests = "meta/generic-suspend-bind-test-with-fake-syscall.json"
deps = [ "//src/devices/bind/fuchsia.test" ]
}
fuchsia_cc_driver("generic-suspend-driver-with-fake-syscall") {
testonly = true
output_name = "generic-suspend-with-fake-syscall"
sources = _SOURCES
sources -= [ "driver-registration.cc" ]
sources += [ "tests/generic-suspend-for-tests.cc" ]
deps = _DEPS
deps += [
":generic-suspend-bind-with-fake-syscall",
# Overrides the default vDSO call to zx_system_suspend_enter.
"//src/devices/testing/syscall-intercept:lib",
]
}
fuchsia_driver_component("generic-suspend-with-fake-syscall") {
testonly = true
deps = [ ":generic-suspend-driver-with-fake-syscall" ]
info = "meta/generic-suspend-info.json"
manifest = "meta/generic-suspend-with-fake-syscall.cml"
}
fuchsia_driver_package("package-with-fake-syscall") {
testonly = true
package_name = "generic-suspend-with-fake-syscall"
driver_components = [ ":generic-suspend-with-fake-syscall" ]
}