Re: [PATCH 2/7] soc: qcom: geni: move struct geni_wrapper to header

Bjorn Andersson
2021-01-11T15:35:38Z

On Mon 11 Jan 09:16 CST 2021, Vinod Koul wrote:

> I2C geni driver needs to access struct geni_wrapper, so move it to
> header.
>

Please tell me more!

Glanced through the other patches and the only user I can find it in
patch 5 where you use this to get the struct device * of the wrapper.

At least in the DT case this would be [SE]->dev->parent, perhaps we
can't rely on this due to ACPI?

Regards,
Bjorn

> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
> drivers/soc/qcom/qcom-geni-se.c | 15 ---------------
> include/linux/qcom-geni-se.h | 15 +++++++++++++++
> 2 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-se.c
> index 285ed86c2bab..a3868228ea05 100644
> --- a/drivers/soc/qcom/qcom-geni-se.c
> +++ b/drivers/soc/qcom/qcom-geni-se.c
> @@ -79,21 +79,6 @@
> */
>
> #define MAX_CLK_PERF_LEVEL 32
> -#define NUM_AHB_CLKS 2
> -
> -/**
> - * struct geni_wrapper - Data structure to represent the QUP Wrapper Core
> - * @dev: Device pointer of the QUP wrapper core
> - * @base: Base address of this instance of QUP wrapper core
> - * @ahb_clks: Handle to the primary & secondary AHB clocks
> - * @to_core: Core ICC path
> - */
> -struct geni_wrapper {
> - struct device *dev;
> - void __iomem *base;
> - struct clk_bulk_data ahb_clks[NUM_AHB_CLKS];
> - struct geni_icc_path to_core;
> -};
>
> static const char * const icc_path_names[] = {"qup-core", "qup-config",
> "qup-memory"};
> diff --git a/include/linux/qcom-geni-se.h b/include/linux/qcom-geni-se.h
> index e3f4b16040d9..cb4e40908f9f 100644
> --- a/include/linux/qcom-geni-se.h
> +++ b/include/linux/qcom-geni-se.h
> @@ -38,6 +38,21 @@ struct geni_icc_path {
> unsigned int avg_bw;
> };
>
> +#define NUM_AHB_CLKS 2
> +
> +/**
> + * @struct geni_wrapper - Data structure to represent the QUP Wrapper Core
> + * @dev: Device pointer of the QUP wrapper core
> + * @base: Base address of this instance of QUP wrapper core
> + * @ahb_clks: Handle to the primary & secondary AHB clocks
> + */
> +struct geni_wrapper {
> + struct device *dev;
> + void __iomem *base;
> + struct clk_bulk_data ahb_clks[NUM_AHB_CLKS];
> + struct geni_icc_path to_core;
> +};
> +
> /**
> * struct geni_se - GENI Serial Engine
> * @base: Base Address of the Serial Engine's register block
> --
> 2.26.2
>