Re: [PATCH v9 05/12] clk: zte: Add Clock registration infrastructure
Brian Masney <[email protected]> Mon, 3 Aug 2026 12:05:27 -0400
| Newsgroups | dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-phy,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Aug 02, 2026 at 11:33:37PM +0300, Stefan Dösinger wrote:
> diff --git a/drivers/clk/zte/clk-zx.h b/drivers/clk/zte/clk-zx.h
> new file mode 100644
> index 000000000000..175fbba3e0b3
> --- /dev/null
> +++ b/drivers/clk/zte/clk-zx.h
> @@ -0,0 +1,142 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2026 Stefan Dösinger
> + */
> +
> +#ifndef __DRV_CLK_ZX_H
> +#define __DRV_CLK_ZX_H
> +
> +#include <linux/clk-provider.h>
> +#include <linux/platform_device.h>
> +#include <linux/regmap.h>
> +#include <linux/types.h>
> +
> +#define CLK_ZX_PLL_PREPARE_IS_ENABLE 1
> +#define CLK_ZX_MAX_PARENTS 8
> +
> +enum zx_parent_type {
> + ZX_PARENT_FW,
> + ZX_PARENT_ID,
> +};
> +
> +struct zx_parent_desc {
> + enum zx_parent_type type;
> + union {
> + const char *fw_name;
> + unsigned int id;
> + };
> +};
> +
> +#define PARENT_FW(_name) { .type = ZX_PARENT_FW, .fw_name = (_name) }
> +
> +#define PARENT_ID(_id) { .type = ZX_PARENT_ID, .id = (_id) }
> +
> +static inline struct clk_parent_data zx_get_parent(const struct zx_parent_desc *p,
> + struct clk_hw * const *clocks)
> +{
> + struct clk_parent_data ret = {};
> +
> + switch (p->type) {
> + case ZX_PARENT_FW:
> + ret.fw_name = p->fw_name;
> + ret.index = -1;
> + return ret;
> +
> + case ZX_PARENT_ID:
> + ret.hw = clocks[p->id];
> + ret.index = -1;
> + return ret;
> + };
Stray semicolon
Brian