blob: 601c1b1d08a8f57e988832c902378c851c4b8588 [file] [log] [blame]
// 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.
#ifndef SRC_DEVICES_BOARD_DRIVERS_VIM3_DEVICETREE_VISITORS_VIM3_ADC_BUTTONS_H_
#define SRC_DEVICES_BOARD_DRIVERS_VIM3_DEVICETREE_VISITORS_VIM3_ADC_BUTTONS_H_
#include <lib/driver/devicetree/visitors/driver-visitor.h>
namespace vim3_dt {
// The |Vim3AdcButtonsVisitor| overrides metadata and composite spec for adc buttons node.
// TODO(https://fxbug.dev/340928876) : Create devicetree schema and generic visitor for this
// metadata and dependency on adc, and remove this workaround.
class Vim3AdcButtonsVisitor : public fdf_devicetree::DriverVisitor {
public:
explicit Vim3AdcButtonsVisitor()
: DriverVisitor({"fuchsia,adc-buttons", "amlogic,meson-g12a-saradc"}) {}
zx::result<> DriverVisit(fdf_devicetree::Node& node,
const devicetree::PropertyDecoder& decoder) override;
private:
zx::result<> AddAdcButtonsMetadata(fdf_devicetree::Node& node);
};
} // namespace vim3_dt
#endif // SRC_DEVICES_BOARD_DRIVERS_VIM3_DEVICETREE_VISITORS_VIM3_ADC_BUTTONS_H_