zephyr/drivers/timer/sys_clock_init.c
Anas Nashif 9c1efe6b4b clock: remove z_ from semi-public APIs
The clock/timer APIs are not application facing APIs, however, similar
to arch_ and a few other APIs they are available to implement drivers
and add support for new hardware and are documented and available to be
used outside of the clock/kernel subsystems.

Remove the leading z_ and provide them as clock_* APIs for someone
writing a new timer driver to use.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-03-19 11:22:17 -04:00

54 lines
1,000 B
C

/*
* Copyright (c) 2015 Wind River Systems, Inc.
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* @file
* @brief Initialize system clock driver
*
* Initializing the timer driver is done in this module to reduce code
* duplication.
*/
#include <kernel.h>
#include <init.h>
#include <drivers/timer/system_timer.h>
/* Weak-linked noop defaults for optional driver interfaces: */
void __weak z_clock_isr(void *arg)
{
__ASSERT_NO_MSG(false);
}
int __weak sys_clock_driver_init(const struct device *device)
{
ARG_UNUSED(device);
return 0;
}
int __weak z_clock_device_ctrl(const struct device *device,
uint32_t ctrl_command,
void *context, device_pm_cb cb, void *arg)
{
return -ENOTSUP;
}
void __weak sys_clock_set_timeout(int32_t ticks, bool idle)
{
}
void __weak sys_clock_idle_exit(void)
{
}
void __weak sys_clock_disable(void)
{
}
SYS_DEVICE_DEFINE("sys_clock", sys_clock_driver_init, z_clock_device_ctrl,
PRE_KERNEL_2, CONFIG_SYSTEM_CLOCK_INIT_PRIORITY);