blob: 17958e782392ac9bd3cecf622633daa1e3293470 [file] [log] [blame]
/*
* Copyright (c) 2020 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <sys/printk.h>
#include <zephyr/types.h>
#include <pm/device_runtime.h>
#include "dummy_driver.h"
static int dummy_wait(const struct device *dev)
{
return pm_device_wait(dev, K_FOREVER);
}
static int dummy_open(const struct device *dev)
{
return pm_device_get_async(dev);
}
static int dummy_open_sync(const struct device *dev)
{
return pm_device_get(dev);
}
static int dummy_close(const struct device *dev)
{
return pm_device_put_async(dev);
}
static int dummy_close_sync(const struct device *dev)
{
return pm_device_put(dev);
}
static int dummy_device_pm_ctrl(const struct device *dev,
enum pm_device_action action)
{
return 0;
}
static const struct dummy_driver_api funcs = {
.open = dummy_open,
.open_sync = dummy_open_sync,
.close = dummy_close,
.close_sync = dummy_close_sync,
.wait = dummy_wait,
};
int dummy_init(const struct device *dev)
{
pm_device_enable(dev);
return 0;
}
DEVICE_DEFINE(dummy_driver, DUMMY_DRIVER_NAME, &dummy_init,
dummy_device_pm_ctrl, NULL, NULL, APPLICATION,
CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &funcs);