// Copyright 2020 The Fuchsia Authors
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT

#ifndef ZIRCON_KERNEL_INCLUDE_TOPOLOGY_H_
#define ZIRCON_KERNEL_INCLUDE_TOPOLOGY_H_

void topology_init();

#endif // ZIRCON_KERNEL_INCLUDE_TOPOLOGY_H_
