[PATCH 04/24] clk: introduce struct clk_hw
a.fatoum at pengutronix.de
Fri Jun 11 00:55:36 PDT 2021
On 02.06.21 11:54, Sascha Hauer wrote:
> In Linux the ops in struct clk_ops take a struct clk_hw * argument
> instead of a struct clk * argument as in barebox. With this taking
> new clk drivers from Linux requires a lot of mechanical conversions.
> Instead of doing this over and over again swallow the pill once and
> convert the existing barebox code over to clk_hw.
> The implementation is a little different from Linux. In Linux struct clk
> is only known to the core clock code. In barebox struct clk is
> publically known and it is embedded into struct clk_hw. This allows
> us to still use struct clk members in the clock drivers which we
> currently still need, because otherwise this patch would be even
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
drivers/clk/sifive, which was added recently doesn't have these changes
and thus the build fails. To reproduce, without installed RISC-V toolchain, try:
./test/emulate.pl --runtime=podman sifive_defconfig
Doing the conversions aren't completely trivial to me, as there are no
clkdev clk_hw helpers ported and I still need to figure out how to use them.
Given that your caches are still hot, could you take a look?
More information about the barebox