blob: 39ada7458de3b62fe1d1bbfaed247c27dcc75d67 [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.
load(
"@rules_fuchsia//fuchsia:defs.bzl",
"fuchsia_cc_driver",
"fuchsia_cc_test",
"fuchsia_component_manifest",
"fuchsia_driver_bind_bytecode",
"fuchsia_driver_component",
"fuchsia_package",
"fuchsia_unittest_package",
)
cc_library(
name = "common",
srcs = [
"adc-buttons.cc",
"adc-buttons.h",
"adc-buttons-device.cc",
"adc-buttons-device.h",
],
defines = [
"ZX_ASSERT_LEVEL=2",
"_ALL_SOURCE",
],
deps = [
"//src/devices/lib/amlogic",
"//zircon/system/ulib/ddk-platform-defs",
"//zircon/system/ulib/fbl",
"@fuchsia_sdk//fidl/fuchsia.buttons:fuchsia.buttons_cpp",
"@fuchsia_sdk//fidl/fuchsia.hardware.adc:fuchsia.hardware.adc_cpp",
"@fuchsia_sdk//fidl/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_cpp",
"@fuchsia_sdk//fidl/fuchsia.input.report:fuchsia.input.report_cpp",
"@fuchsia_sdk//pkg/driver_component_cpp",
"@fuchsia_sdk//pkg/driver_devfs_cpp",
"@fuchsia_sdk//pkg/driver_platform_device_cpp",
"@fuchsia_sdk//pkg/driver_runtime",
"@fuchsia_sdk//pkg/input_report_reader",
"@fuchsia_sdk//pkg/mmio",
],
)
fuchsia_driver_bind_bytecode(
name = "adc-buttons-bind",
output = "adc-buttons.bindbc",
rules = "meta/adc-buttons.bind",
deps = [
"@fuchsia_sdk//bind/fuchsia.adc",
"@fuchsia_sdk//bind/fuchsia.devicetree",
"@fuchsia_sdk//bind/fuchsia.platform",
"@fuchsia_sdk//fidl/fuchsia.hardware.adc:fuchsia.hardware.adc_bindlib",
],
)
fuchsia_cc_driver(
name = "adc-buttons-driver",
output_name = "adc-buttons",
deps = [":common"],
)
fuchsia_component_manifest(
name = "manifest",
src = "meta/adc-buttons.cml",
)
fuchsia_driver_component(
name = "component",
bind_bytecode = ":adc-buttons-bind",
driver_lib = ":adc-buttons-driver",
manifest = ":manifest",
)
fuchsia_package(
name = "adc-buttons",
package_name = "adc-buttons",
components = [":component"],
fuchsia_api_level = "HEAD",
package_repository_name = "fuchsia.com",
visibility = ["//visibility:public"],
)
# =======
# Tests
# =======
fuchsia_cc_test(
name = "adc-buttons-test-bin",
srcs = ["adc-buttons-test.cc"],
deps = [
":common",
"@com_google_googletest//:gtest",
"@com_google_googletest//:gtest_main",
"@fuchsia_sdk//pkg/driver_fake_platform_device_cpp",
"@fuchsia_sdk//pkg/driver_testing_cpp",
],
)
fuchsia_unittest_package(
name = "adc-buttons-test-package",
package_name = "adc-buttons-test",
fuchsia_api_level = "HEAD",
unit_tests = ["adc-buttons-test-bin"],
visibility = ["//visibility:public"],
)