From: Jiaxin Yu <jiaxin.yu@mediatek.com>
To: kernel test robot <lkp@intel.com>, <broonie@kernel.org>,
<robh+dt@kernel.org>, <angelogioacchino.delregno@collabora.com>
Cc: <kbuild-all@lists.01.org>, <aaronyu@google.com>,
<matthias.bgg@gmail.com>, <trevor.wu@mediatek.com>,
<tzungbi@google.com>, <julianbraha@gmail.com>,
<alsa-devel@alsa-project.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>,
<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: Re: [v3 13/19] ASoC: mediatek: mt8186: add platform driver
Date: Mon, 14 Mar 2022 18:11:54 +0800 [thread overview]
Message-ID: <e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com> (raw)
In-Reply-To: <202203140250.ob821GmA-lkp@intel.com>
On Mon, 2022-03-14 at 02:59 +0800, kernel test robot wrote:
> Hi Jiaxin,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on broonie-spi/for-next robh/for-next v5.17-
> rc7 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a
> note.
> And when submitting patch, we suggest to use '--base' as documented
> in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Jiaxin-Yu/ASoC-mediatek-Add-support-for-MT8186-SoC/20220313-231330
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next
> config: m68k-allyesconfig (
> https://download.01.org/0day-ci/archive/20220314/202203140250.ob821GmA-lkp@intel.com/config
> )
> compiler: m68k-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://github.com/0day-ci/linux/commit/088850061de683cf1cac329e1187f45fb1d25085
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Jiaxin-Yu/ASoC-mediatek-Add-
> support-for-MT8186-SoC/20220313-231330
> git checkout 088850061de683cf1cac329e1187f45fb1d25085
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0
> make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from sound/soc/mediatek/mt8186/mt8186-afe-
> pcm.c:9:
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c: In function
> 'mt8186_afe_pcm_dev_probe':
> > > sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2914:40: error:
> > > 'struct dev_pm_info' has no member named 'runtime_error'
>
> 2914 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2913:17: note: in
> expansion of macro 'dev_err'
> 2913 | dev_err(dev, "get_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2948:40: error: 'struct
> dev_pm_info' has no member named 'runtime_error'
> 2948 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2947:17: note: in
> expansion of macro 'dev_err'
> 2947 | dev_err(dev, "put_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
>
I'm terrible sorry about this build error. These sections of code need
be wrapped by the CONFIG_PM, or don't use these variables. I will fix
it in the next v4 version.
>
> vim +2914 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
>
> 2803
> 2804 static int mt8186_afe_pcm_dev_probe(struct
> platform_device *pdev)
> 2805 {
> 2806 struct mtk_base_afe *afe;
> 2807 struct mt8186_afe_private *afe_priv;
> 2808 struct resource *res;
> 2809 struct reset_control *rstc;
> 2810 struct device *dev = &pdev->dev;
> 2811 int i, ret, irq_id;
> 2812
> 2813 ret = dma_set_mask_and_coherent(dev,
> DMA_BIT_MASK(34));
> 2814 if (ret)
> 2815 return ret;
> 2816
> 2817 afe = devm_kzalloc(dev, sizeof(*afe),
> GFP_KERNEL);
> 2818 if (!afe)
> 2819 return -ENOMEM;
> 2820 platform_set_drvdata(pdev, afe);
> 2821
> 2822 afe->platform_priv = devm_kzalloc(dev,
> sizeof(*afe_priv), GFP_KERNEL);
> 2823 if (!afe->platform_priv)
> 2824 return -ENOMEM;
> 2825
> 2826 afe_priv = afe->platform_priv;
> 2827 afe->dev = &pdev->dev;
> 2828
> 2829 res = platform_get_resource(pdev,
> IORESOURCE_MEM, 0);
> 2830 afe->base_addr = devm_ioremap_resource(&pdev-
> >dev, res);
> 2831 if (IS_ERR(afe->base_addr))
> 2832 return PTR_ERR(afe->base_addr);
> 2833
> 2834 /* init audio related clock */
> 2835 ret = mt8186_init_clock(afe);
> 2836 if (ret) {
> 2837 dev_err(dev, "init clock error, ret
> %d\n", ret);
> 2838 return ret;
> 2839 }
> 2840
> 2841 /* init memif */
> 2842 afe->memif_32bit_supported = 0;
> 2843 afe->memif_size = MT8186_MEMIF_NUM;
> 2844 afe->memif = devm_kcalloc(dev, afe->memif_size,
> sizeof(*afe->memif),
> 2845 GFP_KERNEL);
> 2846
> 2847 if (!afe->memif)
> 2848 return -ENOMEM;
> 2849
> 2850 for (i = 0; i < afe->memif_size; i++) {
> 2851 afe->memif[i].data = &memif_data[i];
> 2852 afe->memif[i].irq_usage =
> memif_irq_usage[i];
> 2853 afe->memif[i].const_irq = 1;
> 2854 }
> 2855
> 2856 mutex_init(&afe->irq_alloc_lock); /* needed
> when dynamic irq */
> 2857
> 2858 /* init irq */
> 2859 afe->irqs_size = MT8186_IRQ_NUM;
> 2860 afe->irqs = devm_kcalloc(dev, afe->irqs_size,
> sizeof(*afe->irqs),
> 2861 GFP_KERNEL);
> 2862
> 2863 if (!afe->irqs)
> 2864 return -ENOMEM;
> 2865
> 2866 for (i = 0; i < afe->irqs_size; i++)
> 2867 afe->irqs[i].irq_data = &irq_data[i];
> 2868
> 2869 /* request irq */
> 2870 irq_id = platform_get_irq(pdev, 0);
> 2871 if (irq_id <= 0)
> 2872 return dev_err_probe(dev, irq_id < 0 ?
> irq_id : -ENXIO,
> 2873 "no irq found");
> 2874
> 2875 ret = devm_request_irq(dev, irq_id,
> mt8186_afe_irq_handler,
> 2876 IRQF_TRIGGER_NONE,
> 2877 "Afe_ISR_Handle", (void
> *)afe);
> 2878 if (ret)
> 2879 return dev_err_probe(dev, ret, "could
> not request_irq for Afe_ISR_Handle\n");
> 2880
> 2881 ret = enable_irq_wake(irq_id);
> 2882 if (ret < 0)
> 2883 return dev_err_probe(dev, ret,
> "enable_irq_wake %d\n", irq_id);
> 2884
> 2885 /* init sub_dais */
> 2886 INIT_LIST_HEAD(&afe->sub_dais);
> 2887
> 2888 for (i = 0; i < ARRAY_SIZE(dai_register_cbs);
> i++) {
> 2889 ret = dai_register_cbs[i](afe);
> 2890 if (ret)
> 2891 return dev_err_probe(dev, ret,
> "dai register i %d fail\n", i);
> 2892 }
> 2893
> 2894 /* init dai_driver and component_driver */
> 2895 ret = mtk_afe_combine_sub_dai(afe);
> 2896 if (ret)
> 2897 return dev_err_probe(dev, ret,
> "mtk_afe_combine_sub_dai fail\n");
> 2898
> 2899 /* reset controller to reset audio regs before
> regmap cache */
> 2900 rstc = devm_reset_control_get_exclusive(dev,
> "audiosys");
> 2901 if (IS_ERR(rstc))
> 2902 return dev_err_probe(dev,
> PTR_ERR(rstc), "could not get audiosys reset\n");
> 2903
> 2904 ret = reset_control_reset(rstc);
> 2905 if (ret)
> 2906 return dev_err_probe(dev, ret, "failed
> to trigger audio reset\n");
> 2907
> 2908 /* enable clock for regcache get default value
> from hw */
> 2909 afe_priv->pm_runtime_bypass_reg_ctl = true;
> 2910 pm_runtime_enable(dev);
> 2911 ret = pm_runtime_get_sync(dev);
> 2912 if (ret)
> 2913 dev_err(dev, "get_ret:%d,
> rpm_error:%d\n",
> > 2914 ret, dev->power.runtime_error);
>
> 2915
> 2916 afe->regmap = devm_regmap_init_mmio(dev, afe-
> >base_addr,
> 2917 &mt8186_afe
> _regmap_config);
> 2918 if (IS_ERR(afe->regmap)) {
> 2919 ret = PTR_ERR(afe->regmap);
> 2920 goto err_pm_disable;
> 2921 }
> 2922
> 2923 /* others */
> 2924 afe->mtk_afe_hardware = &mt8186_afe_hardware;
> 2925 afe->memif_fs = mt8186_memif_fs;
> 2926 afe->irq_fs = mt8186_irq_fs;
> 2927 afe->get_dai_fs = mt8186_get_dai_fs;
> 2928 afe->get_memif_pbuf_size =
> mt8186_get_memif_pbuf_size;
> 2929
> 2930 afe->runtime_resume =
> mt8186_afe_runtime_resume;
> 2931 afe->runtime_suspend =
> mt8186_afe_runtime_suspend;
> 2932
> 2933 /* register platform */
> 2934 dev_info(dev, "%s(),
> devm_snd_soc_register_component\n", __func__);
> 2935
> 2936 ret = devm_snd_soc_register_component(dev,
> 2937 &mt8186_a
> fe_component,
> 2938 afe-
> >dai_drivers,
> 2939 afe-
> >num_dai_drivers);
> 2940 if (ret) {
> 2941 dev_err(dev, "err_dai_component\n");
> 2942 goto err_pm_disable;
> 2943 }
> 2944
> 2945 ret = pm_runtime_put_sync(dev);
> 2946 if (ret)
> 2947 dev_err(dev, "put_ret:%d,
> rpm_error:%d\n",
> 2948 ret, dev->power.runtime_error);
> 2949 afe_priv->pm_runtime_bypass_reg_ctl = false;
> 2950
> 2951 regcache_cache_only(afe->regmap, true);
> 2952 regcache_mark_dirty(afe->regmap);
> 2953
> 2954 return 0;
> 2955
> 2956 err_pm_disable:
> 2957 pm_runtime_put_sync(dev);
> 2958 pm_runtime_disable(dev);
> 2959
> 2960 return ret;
> 2961 }
> 2962
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Jiaxin Yu <jiaxin.yu@mediatek.com>
To: kernel test robot <lkp@intel.com>, <broonie@kernel.org>,
<robh+dt@kernel.org>, <angelogioacchino.delregno@collabora.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Project_Global_Chrome_Upstream_Group@mediatek.com,
tzungbi@google.com, linux-mediatek@lists.infradead.org,
trevor.wu@mediatek.com, matthias.bgg@gmail.com,
aaronyu@google.com, julianbraha@gmail.com,
linux-arm-kernel@lists.infradead.org
Subject: Re: [v3 13/19] ASoC: mediatek: mt8186: add platform driver
Date: Mon, 14 Mar 2022 18:11:54 +0800 [thread overview]
Message-ID: <e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com> (raw)
In-Reply-To: <202203140250.ob821GmA-lkp@intel.com>
On Mon, 2022-03-14 at 02:59 +0800, kernel test robot wrote:
> Hi Jiaxin,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on broonie-spi/for-next robh/for-next v5.17-
> rc7 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a
> note.
> And when submitting patch, we suggest to use '--base' as documented
> in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Jiaxin-Yu/ASoC-mediatek-Add-support-for-MT8186-SoC/20220313-231330
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next
> config: m68k-allyesconfig (
> https://download.01.org/0day-ci/archive/20220314/202203140250.ob821GmA-lkp@intel.com/config
> )
> compiler: m68k-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://github.com/0day-ci/linux/commit/088850061de683cf1cac329e1187f45fb1d25085
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Jiaxin-Yu/ASoC-mediatek-Add-
> support-for-MT8186-SoC/20220313-231330
> git checkout 088850061de683cf1cac329e1187f45fb1d25085
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0
> make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from sound/soc/mediatek/mt8186/mt8186-afe-
> pcm.c:9:
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c: In function
> 'mt8186_afe_pcm_dev_probe':
> > > sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2914:40: error:
> > > 'struct dev_pm_info' has no member named 'runtime_error'
>
> 2914 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2913:17: note: in
> expansion of macro 'dev_err'
> 2913 | dev_err(dev, "get_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2948:40: error: 'struct
> dev_pm_info' has no member named 'runtime_error'
> 2948 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2947:17: note: in
> expansion of macro 'dev_err'
> 2947 | dev_err(dev, "put_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
>
I'm terrible sorry about this build error. These sections of code need
be wrapped by the CONFIG_PM, or don't use these variables. I will fix
it in the next v4 version.
>
> vim +2914 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
>
> 2803
> 2804 static int mt8186_afe_pcm_dev_probe(struct
> platform_device *pdev)
> 2805 {
> 2806 struct mtk_base_afe *afe;
> 2807 struct mt8186_afe_private *afe_priv;
> 2808 struct resource *res;
> 2809 struct reset_control *rstc;
> 2810 struct device *dev = &pdev->dev;
> 2811 int i, ret, irq_id;
> 2812
> 2813 ret = dma_set_mask_and_coherent(dev,
> DMA_BIT_MASK(34));
> 2814 if (ret)
> 2815 return ret;
> 2816
> 2817 afe = devm_kzalloc(dev, sizeof(*afe),
> GFP_KERNEL);
> 2818 if (!afe)
> 2819 return -ENOMEM;
> 2820 platform_set_drvdata(pdev, afe);
> 2821
> 2822 afe->platform_priv = devm_kzalloc(dev,
> sizeof(*afe_priv), GFP_KERNEL);
> 2823 if (!afe->platform_priv)
> 2824 return -ENOMEM;
> 2825
> 2826 afe_priv = afe->platform_priv;
> 2827 afe->dev = &pdev->dev;
> 2828
> 2829 res = platform_get_resource(pdev,
> IORESOURCE_MEM, 0);
> 2830 afe->base_addr = devm_ioremap_resource(&pdev-
> >dev, res);
> 2831 if (IS_ERR(afe->base_addr))
> 2832 return PTR_ERR(afe->base_addr);
> 2833
> 2834 /* init audio related clock */
> 2835 ret = mt8186_init_clock(afe);
> 2836 if (ret) {
> 2837 dev_err(dev, "init clock error, ret
> %d\n", ret);
> 2838 return ret;
> 2839 }
> 2840
> 2841 /* init memif */
> 2842 afe->memif_32bit_supported = 0;
> 2843 afe->memif_size = MT8186_MEMIF_NUM;
> 2844 afe->memif = devm_kcalloc(dev, afe->memif_size,
> sizeof(*afe->memif),
> 2845 GFP_KERNEL);
> 2846
> 2847 if (!afe->memif)
> 2848 return -ENOMEM;
> 2849
> 2850 for (i = 0; i < afe->memif_size; i++) {
> 2851 afe->memif[i].data = &memif_data[i];
> 2852 afe->memif[i].irq_usage =
> memif_irq_usage[i];
> 2853 afe->memif[i].const_irq = 1;
> 2854 }
> 2855
> 2856 mutex_init(&afe->irq_alloc_lock); /* needed
> when dynamic irq */
> 2857
> 2858 /* init irq */
> 2859 afe->irqs_size = MT8186_IRQ_NUM;
> 2860 afe->irqs = devm_kcalloc(dev, afe->irqs_size,
> sizeof(*afe->irqs),
> 2861 GFP_KERNEL);
> 2862
> 2863 if (!afe->irqs)
> 2864 return -ENOMEM;
> 2865
> 2866 for (i = 0; i < afe->irqs_size; i++)
> 2867 afe->irqs[i].irq_data = &irq_data[i];
> 2868
> 2869 /* request irq */
> 2870 irq_id = platform_get_irq(pdev, 0);
> 2871 if (irq_id <= 0)
> 2872 return dev_err_probe(dev, irq_id < 0 ?
> irq_id : -ENXIO,
> 2873 "no irq found");
> 2874
> 2875 ret = devm_request_irq(dev, irq_id,
> mt8186_afe_irq_handler,
> 2876 IRQF_TRIGGER_NONE,
> 2877 "Afe_ISR_Handle", (void
> *)afe);
> 2878 if (ret)
> 2879 return dev_err_probe(dev, ret, "could
> not request_irq for Afe_ISR_Handle\n");
> 2880
> 2881 ret = enable_irq_wake(irq_id);
> 2882 if (ret < 0)
> 2883 return dev_err_probe(dev, ret,
> "enable_irq_wake %d\n", irq_id);
> 2884
> 2885 /* init sub_dais */
> 2886 INIT_LIST_HEAD(&afe->sub_dais);
> 2887
> 2888 for (i = 0; i < ARRAY_SIZE(dai_register_cbs);
> i++) {
> 2889 ret = dai_register_cbs[i](afe);
> 2890 if (ret)
> 2891 return dev_err_probe(dev, ret,
> "dai register i %d fail\n", i);
> 2892 }
> 2893
> 2894 /* init dai_driver and component_driver */
> 2895 ret = mtk_afe_combine_sub_dai(afe);
> 2896 if (ret)
> 2897 return dev_err_probe(dev, ret,
> "mtk_afe_combine_sub_dai fail\n");
> 2898
> 2899 /* reset controller to reset audio regs before
> regmap cache */
> 2900 rstc = devm_reset_control_get_exclusive(dev,
> "audiosys");
> 2901 if (IS_ERR(rstc))
> 2902 return dev_err_probe(dev,
> PTR_ERR(rstc), "could not get audiosys reset\n");
> 2903
> 2904 ret = reset_control_reset(rstc);
> 2905 if (ret)
> 2906 return dev_err_probe(dev, ret, "failed
> to trigger audio reset\n");
> 2907
> 2908 /* enable clock for regcache get default value
> from hw */
> 2909 afe_priv->pm_runtime_bypass_reg_ctl = true;
> 2910 pm_runtime_enable(dev);
> 2911 ret = pm_runtime_get_sync(dev);
> 2912 if (ret)
> 2913 dev_err(dev, "get_ret:%d,
> rpm_error:%d\n",
> > 2914 ret, dev->power.runtime_error);
>
> 2915
> 2916 afe->regmap = devm_regmap_init_mmio(dev, afe-
> >base_addr,
> 2917 &mt8186_afe
> _regmap_config);
> 2918 if (IS_ERR(afe->regmap)) {
> 2919 ret = PTR_ERR(afe->regmap);
> 2920 goto err_pm_disable;
> 2921 }
> 2922
> 2923 /* others */
> 2924 afe->mtk_afe_hardware = &mt8186_afe_hardware;
> 2925 afe->memif_fs = mt8186_memif_fs;
> 2926 afe->irq_fs = mt8186_irq_fs;
> 2927 afe->get_dai_fs = mt8186_get_dai_fs;
> 2928 afe->get_memif_pbuf_size =
> mt8186_get_memif_pbuf_size;
> 2929
> 2930 afe->runtime_resume =
> mt8186_afe_runtime_resume;
> 2931 afe->runtime_suspend =
> mt8186_afe_runtime_suspend;
> 2932
> 2933 /* register platform */
> 2934 dev_info(dev, "%s(),
> devm_snd_soc_register_component\n", __func__);
> 2935
> 2936 ret = devm_snd_soc_register_component(dev,
> 2937 &mt8186_a
> fe_component,
> 2938 afe-
> >dai_drivers,
> 2939 afe-
> >num_dai_drivers);
> 2940 if (ret) {
> 2941 dev_err(dev, "err_dai_component\n");
> 2942 goto err_pm_disable;
> 2943 }
> 2944
> 2945 ret = pm_runtime_put_sync(dev);
> 2946 if (ret)
> 2947 dev_err(dev, "put_ret:%d,
> rpm_error:%d\n",
> 2948 ret, dev->power.runtime_error);
> 2949 afe_priv->pm_runtime_bypass_reg_ctl = false;
> 2950
> 2951 regcache_cache_only(afe->regmap, true);
> 2952 regcache_mark_dirty(afe->regmap);
> 2953
> 2954 return 0;
> 2955
> 2956 err_pm_disable:
> 2957 pm_runtime_put_sync(dev);
> 2958 pm_runtime_disable(dev);
> 2959
> 2960 return ret;
> 2961 }
> 2962
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Jiaxin Yu <jiaxin.yu@mediatek.com>
To: kernel test robot <lkp@intel.com>, <broonie@kernel.org>,
<robh+dt@kernel.org>, <angelogioacchino.delregno@collabora.com>
Cc: <kbuild-all@lists.01.org>, <aaronyu@google.com>,
<matthias.bgg@gmail.com>, <trevor.wu@mediatek.com>,
<tzungbi@google.com>, <julianbraha@gmail.com>,
<alsa-devel@alsa-project.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>,
<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: Re: [v3 13/19] ASoC: mediatek: mt8186: add platform driver
Date: Mon, 14 Mar 2022 18:11:54 +0800 [thread overview]
Message-ID: <e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com> (raw)
In-Reply-To: <202203140250.ob821GmA-lkp@intel.com>
On Mon, 2022-03-14 at 02:59 +0800, kernel test robot wrote:
> Hi Jiaxin,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on broonie-spi/for-next robh/for-next v5.17-
> rc7 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a
> note.
> And when submitting patch, we suggest to use '--base' as documented
> in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Jiaxin-Yu/ASoC-mediatek-Add-support-for-MT8186-SoC/20220313-231330
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next
> config: m68k-allyesconfig (
> https://download.01.org/0day-ci/archive/20220314/202203140250.ob821GmA-lkp@intel.com/config
> )
> compiler: m68k-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://github.com/0day-ci/linux/commit/088850061de683cf1cac329e1187f45fb1d25085
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Jiaxin-Yu/ASoC-mediatek-Add-
> support-for-MT8186-SoC/20220313-231330
> git checkout 088850061de683cf1cac329e1187f45fb1d25085
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0
> make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from sound/soc/mediatek/mt8186/mt8186-afe-
> pcm.c:9:
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c: In function
> 'mt8186_afe_pcm_dev_probe':
> > > sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2914:40: error:
> > > 'struct dev_pm_info' has no member named 'runtime_error'
>
> 2914 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2913:17: note: in
> expansion of macro 'dev_err'
> 2913 | dev_err(dev, "get_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2948:40: error: 'struct
> dev_pm_info' has no member named 'runtime_error'
> 2948 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2947:17: note: in
> expansion of macro 'dev_err'
> 2947 | dev_err(dev, "put_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
>
I'm terrible sorry about this build error. These sections of code need
be wrapped by the CONFIG_PM, or don't use these variables. I will fix
it in the next v4 version.
>
> vim +2914 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
>
> 2803
> 2804 static int mt8186_afe_pcm_dev_probe(struct
> platform_device *pdev)
> 2805 {
> 2806 struct mtk_base_afe *afe;
> 2807 struct mt8186_afe_private *afe_priv;
> 2808 struct resource *res;
> 2809 struct reset_control *rstc;
> 2810 struct device *dev = &pdev->dev;
> 2811 int i, ret, irq_id;
> 2812
> 2813 ret = dma_set_mask_and_coherent(dev,
> DMA_BIT_MASK(34));
> 2814 if (ret)
> 2815 return ret;
> 2816
> 2817 afe = devm_kzalloc(dev, sizeof(*afe),
> GFP_KERNEL);
> 2818 if (!afe)
> 2819 return -ENOMEM;
> 2820 platform_set_drvdata(pdev, afe);
> 2821
> 2822 afe->platform_priv = devm_kzalloc(dev,
> sizeof(*afe_priv), GFP_KERNEL);
> 2823 if (!afe->platform_priv)
> 2824 return -ENOMEM;
> 2825
> 2826 afe_priv = afe->platform_priv;
> 2827 afe->dev = &pdev->dev;
> 2828
> 2829 res = platform_get_resource(pdev,
> IORESOURCE_MEM, 0);
> 2830 afe->base_addr = devm_ioremap_resource(&pdev-
> >dev, res);
> 2831 if (IS_ERR(afe->base_addr))
> 2832 return PTR_ERR(afe->base_addr);
> 2833
> 2834 /* init audio related clock */
> 2835 ret = mt8186_init_clock(afe);
> 2836 if (ret) {
> 2837 dev_err(dev, "init clock error, ret
> %d\n", ret);
> 2838 return ret;
> 2839 }
> 2840
> 2841 /* init memif */
> 2842 afe->memif_32bit_supported = 0;
> 2843 afe->memif_size = MT8186_MEMIF_NUM;
> 2844 afe->memif = devm_kcalloc(dev, afe->memif_size,
> sizeof(*afe->memif),
> 2845 GFP_KERNEL);
> 2846
> 2847 if (!afe->memif)
> 2848 return -ENOMEM;
> 2849
> 2850 for (i = 0; i < afe->memif_size; i++) {
> 2851 afe->memif[i].data = &memif_data[i];
> 2852 afe->memif[i].irq_usage =
> memif_irq_usage[i];
> 2853 afe->memif[i].const_irq = 1;
> 2854 }
> 2855
> 2856 mutex_init(&afe->irq_alloc_lock); /* needed
> when dynamic irq */
> 2857
> 2858 /* init irq */
> 2859 afe->irqs_size = MT8186_IRQ_NUM;
> 2860 afe->irqs = devm_kcalloc(dev, afe->irqs_size,
> sizeof(*afe->irqs),
> 2861 GFP_KERNEL);
> 2862
> 2863 if (!afe->irqs)
> 2864 return -ENOMEM;
> 2865
> 2866 for (i = 0; i < afe->irqs_size; i++)
> 2867 afe->irqs[i].irq_data = &irq_data[i];
> 2868
> 2869 /* request irq */
> 2870 irq_id = platform_get_irq(pdev, 0);
> 2871 if (irq_id <= 0)
> 2872 return dev_err_probe(dev, irq_id < 0 ?
> irq_id : -ENXIO,
> 2873 "no irq found");
> 2874
> 2875 ret = devm_request_irq(dev, irq_id,
> mt8186_afe_irq_handler,
> 2876 IRQF_TRIGGER_NONE,
> 2877 "Afe_ISR_Handle", (void
> *)afe);
> 2878 if (ret)
> 2879 return dev_err_probe(dev, ret, "could
> not request_irq for Afe_ISR_Handle\n");
> 2880
> 2881 ret = enable_irq_wake(irq_id);
> 2882 if (ret < 0)
> 2883 return dev_err_probe(dev, ret,
> "enable_irq_wake %d\n", irq_id);
> 2884
> 2885 /* init sub_dais */
> 2886 INIT_LIST_HEAD(&afe->sub_dais);
> 2887
> 2888 for (i = 0; i < ARRAY_SIZE(dai_register_cbs);
> i++) {
> 2889 ret = dai_register_cbs[i](afe);
> 2890 if (ret)
> 2891 return dev_err_probe(dev, ret,
> "dai register i %d fail\n", i);
> 2892 }
> 2893
> 2894 /* init dai_driver and component_driver */
> 2895 ret = mtk_afe_combine_sub_dai(afe);
> 2896 if (ret)
> 2897 return dev_err_probe(dev, ret,
> "mtk_afe_combine_sub_dai fail\n");
> 2898
> 2899 /* reset controller to reset audio regs before
> regmap cache */
> 2900 rstc = devm_reset_control_get_exclusive(dev,
> "audiosys");
> 2901 if (IS_ERR(rstc))
> 2902 return dev_err_probe(dev,
> PTR_ERR(rstc), "could not get audiosys reset\n");
> 2903
> 2904 ret = reset_control_reset(rstc);
> 2905 if (ret)
> 2906 return dev_err_probe(dev, ret, "failed
> to trigger audio reset\n");
> 2907
> 2908 /* enable clock for regcache get default value
> from hw */
> 2909 afe_priv->pm_runtime_bypass_reg_ctl = true;
> 2910 pm_runtime_enable(dev);
> 2911 ret = pm_runtime_get_sync(dev);
> 2912 if (ret)
> 2913 dev_err(dev, "get_ret:%d,
> rpm_error:%d\n",
> > 2914 ret, dev->power.runtime_error);
>
> 2915
> 2916 afe->regmap = devm_regmap_init_mmio(dev, afe-
> >base_addr,
> 2917 &mt8186_afe
> _regmap_config);
> 2918 if (IS_ERR(afe->regmap)) {
> 2919 ret = PTR_ERR(afe->regmap);
> 2920 goto err_pm_disable;
> 2921 }
> 2922
> 2923 /* others */
> 2924 afe->mtk_afe_hardware = &mt8186_afe_hardware;
> 2925 afe->memif_fs = mt8186_memif_fs;
> 2926 afe->irq_fs = mt8186_irq_fs;
> 2927 afe->get_dai_fs = mt8186_get_dai_fs;
> 2928 afe->get_memif_pbuf_size =
> mt8186_get_memif_pbuf_size;
> 2929
> 2930 afe->runtime_resume =
> mt8186_afe_runtime_resume;
> 2931 afe->runtime_suspend =
> mt8186_afe_runtime_suspend;
> 2932
> 2933 /* register platform */
> 2934 dev_info(dev, "%s(),
> devm_snd_soc_register_component\n", __func__);
> 2935
> 2936 ret = devm_snd_soc_register_component(dev,
> 2937 &mt8186_a
> fe_component,
> 2938 afe-
> >dai_drivers,
> 2939 afe-
> >num_dai_drivers);
> 2940 if (ret) {
> 2941 dev_err(dev, "err_dai_component\n");
> 2942 goto err_pm_disable;
> 2943 }
> 2944
> 2945 ret = pm_runtime_put_sync(dev);
> 2946 if (ret)
> 2947 dev_err(dev, "put_ret:%d,
> rpm_error:%d\n",
> 2948 ret, dev->power.runtime_error);
> 2949 afe_priv->pm_runtime_bypass_reg_ctl = false;
> 2950
> 2951 regcache_cache_only(afe->regmap, true);
> 2952 regcache_mark_dirty(afe->regmap);
> 2953
> 2954 return 0;
> 2955
> 2956 err_pm_disable:
> 2957 pm_runtime_put_sync(dev);
> 2958 pm_runtime_disable(dev);
> 2959
> 2960 return ret;
> 2961 }
> 2962
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Jiaxin Yu <jiaxin.yu@mediatek.com>
To: kernel test robot <lkp@intel.com>, <broonie@kernel.org>,
<robh+dt@kernel.org>, <angelogioacchino.delregno@collabora.com>
Cc: <kbuild-all@lists.01.org>, <aaronyu@google.com>,
<matthias.bgg@gmail.com>, <trevor.wu@mediatek.com>,
<tzungbi@google.com>, <julianbraha@gmail.com>,
<alsa-devel@alsa-project.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>,
<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: Re: [v3 13/19] ASoC: mediatek: mt8186: add platform driver
Date: Mon, 14 Mar 2022 18:11:54 +0800 [thread overview]
Message-ID: <e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com> (raw)
In-Reply-To: <202203140250.ob821GmA-lkp@intel.com>
On Mon, 2022-03-14 at 02:59 +0800, kernel test robot wrote:
> Hi Jiaxin,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on broonie-spi/for-next robh/for-next v5.17-
> rc7 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a
> note.
> And when submitting patch, we suggest to use '--base' as documented
> in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Jiaxin-Yu/ASoC-mediatek-Add-support-for-MT8186-SoC/20220313-231330
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next
> config: m68k-allyesconfig (
> https://download.01.org/0day-ci/archive/20220314/202203140250.ob821GmA-lkp@intel.com/config
> )
> compiler: m68k-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://github.com/0day-ci/linux/commit/088850061de683cf1cac329e1187f45fb1d25085
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Jiaxin-Yu/ASoC-mediatek-Add-
> support-for-MT8186-SoC/20220313-231330
> git checkout 088850061de683cf1cac329e1187f45fb1d25085
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0
> make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from sound/soc/mediatek/mt8186/mt8186-afe-
> pcm.c:9:
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c: In function
> 'mt8186_afe_pcm_dev_probe':
> > > sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2914:40: error:
> > > 'struct dev_pm_info' has no member named 'runtime_error'
>
> 2914 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2913:17: note: in
> expansion of macro 'dev_err'
> 2913 | dev_err(dev, "get_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2948:40: error: 'struct
> dev_pm_info' has no member named 'runtime_error'
> 2948 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2947:17: note: in
> expansion of macro 'dev_err'
> 2947 | dev_err(dev, "put_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
>
I'm terrible sorry about this build error. These sections of code need
be wrapped by the CONFIG_PM, or don't use these variables. I will fix
it in the next v4 version.
>
> vim +2914 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
>
> 2803
> 2804 static int mt8186_afe_pcm_dev_probe(struct
> platform_device *pdev)
> 2805 {
> 2806 struct mtk_base_afe *afe;
> 2807 struct mt8186_afe_private *afe_priv;
> 2808 struct resource *res;
> 2809 struct reset_control *rstc;
> 2810 struct device *dev = &pdev->dev;
> 2811 int i, ret, irq_id;
> 2812
> 2813 ret = dma_set_mask_and_coherent(dev,
> DMA_BIT_MASK(34));
> 2814 if (ret)
> 2815 return ret;
> 2816
> 2817 afe = devm_kzalloc(dev, sizeof(*afe),
> GFP_KERNEL);
> 2818 if (!afe)
> 2819 return -ENOMEM;
> 2820 platform_set_drvdata(pdev, afe);
> 2821
> 2822 afe->platform_priv = devm_kzalloc(dev,
> sizeof(*afe_priv), GFP_KERNEL);
> 2823 if (!afe->platform_priv)
> 2824 return -ENOMEM;
> 2825
> 2826 afe_priv = afe->platform_priv;
> 2827 afe->dev = &pdev->dev;
> 2828
> 2829 res = platform_get_resource(pdev,
> IORESOURCE_MEM, 0);
> 2830 afe->base_addr = devm_ioremap_resource(&pdev-
> >dev, res);
> 2831 if (IS_ERR(afe->base_addr))
> 2832 return PTR_ERR(afe->base_addr);
> 2833
> 2834 /* init audio related clock */
> 2835 ret = mt8186_init_clock(afe);
> 2836 if (ret) {
> 2837 dev_err(dev, "init clock error, ret
> %d\n", ret);
> 2838 return ret;
> 2839 }
> 2840
> 2841 /* init memif */
> 2842 afe->memif_32bit_supported = 0;
> 2843 afe->memif_size = MT8186_MEMIF_NUM;
> 2844 afe->memif = devm_kcalloc(dev, afe->memif_size,
> sizeof(*afe->memif),
> 2845 GFP_KERNEL);
> 2846
> 2847 if (!afe->memif)
> 2848 return -ENOMEM;
> 2849
> 2850 for (i = 0; i < afe->memif_size; i++) {
> 2851 afe->memif[i].data = &memif_data[i];
> 2852 afe->memif[i].irq_usage =
> memif_irq_usage[i];
> 2853 afe->memif[i].const_irq = 1;
> 2854 }
> 2855
> 2856 mutex_init(&afe->irq_alloc_lock); /* needed
> when dynamic irq */
> 2857
> 2858 /* init irq */
> 2859 afe->irqs_size = MT8186_IRQ_NUM;
> 2860 afe->irqs = devm_kcalloc(dev, afe->irqs_size,
> sizeof(*afe->irqs),
> 2861 GFP_KERNEL);
> 2862
> 2863 if (!afe->irqs)
> 2864 return -ENOMEM;
> 2865
> 2866 for (i = 0; i < afe->irqs_size; i++)
> 2867 afe->irqs[i].irq_data = &irq_data[i];
> 2868
> 2869 /* request irq */
> 2870 irq_id = platform_get_irq(pdev, 0);
> 2871 if (irq_id <= 0)
> 2872 return dev_err_probe(dev, irq_id < 0 ?
> irq_id : -ENXIO,
> 2873 "no irq found");
> 2874
> 2875 ret = devm_request_irq(dev, irq_id,
> mt8186_afe_irq_handler,
> 2876 IRQF_TRIGGER_NONE,
> 2877 "Afe_ISR_Handle", (void
> *)afe);
> 2878 if (ret)
> 2879 return dev_err_probe(dev, ret, "could
> not request_irq for Afe_ISR_Handle\n");
> 2880
> 2881 ret = enable_irq_wake(irq_id);
> 2882 if (ret < 0)
> 2883 return dev_err_probe(dev, ret,
> "enable_irq_wake %d\n", irq_id);
> 2884
> 2885 /* init sub_dais */
> 2886 INIT_LIST_HEAD(&afe->sub_dais);
> 2887
> 2888 for (i = 0; i < ARRAY_SIZE(dai_register_cbs);
> i++) {
> 2889 ret = dai_register_cbs[i](afe);
> 2890 if (ret)
> 2891 return dev_err_probe(dev, ret,
> "dai register i %d fail\n", i);
> 2892 }
> 2893
> 2894 /* init dai_driver and component_driver */
> 2895 ret = mtk_afe_combine_sub_dai(afe);
> 2896 if (ret)
> 2897 return dev_err_probe(dev, ret,
> "mtk_afe_combine_sub_dai fail\n");
> 2898
> 2899 /* reset controller to reset audio regs before
> regmap cache */
> 2900 rstc = devm_reset_control_get_exclusive(dev,
> "audiosys");
> 2901 if (IS_ERR(rstc))
> 2902 return dev_err_probe(dev,
> PTR_ERR(rstc), "could not get audiosys reset\n");
> 2903
> 2904 ret = reset_control_reset(rstc);
> 2905 if (ret)
> 2906 return dev_err_probe(dev, ret, "failed
> to trigger audio reset\n");
> 2907
> 2908 /* enable clock for regcache get default value
> from hw */
> 2909 afe_priv->pm_runtime_bypass_reg_ctl = true;
> 2910 pm_runtime_enable(dev);
> 2911 ret = pm_runtime_get_sync(dev);
> 2912 if (ret)
> 2913 dev_err(dev, "get_ret:%d,
> rpm_error:%d\n",
> > 2914 ret, dev->power.runtime_error);
>
> 2915
> 2916 afe->regmap = devm_regmap_init_mmio(dev, afe-
> >base_addr,
> 2917 &mt8186_afe
> _regmap_config);
> 2918 if (IS_ERR(afe->regmap)) {
> 2919 ret = PTR_ERR(afe->regmap);
> 2920 goto err_pm_disable;
> 2921 }
> 2922
> 2923 /* others */
> 2924 afe->mtk_afe_hardware = &mt8186_afe_hardware;
> 2925 afe->memif_fs = mt8186_memif_fs;
> 2926 afe->irq_fs = mt8186_irq_fs;
> 2927 afe->get_dai_fs = mt8186_get_dai_fs;
> 2928 afe->get_memif_pbuf_size =
> mt8186_get_memif_pbuf_size;
> 2929
> 2930 afe->runtime_resume =
> mt8186_afe_runtime_resume;
> 2931 afe->runtime_suspend =
> mt8186_afe_runtime_suspend;
> 2932
> 2933 /* register platform */
> 2934 dev_info(dev, "%s(),
> devm_snd_soc_register_component\n", __func__);
> 2935
> 2936 ret = devm_snd_soc_register_component(dev,
> 2937 &mt8186_a
> fe_component,
> 2938 afe-
> >dai_drivers,
> 2939 afe-
> >num_dai_drivers);
> 2940 if (ret) {
> 2941 dev_err(dev, "err_dai_component\n");
> 2942 goto err_pm_disable;
> 2943 }
> 2944
> 2945 ret = pm_runtime_put_sync(dev);
> 2946 if (ret)
> 2947 dev_err(dev, "put_ret:%d,
> rpm_error:%d\n",
> 2948 ret, dev->power.runtime_error);
> 2949 afe_priv->pm_runtime_bypass_reg_ctl = false;
> 2950
> 2951 regcache_cache_only(afe->regmap, true);
> 2952 regcache_mark_dirty(afe->regmap);
> 2953
> 2954 return 0;
> 2955
> 2956 err_pm_disable:
> 2957 pm_runtime_put_sync(dev);
> 2958 pm_runtime_disable(dev);
> 2959
> 2960 return ret;
> 2961 }
> 2962
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Jiaxin Yu <jiaxin.yu@mediatek.com>
To: kbuild-all@lists.01.org
Subject: Re: [v3 13/19] ASoC: mediatek: mt8186: add platform driver
Date: Mon, 14 Mar 2022 18:11:54 +0800 [thread overview]
Message-ID: <e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com> (raw)
In-Reply-To: <202203140250.ob821GmA-lkp@intel.com>
[-- Attachment #1: Type: text/plain, Size: 9822 bytes --]
On Mon, 2022-03-14 at 02:59 +0800, kernel test robot wrote:
> Hi Jiaxin,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on broonie-sound/for-next]
> [also build test ERROR on broonie-spi/for-next robh/for-next v5.17-
> rc7 next-20220310]
> [If your patch is applied to the wrong git tree, kindly drop us a
> note.
> And when submitting patch, we suggest to use '--base' as documented
> in
> https://git-scm.com/docs/git-format-patch]
>
> url:
> https://github.com/0day-ci/linux/commits/Jiaxin-Yu/ASoC-mediatek-Add-support-for-MT8186-SoC/20220313-231330
> base:
> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> for-next
> config: m68k-allyesconfig (
> https://download.01.org/0day-ci/archive/20220314/202203140250.ob821GmA-lkp(a)intel.com/config
> )
> compiler: m68k-linux-gcc (GCC) 11.2.0
> reproduce (this is a W=1 build):
> wget
> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> #
> https://github.com/0day-ci/linux/commit/088850061de683cf1cac329e1187f45fb1d25085
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Jiaxin-Yu/ASoC-mediatek-Add-
> support-for-MT8186-SoC/20220313-231330
> git checkout 088850061de683cf1cac329e1187f45fb1d25085
> # save the config file to linux build tree
> mkdir build_dir
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0
> make.cross O=build_dir ARCH=m68k SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/device.h:15,
> from include/linux/dma-mapping.h:7,
> from sound/soc/mediatek/mt8186/mt8186-afe-
> pcm.c:9:
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c: In function
> 'mt8186_afe_pcm_dev_probe':
> > > sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2914:40: error:
> > > 'struct dev_pm_info' has no member named 'runtime_error'
>
> 2914 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2913:17: note: in
> expansion of macro 'dev_err'
> 2913 | dev_err(dev, "get_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2948:40: error: 'struct
> dev_pm_info' has no member named 'runtime_error'
> 2948 | ret, dev->power.runtime_error);
> | ^
> include/linux/dev_printk.h:110:37: note: in definition of macro
> 'dev_printk_index_wrap'
> 110 | _p_func(dev, fmt,
> ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> sound/soc/mediatek/mt8186/mt8186-afe-pcm.c:2947:17: note: in
> expansion of macro 'dev_err'
> 2947 | dev_err(dev, "put_ret:%d, rpm_error:%d\n",
> | ^~~~~~~
>
I'm terrible sorry about this build error. These sections of code need
be wrapped by the CONFIG_PM, or don't use these variables. I will fix
it in the next v4 version.
>
> vim +2914 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
>
> 2803
> 2804 static int mt8186_afe_pcm_dev_probe(struct
> platform_device *pdev)
> 2805 {
> 2806 struct mtk_base_afe *afe;
> 2807 struct mt8186_afe_private *afe_priv;
> 2808 struct resource *res;
> 2809 struct reset_control *rstc;
> 2810 struct device *dev = &pdev->dev;
> 2811 int i, ret, irq_id;
> 2812
> 2813 ret = dma_set_mask_and_coherent(dev,
> DMA_BIT_MASK(34));
> 2814 if (ret)
> 2815 return ret;
> 2816
> 2817 afe = devm_kzalloc(dev, sizeof(*afe),
> GFP_KERNEL);
> 2818 if (!afe)
> 2819 return -ENOMEM;
> 2820 platform_set_drvdata(pdev, afe);
> 2821
> 2822 afe->platform_priv = devm_kzalloc(dev,
> sizeof(*afe_priv), GFP_KERNEL);
> 2823 if (!afe->platform_priv)
> 2824 return -ENOMEM;
> 2825
> 2826 afe_priv = afe->platform_priv;
> 2827 afe->dev = &pdev->dev;
> 2828
> 2829 res = platform_get_resource(pdev,
> IORESOURCE_MEM, 0);
> 2830 afe->base_addr = devm_ioremap_resource(&pdev-
> >dev, res);
> 2831 if (IS_ERR(afe->base_addr))
> 2832 return PTR_ERR(afe->base_addr);
> 2833
> 2834 /* init audio related clock */
> 2835 ret = mt8186_init_clock(afe);
> 2836 if (ret) {
> 2837 dev_err(dev, "init clock error, ret
> %d\n", ret);
> 2838 return ret;
> 2839 }
> 2840
> 2841 /* init memif */
> 2842 afe->memif_32bit_supported = 0;
> 2843 afe->memif_size = MT8186_MEMIF_NUM;
> 2844 afe->memif = devm_kcalloc(dev, afe->memif_size,
> sizeof(*afe->memif),
> 2845 GFP_KERNEL);
> 2846
> 2847 if (!afe->memif)
> 2848 return -ENOMEM;
> 2849
> 2850 for (i = 0; i < afe->memif_size; i++) {
> 2851 afe->memif[i].data = &memif_data[i];
> 2852 afe->memif[i].irq_usage =
> memif_irq_usage[i];
> 2853 afe->memif[i].const_irq = 1;
> 2854 }
> 2855
> 2856 mutex_init(&afe->irq_alloc_lock); /* needed
> when dynamic irq */
> 2857
> 2858 /* init irq */
> 2859 afe->irqs_size = MT8186_IRQ_NUM;
> 2860 afe->irqs = devm_kcalloc(dev, afe->irqs_size,
> sizeof(*afe->irqs),
> 2861 GFP_KERNEL);
> 2862
> 2863 if (!afe->irqs)
> 2864 return -ENOMEM;
> 2865
> 2866 for (i = 0; i < afe->irqs_size; i++)
> 2867 afe->irqs[i].irq_data = &irq_data[i];
> 2868
> 2869 /* request irq */
> 2870 irq_id = platform_get_irq(pdev, 0);
> 2871 if (irq_id <= 0)
> 2872 return dev_err_probe(dev, irq_id < 0 ?
> irq_id : -ENXIO,
> 2873 "no irq found");
> 2874
> 2875 ret = devm_request_irq(dev, irq_id,
> mt8186_afe_irq_handler,
> 2876 IRQF_TRIGGER_NONE,
> 2877 "Afe_ISR_Handle", (void
> *)afe);
> 2878 if (ret)
> 2879 return dev_err_probe(dev, ret, "could
> not request_irq for Afe_ISR_Handle\n");
> 2880
> 2881 ret = enable_irq_wake(irq_id);
> 2882 if (ret < 0)
> 2883 return dev_err_probe(dev, ret,
> "enable_irq_wake %d\n", irq_id);
> 2884
> 2885 /* init sub_dais */
> 2886 INIT_LIST_HEAD(&afe->sub_dais);
> 2887
> 2888 for (i = 0; i < ARRAY_SIZE(dai_register_cbs);
> i++) {
> 2889 ret = dai_register_cbs[i](afe);
> 2890 if (ret)
> 2891 return dev_err_probe(dev, ret,
> "dai register i %d fail\n", i);
> 2892 }
> 2893
> 2894 /* init dai_driver and component_driver */
> 2895 ret = mtk_afe_combine_sub_dai(afe);
> 2896 if (ret)
> 2897 return dev_err_probe(dev, ret,
> "mtk_afe_combine_sub_dai fail\n");
> 2898
> 2899 /* reset controller to reset audio regs before
> regmap cache */
> 2900 rstc = devm_reset_control_get_exclusive(dev,
> "audiosys");
> 2901 if (IS_ERR(rstc))
> 2902 return dev_err_probe(dev,
> PTR_ERR(rstc), "could not get audiosys reset\n");
> 2903
> 2904 ret = reset_control_reset(rstc);
> 2905 if (ret)
> 2906 return dev_err_probe(dev, ret, "failed
> to trigger audio reset\n");
> 2907
> 2908 /* enable clock for regcache get default value
> from hw */
> 2909 afe_priv->pm_runtime_bypass_reg_ctl = true;
> 2910 pm_runtime_enable(dev);
> 2911 ret = pm_runtime_get_sync(dev);
> 2912 if (ret)
> 2913 dev_err(dev, "get_ret:%d,
> rpm_error:%d\n",
> > 2914 ret, dev->power.runtime_error);
>
> 2915
> 2916 afe->regmap = devm_regmap_init_mmio(dev, afe-
> >base_addr,
> 2917 &mt8186_afe
> _regmap_config);
> 2918 if (IS_ERR(afe->regmap)) {
> 2919 ret = PTR_ERR(afe->regmap);
> 2920 goto err_pm_disable;
> 2921 }
> 2922
> 2923 /* others */
> 2924 afe->mtk_afe_hardware = &mt8186_afe_hardware;
> 2925 afe->memif_fs = mt8186_memif_fs;
> 2926 afe->irq_fs = mt8186_irq_fs;
> 2927 afe->get_dai_fs = mt8186_get_dai_fs;
> 2928 afe->get_memif_pbuf_size =
> mt8186_get_memif_pbuf_size;
> 2929
> 2930 afe->runtime_resume =
> mt8186_afe_runtime_resume;
> 2931 afe->runtime_suspend =
> mt8186_afe_runtime_suspend;
> 2932
> 2933 /* register platform */
> 2934 dev_info(dev, "%s(),
> devm_snd_soc_register_component\n", __func__);
> 2935
> 2936 ret = devm_snd_soc_register_component(dev,
> 2937 &mt8186_a
> fe_component,
> 2938 afe-
> >dai_drivers,
> 2939 afe-
> >num_dai_drivers);
> 2940 if (ret) {
> 2941 dev_err(dev, "err_dai_component\n");
> 2942 goto err_pm_disable;
> 2943 }
> 2944
> 2945 ret = pm_runtime_put_sync(dev);
> 2946 if (ret)
> 2947 dev_err(dev, "put_ret:%d,
> rpm_error:%d\n",
> 2948 ret, dev->power.runtime_error);
> 2949 afe_priv->pm_runtime_bypass_reg_ctl = false;
> 2950
> 2951 regcache_cache_only(afe->regmap, true);
> 2952 regcache_mark_dirty(afe->regmap);
> 2953
> 2954 return 0;
> 2955
> 2956 err_pm_disable:
> 2957 pm_runtime_put_sync(dev);
> 2958 pm_runtime_disable(dev);
> 2959
> 2960 return ret;
> 2961 }
> 2962
>
> ---
> 0-DAY CI Kernel Test Service
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2022-03-14 10:12 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-13 15:10 [v3 00/19] ASoC: mediatek: Add support for MT8186 SoC Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 01/19] ASoC: mediatek: mt6366: support for mt6366 codec Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 02/19] dt-bindings: mediatek: mt6358: add new compatible for using mt6366 Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-23 17:09 ` Rob Herring
2022-03-23 17:09 ` Rob Herring
2022-03-23 17:09 ` Rob Herring
2022-03-23 17:09 ` Rob Herring
2022-03-13 15:10 ` [v3 03/19] ASoC: mediatek: mt8186: support audsys clock control Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 04/19] ASoC: mediatek: mt8186: support adda in platform driver Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 05/19] ASoC: mediatek: mt8186: support hostless " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 06/19] ASoC: mediatek: mt8186: support hw gain " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 07/19] ASoC: mediatek: mt8186: support i2s " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:28 ` AngeloGioacchino Del Regno
2022-03-14 10:28 ` AngeloGioacchino Del Regno
2022-03-14 10:28 ` AngeloGioacchino Del Regno
2022-03-14 10:28 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 08/19] ASoC: mediatek: mt8186: support pcm " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:29 ` AngeloGioacchino Del Regno
2022-03-14 10:29 ` AngeloGioacchino Del Regno
2022-03-14 10:29 ` AngeloGioacchino Del Regno
2022-03-14 10:29 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 09/19] ASoC: mediatek: mt8186: support src " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:34 ` AngeloGioacchino Del Regno
2022-03-14 10:34 ` AngeloGioacchino Del Regno
2022-03-14 10:34 ` AngeloGioacchino Del Regno
2022-03-14 10:34 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 10/19] ASoC: mediatek: mt8186: support tdm " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:39 ` AngeloGioacchino Del Regno
2022-03-14 10:39 ` AngeloGioacchino Del Regno
2022-03-14 10:39 ` AngeloGioacchino Del Regno
2022-03-14 10:39 ` AngeloGioacchino Del Regno
2022-03-15 13:15 ` Mark Brown
2022-03-15 13:15 ` Mark Brown
2022-03-15 13:15 ` Mark Brown
2022-03-15 13:15 ` Mark Brown
2022-03-15 13:19 ` AngeloGioacchino Del Regno
2022-03-15 13:19 ` AngeloGioacchino Del Regno
2022-03-15 13:19 ` AngeloGioacchino Del Regno
2022-03-15 13:19 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 11/19] ASoC: mediatek: mt8186: support audio clock control " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 12/19] ASoC: mediatek: mt8186: support gpio " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 13/19] ASoC: mediatek: mt8186: add " Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 18:59 ` kernel test robot
2022-03-13 18:59 ` kernel test robot
2022-03-13 18:59 ` kernel test robot
2022-03-13 18:59 ` kernel test robot
2022-03-14 10:11 ` Jiaxin Yu [this message]
2022-03-14 10:11 ` Jiaxin Yu
2022-03-14 10:11 ` Jiaxin Yu
2022-03-14 10:11 ` Jiaxin Yu
2022-03-14 10:11 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 14/19] dt-bindings: mediatek: mt8186: add audio afe document Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-14 10:25 ` AngeloGioacchino Del Regno
2022-03-13 15:10 ` [v3 15/19] ASoC: mediatek: mt8186: add machine driver with mt6366, da7219 and max98357 Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:44 ` AngeloGioacchino Del Regno
2022-03-14 10:44 ` AngeloGioacchino Del Regno
2022-03-14 10:44 ` AngeloGioacchino Del Regno
2022-03-14 10:44 ` AngeloGioacchino Del Regno
2022-04-05 4:06 ` Jiaxin Yu
2022-04-05 4:06 ` Jiaxin Yu
2022-04-05 4:06 ` Jiaxin Yu
2022-04-05 4:06 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 16/19] dt-bindings: mediatek: mt8186: add mt8186-mt6366-da7219-max98357 document Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 17/19] ASoC: mediatek: mt8186: add machine driver with mt6366, rt1019 and rt5682s Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 18/19] dt-bindings: mediatek: mt8186: add mt8186-mt6366-rt1019-rt5682s document Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` [v3 19/19] ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-13 15:10 ` Jiaxin Yu
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 10:18 ` AngeloGioacchino Del Regno
2022-03-14 11:55 ` Jiaxin Yu
2022-03-14 11:55 ` Jiaxin Yu
2022-03-14 11:55 ` Jiaxin Yu
2022-03-14 11:55 ` Jiaxin Yu
2022-04-05 3:04 ` Jiaxin Yu
2022-04-05 3:04 ` Jiaxin Yu
2022-04-05 3:04 ` Jiaxin Yu
2022-04-05 3:04 ` Jiaxin Yu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e7e4b31d82fc7a18581dd3daa468297e8b662ea1.camel@mediatek.com \
--to=jiaxin.yu@mediatek.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=aaronyu@google.com \
--cc=alsa-devel@alsa-project.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=julianbraha@gmail.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=lkp@intel.com \
--cc=matthias.bgg@gmail.com \
--cc=robh+dt@kernel.org \
--cc=trevor.wu@mediatek.com \
--cc=tzungbi@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.