clk: Extend struct clk to provide information regarding clock rate

This commit extends the struct clk to provide information regarding the
clock rate.
As a result the clock tree traversal is performed at most once, and further
reads are using the cached value.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
Lukasz Majewski
2019-06-24 15:50:38 +02:00
committed by Stefano Babic
parent ec8f1c02dd
commit 105db9593e

View File

@@ -40,6 +40,7 @@ struct udevice;
* other clock APIs to identify which clock signal to operate upon. * other clock APIs to identify which clock signal to operate upon.
* *
* @dev: The device which implements the clock signal. * @dev: The device which implements the clock signal.
* @rate: The clock rate (in HZ).
* @id: The clock signal ID within the provider. * @id: The clock signal ID within the provider.
* @data: An optional data field for scenarios where a single integer ID is not * @data: An optional data field for scenarios where a single integer ID is not
* sufficient. If used, it can be populated through an .of_xlate op and * sufficient. If used, it can be populated through an .of_xlate op and
@@ -55,6 +56,7 @@ struct udevice;
*/ */
struct clk { struct clk {
struct udevice *dev; struct udevice *dev;
long long rate; /* in HZ */
/* /*
* Written by of_xlate. In the future, we might add more fields here. * Written by of_xlate. In the future, we might add more fields here.
*/ */