[alsa-devel] [PATCH 33/35] ASoC: Intel: Skylake: Privatize SST init handlers
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Aug 23 22:25:30 CEST 2019
On 8/22/19 2:04 PM, Cezary Rojewski wrote:
> With initialization order repaired, sst_ops::init overloads can be
> privatized for Skylake platofmrs. Let's do so.
platforms
>
> Signed-off-by: Cezary Rojewski <cezary.rojewski at intel.com>
> ---
> sound/soc/intel/skylake/bxt-sst.c | 25 ++++++++++++-------------
> sound/soc/intel/skylake/cnl-sst-dsp.h | 2 --
> sound/soc/intel/skylake/cnl-sst.c | 25 ++++++++++++-------------
> sound/soc/intel/skylake/skl-sst-dsp.h | 2 --
> sound/soc/intel/skylake/skl-sst.c | 23 +++++++++++------------
> 5 files changed, 35 insertions(+), 42 deletions(-)
>
> diff --git a/sound/soc/intel/skylake/bxt-sst.c b/sound/soc/intel/skylake/bxt-sst.c
> index 79728e418176..1edc38069615 100644
> --- a/sound/soc/intel/skylake/bxt-sst.c
> +++ b/sound/soc/intel/skylake/bxt-sst.c
> @@ -533,18 +533,7 @@ static const struct skl_dsp_fw_ops bxt_fw_ops = {
> .load_library = bxt_load_library,
> };
>
> -struct sst_ops apl_sst_ops = {
> - .irq_handler = skl_dsp_sst_interrupt,
> - .thread_fn = skl_dsp_irq_thread_handler,
> - .write = sst_shim32_write,
> - .read = sst_shim32_read,
> - .ram_read = sst_memcpy_fromio_32,
> - .ram_write = sst_memcpy_toio_32,
> - .init = bxt_sst_dsp_init,
> - .free = skl_dsp_free,
> -};
> -
> -int bxt_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> +static int bxt_sst_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> {
> struct skl_dev *skl = sst->thread_context;
> void __iomem *mmio;
> @@ -578,7 +567,17 @@ int bxt_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
>
> return 0;
> }
> -EXPORT_SYMBOL_GPL(bxt_sst_dsp_init);
> +
> +struct sst_ops apl_sst_ops = {
> + .irq_handler = skl_dsp_sst_interrupt,
> + .thread_fn = skl_dsp_irq_thread_handler,
> + .write = sst_shim32_write,
> + .read = sst_shim32_read,
> + .ram_read = sst_memcpy_fromio_32,
> + .ram_write = sst_memcpy_toio_32,
> + .init = bxt_sst_init,
> + .free = skl_dsp_free,
> +};
should these structures be static if they are not exported?
sparse should tell you that: make -C 2
>
> MODULE_LICENSE("GPL v2");
> MODULE_DESCRIPTION("Intel Broxton IPC driver");
> diff --git a/sound/soc/intel/skylake/cnl-sst-dsp.h b/sound/soc/intel/skylake/cnl-sst-dsp.h
> index 7810ae11954a..a1ea242e9539 100644
> --- a/sound/soc/intel/skylake/cnl-sst-dsp.h
> +++ b/sound/soc/intel/skylake/cnl-sst-dsp.h
> @@ -87,6 +87,4 @@ void cnl_ipc_op_int_enable(struct sst_dsp *ctx);
> void cnl_ipc_op_int_disable(struct sst_dsp *ctx);
> bool cnl_ipc_int_status(struct sst_dsp *ctx);
>
> -int cnl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata);
> -
> #endif /*__CNL_SST_DSP_H__*/
> diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
> index 58efeb6c8a8a..360e54d3c587 100644
> --- a/sound/soc/intel/skylake/cnl-sst.c
> +++ b/sound/soc/intel/skylake/cnl-sst.c
> @@ -409,18 +409,7 @@ static int cnl_ipc_init(struct device *dev, struct skl_dev *cnl)
> return 0;
> }
>
> -struct sst_ops cnl_sst_ops = {
> - .irq_handler = cnl_dsp_sst_interrupt,
> - .thread_fn = cnl_dsp_irq_thread_handler,
> - .write = sst_shim32_write,
> - .read = sst_shim32_read,
> - .ram_read = sst_memcpy_fromio_32,
> - .ram_write = sst_memcpy_toio_32,
> - .init = cnl_sst_dsp_init,
> - .free = cnl_dsp_free,
> -};
> -
> -int cnl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> +static int cnl_sst_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> {
> struct skl_dev *cnl = sst->thread_context;
> void __iomem *mmio;
> @@ -449,7 +438,17 @@ int cnl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
>
> return 0;
> }
> -EXPORT_SYMBOL_GPL(cnl_sst_dsp_init);
> +
> +struct sst_ops cnl_sst_ops = {
> + .irq_handler = cnl_dsp_sst_interrupt,
> + .thread_fn = cnl_dsp_irq_thread_handler,
> + .write = sst_shim32_write,
> + .read = sst_shim32_read,
> + .ram_read = sst_memcpy_fromio_32,
> + .ram_write = sst_memcpy_toio_32,
> + .init = cnl_sst_init,
> + .free = cnl_dsp_free,
> +};
>
> MODULE_LICENSE("GPL v2");
> MODULE_DESCRIPTION("Intel Cannonlake IPC driver");
> diff --git a/sound/soc/intel/skylake/skl-sst-dsp.h b/sound/soc/intel/skylake/skl-sst-dsp.h
> index a3714b706b8e..3294826d5cf7 100644
> --- a/sound/soc/intel/skylake/skl-sst-dsp.h
> +++ b/sound/soc/intel/skylake/skl-sst-dsp.h
> @@ -206,8 +206,6 @@ int skl_dsp_get_core(struct sst_dsp *ctx, unsigned int core_id);
> int skl_dsp_put_core(struct sst_dsp *ctx, unsigned int core_id);
>
> int skl_dsp_boot(struct sst_dsp *ctx);
> -int skl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata);
> -int bxt_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata);
> int bxt_load_library(struct sst_dsp *ctx, struct skl_lib_info *linfo,
> int lib_count);
>
> diff --git a/sound/soc/intel/skylake/skl-sst.c b/sound/soc/intel/skylake/skl-sst.c
> index 8e1d02e29a32..209f45e3d5d0 100644
> --- a/sound/soc/intel/skylake/skl-sst.c
> +++ b/sound/soc/intel/skylake/skl-sst.c
> @@ -505,17 +505,7 @@ static const struct skl_dsp_fw_ops skl_fw_ops = {
> .unload_mod = skl_unload_module,
> };
>
> -struct sst_ops skl_sst_ops = {
> - .irq_handler = skl_dsp_sst_interrupt,
> - .write = sst_shim32_write,
> - .read = sst_shim32_read,
> - .ram_read = sst_memcpy_fromio_32,
> - .ram_write = sst_memcpy_toio_32,
> - .init = skl_sst_dsp_init,
> - .free = skl_dsp_free,
> -};
> -
> -int skl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> +static int skl_sst_init(struct sst_dsp *sst, struct sst_pdata *pdata)
> {
> struct skl_dev *skl = sst->thread_context;
> void __iomem *mmio;
> @@ -541,7 +531,16 @@ int skl_sst_dsp_init(struct sst_dsp *sst, struct sst_pdata *pdata)
>
> return 0;
> }
> -EXPORT_SYMBOL_GPL(skl_sst_dsp_init);
> +
> +struct sst_ops skl_sst_ops = {
> + .irq_handler = skl_dsp_sst_interrupt,
> + .write = sst_shim32_write,
> + .read = sst_shim32_read,
> + .ram_read = sst_memcpy_fromio_32,
> + .ram_write = sst_memcpy_toio_32,
> + .init = skl_sst_init,
> + .free = skl_dsp_free,
> +};
>
> int skl_sst_init_fw(struct skl_dev *skl)
> {
>
More information about the Alsa-devel
mailing list