// Copyright 2022 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.

// For more info see: https://fuchsia.dev/fuchsia-src/concepts/drivers/driver-binding

fuchsia.BIND_PROTOCOL == fuchsia.usb.BIND_PROTOCOL.FUNCTION;
fuchsia.BIND_USB_CLASS == fuchsia.usb.BIND_USB_CLASS.VENDOR_SPECIFIC;
fuchsia.BIND_USB_SUBCLASS == fuchsia.google.platform.usb.BIND_USB_SUBCLASS.FASTBOOT;
fuchsia.BIND_USB_PROTOCOL == fuchsia.google.platform.usb.BIND_USB_PROTOCOL.FASTBOOT;
