clk: add clk_round_rate()
It returns the rate which will be set if you ask clk_set_rate() to set that rate. It provides a way to query exactly what rate you'll get if you call clk_set_rate() with that same argument. So essentially, clk_round_rate() and clk_set_rate() are equivalent except the former does not modify the clock hardware in any way. Signed-off-by: Dario Binacchi <dariobin@libero.it> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Sean Anderson <seanga2@gmail.com>
This commit is contained in:
committed by
Lokesh Vutla
parent
6337d53fdf
commit
2983ad55a1
@@ -112,6 +112,28 @@ static int dm_test_clk(struct unit_test_state *uts)
|
||||
rate = sandbox_clk_test_set_rate(dev_test, SANDBOX_CLK_TEST_ID_I2C, 0);
|
||||
ut_assert(IS_ERR_VALUE(rate));
|
||||
|
||||
ut_asserteq(10000, sandbox_clk_test_get_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_SPI));
|
||||
ut_asserteq(20000, sandbox_clk_test_get_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_I2C));
|
||||
|
||||
ut_asserteq(5000, sandbox_clk_test_round_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_SPI,
|
||||
5000));
|
||||
ut_asserteq(7000, sandbox_clk_test_round_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_I2C,
|
||||
7000));
|
||||
|
||||
ut_asserteq(10000, sandbox_clk_test_get_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_SPI));
|
||||
ut_asserteq(20000, sandbox_clk_test_get_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_I2C));
|
||||
|
||||
rate = sandbox_clk_test_round_rate(dev_test, SANDBOX_CLK_TEST_ID_SPI, 0);
|
||||
ut_assert(IS_ERR_VALUE(rate));
|
||||
rate = sandbox_clk_test_round_rate(dev_test, SANDBOX_CLK_TEST_ID_I2C, 0);
|
||||
ut_assert(IS_ERR_VALUE(rate));
|
||||
|
||||
ut_asserteq(10000, sandbox_clk_test_get_rate(dev_test,
|
||||
SANDBOX_CLK_TEST_ID_SPI));
|
||||
ut_asserteq(20000, sandbox_clk_test_get_rate(dev_test,
|
||||
|
||||
Reference in New Issue
Block a user