linux/drivers/clk/clk_kunit_helpers.c

// SPDX-License-Identifier: GPL-2.0
/*
 * KUnit helpers for clk providers and consumers
 */
#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/kernel.h>
#include <linux/slab.h>

#include <kunit/clk.h>
#include <kunit/resource.h>

KUNIT_DEFINE_ACTION_WRAPPER(clk_disable_unprepare_wrapper,
			    clk_disable_unprepare, struct clk *);
/**
 * clk_prepare_enable_kunit() - Test managed clk_prepare_enable()
 * @test: The test context
 * @clk: clk to prepare and enable
 *
 * Return: 0 on success, or negative errno on failure.
 */
int clk_prepare_enable_kunit(struct kunit *test, struct clk *clk)
{}
EXPORT_SYMBOL_GPL();

KUNIT_DEFINE_ACTION_WRAPPER(clk_put_wrapper, clk_put, struct clk *);

static struct clk *__clk_get_kunit(struct kunit *test, struct clk *clk)
{}

/**
 * clk_get_kunit() - Test managed clk_get()
 * @test: The test context
 * @dev: device for clock "consumer"
 * @con_id: clock consumer ID
 *
 * Just like clk_get(), except the clk is managed by the test case and is
 * automatically put with clk_put() after the test case concludes.
 *
 * Return: new clk consumer or ERR_PTR on failure.
 */
struct clk *
clk_get_kunit(struct kunit *test, struct device *dev, const char *con_id)
{}
EXPORT_SYMBOL_GPL();

/**
 * of_clk_get_kunit() - Test managed of_clk_get()
 * @test: The test context
 * @np: device_node for clock "consumer"
 * @index: index in 'clocks' property of @np
 *
 * Just like of_clk_get(), except the clk is managed by the test case and is
 * automatically put with clk_put() after the test case concludes.
 *
 * Return: new clk consumer or ERR_PTR on failure.
 */
struct clk *
of_clk_get_kunit(struct kunit *test, struct device_node *np, int index)
{}
EXPORT_SYMBOL_GPL();

/**
 * clk_hw_get_clk_kunit() - Test managed clk_hw_get_clk()
 * @test: The test context
 * @hw: clk_hw associated with the clk being consumed
 * @con_id: connection ID string on device
 *
 * Just like clk_hw_get_clk(), except the clk is managed by the test case and
 * is automatically put with clk_put() after the test case concludes.
 *
 * Return: new clk consumer or ERR_PTR on failure.
 */
struct clk *
clk_hw_get_clk_kunit(struct kunit *test, struct clk_hw *hw, const char *con_id)
{}
EXPORT_SYMBOL_GPL();

/**
 * clk_hw_get_clk_prepared_enabled_kunit() - Test managed clk_hw_get_clk() + clk_prepare_enable()
 * @test: The test context
 * @hw: clk_hw associated with the clk being consumed
 * @con_id: connection ID string on device
 *
 * Just like
 *
 * .. code-block:: c
 *
 *	struct clk *clk = clk_hw_get_clk(...);
 *	clk_prepare_enable(clk);
 *
 * except the clk is managed by the test case and is automatically disabled and
 * unprepared with clk_disable_unprepare() and put with clk_put() after the
 * test case concludes.
 *
 * Return: new clk consumer that is prepared and enabled or ERR_PTR on failure.
 */
struct clk *
clk_hw_get_clk_prepared_enabled_kunit(struct kunit *test, struct clk_hw *hw,
				      const char *con_id)
{}
EXPORT_SYMBOL_GPL();

KUNIT_DEFINE_ACTION_WRAPPER(clk_hw_unregister_wrapper,
			    clk_hw_unregister, struct clk_hw *);

/**
 * clk_hw_register_kunit() - Test managed clk_hw_register()
 * @test: The test context
 * @dev: device that is registering this clock
 * @hw: link to hardware-specific clock data
 *
 * Just like clk_hw_register(), except the clk registration is managed by the
 * test case and is automatically unregistered after the test case concludes.
 *
 * Return: 0 on success or a negative errno value on failure.
 */
int clk_hw_register_kunit(struct kunit *test, struct device *dev, struct clk_hw *hw)
{}
EXPORT_SYMBOL_GPL();

/**
 * of_clk_hw_register_kunit() - Test managed of_clk_hw_register()
 * @test: The test context
 * @node: device_node of device that is registering this clock
 * @hw: link to hardware-specific clock data
 *
 * Just like of_clk_hw_register(), except the clk registration is managed by
 * the test case and is automatically unregistered after the test case
 * concludes.
 *
 * Return: 0 on success or a negative errno value on failure.
 */
int of_clk_hw_register_kunit(struct kunit *test, struct device_node *node, struct clk_hw *hw)
{}
EXPORT_SYMBOL_GPL();

MODULE_LICENSE();
MODULE_DESCRIPTION();