From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 93A74C433F5 for ; Mon, 16 May 2022 08:08:53 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id D4AC416CB; Mon, 16 May 2022 10:08:01 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz D4AC416CB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1652688531; bh=9CKskoo3OCV2g88InOoTDVCPrVDc9ACNA6yb1CYDP1E=; h=Date:Subject:To:References:From:In-Reply-To:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=J74YgLPnmOCT8JAVTb17Uky7npNDdBmZDMHMES7XBlGgq3/C2hWrf8TL+i+jT0yYN P2r5ukY/yy3+rGzt3VQS60iMzO1fIfBauVdTdJLqkqaJJKVK/XqSswR4nGIDfDEQBy t+JPoViv2FTugmqJ+4fMhN3C3Iu4g3luJC787IMQ= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 227D1F80579; Mon, 16 May 2022 10:04:03 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id A3763F80163; Sat, 14 May 2022 04:50:07 +0200 (CEST) Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 2027CF80083 for ; Sat, 14 May 2022 04:49:58 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 2027CF80083 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rqpo30UM" Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 4149EB8324C; Sat, 14 May 2022 02:49:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 283BEC385AA; Sat, 14 May 2022 02:49:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1652496595; bh=9CKskoo3OCV2g88InOoTDVCPrVDc9ACNA6yb1CYDP1E=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=rqpo30UM7Mksv/+SEikLMdE/k9FpTaABAeO/slUMX1ZLA/ar1n820UsuVPNCwclII rvpQaZshhfTKzXP+EKZI5zp6vr2KXbwskUzNDgoMeutxCfJ0GyB38bqu6KK4gLMvKH e0WHXRKjEpwKvub67LCZYaxCkeIhCl/g9/1fFsmMdLC++Q9AsoFrUhQDsti4tQKEq1 WxpapIMnzQeoeLBdJqdAnD2TQ52zF5m+RNI3wLDbR+msyS4YOAMyjbNnYo81jddfN4 +Z5/ghmovWS2+M/W8ov27dPcv3ak08TYNOSJtrVVyGJtJcKtOcqZZm1zeK/4MolXAp p9rUlCApnhkaQ== Message-ID: Date: Fri, 13 May 2022 19:49:54 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH v2 11/15] ASoC: Intel: avs: Machine board registration Content-Language: en-US To: =?UTF-8?Q?Amadeusz_S=c5=82awi=c5=84ski?= , kernel test robot , Cezary Rojewski , alsa-devel@alsa-project.org, broonie@kernel.org References: <20220509085821.3852259-12-cezary.rojewski@intel.com> <202205091954.7hT2TBhd-lkp@intel.com> From: Vineet Gupta In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Mon, 16 May 2022 10:03:52 +0200 Cc: upstream@semihalf.com, harshapriya.n@intel.com, rad@semihalf.com, pierre-louis.bossart@linux.intel.com, tiwai@suse.com, hdegoede@redhat.com, Geert Uytterhoeven , Vineet Gupta , kbuild-all@lists.01.org, cujomalainey@chromium.org, lma@semihalf.com X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On 5/9/22 18:08, Amadeusz Sławiński wrote: > On 5/9/2022 1:58 PM, kernel test robot wrote: >> Hi Cezary, >> >> I love your patch! Perhaps something to improve: >> >> [auto build test WARNING on broonie-sound/for-next] >> [also build test WARNING on next-20220506] >> [cannot apply to tiwai-sound/for-next v5.18-rc6] >> [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/intel-lab-lkp/linux/commits/Cezary-Rojewski/ASoC-Intel-avs-Driver-core-and-PCM-operations/20220509-165656 >> base: >> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git >> for-next >> config: arc-allyesconfig >> (https://download.01.org/0day-ci/archive/20220509/202205091954.7hT2TBhd-lkp@intel.com/config) >> compiler: arceb-elf-gcc (GCC) 11.3.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/intel-lab-lkp/linux/commit/2ef25400a7aee5a8e75c2ccdb5618be31c9f6809 >>          git remote add linux-review >> https://github.com/intel-lab-lkp/linux >>          git fetch --no-tags linux-review >> Cezary-Rojewski/ASoC-Intel-avs-Driver-core-and-PCM-operations/20220509-165656 >>          git checkout 2ef25400a7aee5a8e75c2ccdb5618be31c9f6809 >>          # save the config file >>          mkdir build_dir && cp config build_dir/.config >>          COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 >> make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash sound/soc/intel/avs/ >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot >> >> All warnings (new ones prefixed by >>): >> >>     In file included from include/linux/device.h:15, >>                      from include/linux/acpi.h:15, >>                      from sound/soc/intel/avs/board_selection.c:9: >>     sound/soc/intel/avs/board_selection.c: In function >> 'avs_register_i2s_board': >>>> sound/soc/intel/avs/board_selection.c:328:36: warning: format '%ld' >>>> expects argument of type 'long int', but argument 5 has type 'int' >>>> [-Wformat=] >>       328 |                 dev_err(adev->dev, "Platform supports %d >> SSPs but board %s requires SSP%ld\n", >>           | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>     include/linux/dev_printk.h:110:30: note: in definition of macro >> 'dev_printk_index_wrap' >>       110 |                 _p_func(dev, fmt, >> ##__VA_ARGS__);                       \ >>           |                              ^~~ >>     include/linux/dev_printk.h:144:56: note: in expansion of macro >> 'dev_fmt' >>       144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, >> dev_fmt(fmt), ##__VA_ARGS__) >> |                                                        ^~~~~~~ >>     sound/soc/intel/avs/board_selection.c:328:17: note: in expansion >> of macro 'dev_err' >>       328 |                 dev_err(adev->dev, "Platform supports %d >> SSPs but board %s requires SSP%ld\n", >>           |                 ^~~~~~~ >>     sound/soc/intel/avs/board_selection.c:328:90: note: format string >> is defined here >>       328 |                 dev_err(adev->dev, "Platform supports %d >> SSPs but board %s requires SSP%ld\n", >> | ~~^ >> | | >> | long int >> | %d >> >> >> vim +328 sound/soc/intel/avs/board_selection.c >> >>     318 >>     319    static int avs_register_i2s_board(struct avs_dev *adev, >> struct snd_soc_acpi_mach *mach) >>     320    { >>     321        struct platform_device *board; >>     322        int num_ssps; >>     323        char *name; >>     324        int ret; >>     325 >>     326        num_ssps = adev->hw_cfg.i2s_caps.ctrl_count; >>     327        if (fls(mach->mach_params.i2s_link_mask) > num_ssps) { >>   > 328            dev_err(adev->dev, "Platform supports %d SSPs but >> board %s requires SSP%ld\n", >>     329                num_ssps, mach->drv_name, >> __fls(mach->mach_params.i2s_link_mask)); >>     330            return -ENODEV; >>     331        } >>     332 >>     333        name = devm_kasprintf(adev->dev, GFP_KERNEL, >> "%s.%d-platform", mach->drv_name, >>     334 mach->mach_params.i2s_link_mask); >>     335        if (!name) >>     336            return -ENOMEM; >>     337 >>     338        ret = avs_i2s_platform_register(adev, name, >> mach->mach_params.i2s_link_mask, mach->pdata); >>     339        if (ret < 0) >>     340            return ret; >>     341 >>     342        mach->mach_params.platform = name; >>     343 >>     344        board = platform_device_register_data(NULL, >> mach->drv_name, mach->mach_params.i2s_link_mask, >>     345                              (const void *)mach, sizeof(*mach)); >>     346        if (IS_ERR(board)) { >>     347            dev_err(adev->dev, "ssp board register failed\n"); >>     348            return PTR_ERR(board); >>     349        } >>     350 >>     351        ret = devm_add_action(adev->dev, >> board_pdev_unregister, board); >>     352        if (ret < 0) { >>     353            platform_device_unregister(board); >>     354            return ret; >>     355        } >>     356 >>     357        return 0; >>     358    } >>     359 >> > > Kernel test robot warns us about __fls and it is right, as __fls > depending on architecture returns either unsigned int or unsigned long. > But I would say that this seems questionable, as I would expect > consistent return value between arches, especially for functions where > we operate on bits and probably don't want inconsistent results. > > Generic asm header [1] seems to suggest that it should accept unsigned > long as parameter and return unsigned long. It seems however that arc > accepts unsigned long as argument and returns int, while m68k uses int > for argument and return value... > > Adding relevant architecture maintainers to CC. > > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/asm-generic/bitops/__fls.h In generic code __fls() returns long, while fls() return int, which is weird as well. Anyhow for this error, ARC indeed needs fixing. Do u want to send a patch ? Thx, -Vineet From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2784584818131501846==" MIME-Version: 1.0 From: Vineet Gupta To: kbuild-all@lists.01.org Subject: Re: [PATCH v2 11/15] ASoC: Intel: avs: Machine board registration Date: Fri, 13 May 2022 19:49:54 -0700 Message-ID: In-Reply-To: List-Id: --===============2784584818131501846== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 5/9/22 18:08, Amadeusz S=C5=82awi=C5=84ski wrote: > On 5/9/2022 1:58 PM, kernel test robot wrote: >> Hi Cezary, >> >> I love your patch! Perhaps something to improve: >> >> [auto build test WARNING on broonie-sound/for-next] >> [also build test WARNING on next-20220506] >> [cannot apply to tiwai-sound/for-next v5.18-rc6] >> [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/intel-lab-lkp/linux/commits/Cezary-Rojewski/ASoC-Inte= l-avs-Driver-core-and-PCM-operations/20220509-165656 >> base: = >> https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git = >> for-next >> config: arc-allyesconfig = >> (https://download.01.org/0day-ci/archive/20220509/202205091954.7hT2TBhd-= lkp(a)intel.com/config) >> compiler: arceb-elf-gcc (GCC) 11.3.0 >> reproduce (this is a W=3D1 build): >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 wget = >> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross = >> -O ~/bin/make.cross >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 chmod +x ~/bin/make.cro= ss >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # = >> https://github.com/intel-lab-lkp/linux/commit/2ef25400a7aee5a8e75c2ccdb5= 618be31c9f6809 >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 git remote add linux-re= view = >> https://github.com/intel-lab-lkp/linux >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 git fetch --no-tags lin= ux-review = >> Cezary-Rojewski/ASoC-Intel-avs-Driver-core-and-PCM-operations/20220509-1= 65656 >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 git checkout 2ef25400a7= aee5a8e75c2ccdb5618be31c9f6809 >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 # save the config file >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mkdir build_dir && cp c= onfig build_dir/.config >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 COMPILER_INSTALL_PATH= =3D$HOME/0day COMPILER=3Dgcc-11.3.0 = >> make.cross W=3D1 O=3Dbuild_dir ARCH=3Darc SHELL=3D/bin/bash sound/soc/in= tel/avs/ >> >> If you fix the issue, kindly add following tag as appropriate >> Reported-by: kernel test robot >> >> All warnings (new ones prefixed by >>): >> >> =C2=A0=C2=A0=C2=A0 In file included from include/linux/device.h:15, >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from include/linux/acpi.h:= 15, >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 from sound/soc/intel/avs/b= oard_selection.c:9: >> =C2=A0=C2=A0=C2=A0 sound/soc/intel/avs/board_selection.c: In function = >> 'avs_register_i2s_board': >>>> sound/soc/intel/avs/board_selection.c:328:36: warning: format '%ld' = >>>> expects argument of type 'long int', but argument 5 has type 'int' = >>>> [-Wformat=3D] >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 328 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_err(adev->= dev, "Platform supports %d = >> SSPs but board %s requires SSP%ld\n", >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | ^~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> =C2=A0=C2=A0=C2=A0 include/linux/dev_printk.h:110:30: note: in definitio= n of macro = >> 'dev_printk_index_wrap' >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 110 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _p_func(dev, f= mt, = >> ##__VA_ARGS__);=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= \ >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ^~~ >> =C2=A0=C2=A0=C2=A0 include/linux/dev_printk.h:144:56: note: in expansion= of macro = >> 'dev_fmt' >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 144 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 dev_printk_index_wrap(_dev_err, KERN_ERR, dev, = >> dev_fmt(fmt), ##__VA_ARGS__) >> |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~ >> =C2=A0=C2=A0=C2=A0 sound/soc/intel/avs/board_selection.c:328:17: note: i= n expansion = >> of macro 'dev_err' >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 328 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_err(adev->= dev, "Platform supports %d = >> SSPs but board %s requires SSP%ld\n", >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 ^~~~~~~ >> =C2=A0=C2=A0=C2=A0 sound/soc/intel/avs/board_selection.c:328:90: note: f= ormat string = >> is defined here >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 328 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dev_err(adev->= dev, "Platform supports %d = >> SSPs but board %s requires SSP%ld\n", >> | ~~^ >> | | >> | long int >> | %d >> >> >> vim +328 sound/soc/intel/avs/board_selection.c >> >> =C2=A0=C2=A0=C2=A0 318 >> =C2=A0=C2=A0=C2=A0 319=C2=A0=C2=A0=C2=A0 static int avs_register_i2s_boa= rd(struct avs_dev *adev, = >> struct snd_soc_acpi_mach *mach) >> =C2=A0=C2=A0=C2=A0 320=C2=A0=C2=A0=C2=A0 { >> =C2=A0=C2=A0=C2=A0 321=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct = platform_device *board; >> =C2=A0=C2=A0=C2=A0 322=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int num= _ssps; >> =C2=A0=C2=A0=C2=A0 323=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 char *n= ame; >> =C2=A0=C2=A0=C2=A0 324=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 int ret; >> =C2=A0=C2=A0=C2=A0 325 >> =C2=A0=C2=A0=C2=A0 326=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 num_ssp= s =3D adev->hw_cfg.i2s_caps.ctrl_count; >> =C2=A0=C2=A0=C2=A0 327=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (fls= (mach->mach_params.i2s_link_mask) > num_ssps) { >> =C2=A0 > 328=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 dev_err(adev->dev, "Platform supports %d SSPs but = >> board %s requires SSP%ld\n", >> =C2=A0=C2=A0=C2=A0 329=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 num_ssps, mach->drv_name, = >> __fls(mach->mach_params.i2s_link_mask)); >> =C2=A0=C2=A0=C2=A0 330=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return -ENODEV; >> =C2=A0=C2=A0=C2=A0 331=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0 332 >> =C2=A0=C2=A0=C2=A0 333=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 name = =3D devm_kasprintf(adev->dev, GFP_KERNEL, = >> "%s.%d-platform", mach->drv_name, >> =C2=A0=C2=A0=C2=A0 334 mach->mach_params.i2s_link_mask); >> =C2=A0=C2=A0=C2=A0 335=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (!na= me) >> =C2=A0=C2=A0=C2=A0 336=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return -ENOMEM; >> =C2=A0=C2=A0=C2=A0 337 >> =C2=A0=C2=A0=C2=A0 338=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret =3D= avs_i2s_platform_register(adev, name, = >> mach->mach_params.i2s_link_mask, mach->pdata); >> =C2=A0=C2=A0=C2=A0 339=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (ret= < 0) >> =C2=A0=C2=A0=C2=A0 340=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return ret; >> =C2=A0=C2=A0=C2=A0 341 >> =C2=A0=C2=A0=C2=A0 342=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mach->m= ach_params.platform =3D name; >> =C2=A0=C2=A0=C2=A0 343 >> =C2=A0=C2=A0=C2=A0 344=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 board = =3D platform_device_register_data(NULL, = >> mach->drv_name, mach->mach_params.i2s_link_mask, >> =C2=A0=C2=A0=C2=A0 345=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (const void *)mach, siz= eof(*mach)); >> =C2=A0=C2=A0=C2=A0 346=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (IS_= ERR(board)) { >> =C2=A0=C2=A0=C2=A0 347=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 dev_err(adev->dev, "ssp board register failed\n"); >> =C2=A0=C2=A0=C2=A0 348=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return PTR_ERR(board); >> =C2=A0=C2=A0=C2=A0 349=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0 350 >> =C2=A0=C2=A0=C2=A0 351=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret =3D= devm_add_action(adev->dev, = >> board_pdev_unregister, board); >> =C2=A0=C2=A0=C2=A0 352=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (ret= < 0) { >> =C2=A0=C2=A0=C2=A0 353=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 platform_device_unregister(board); >> =C2=A0=C2=A0=C2=A0 354=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 return ret; >> =C2=A0=C2=A0=C2=A0 355=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0 356 >> =C2=A0=C2=A0=C2=A0 357=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return = 0; >> =C2=A0=C2=A0=C2=A0 358=C2=A0=C2=A0=C2=A0 } >> =C2=A0=C2=A0=C2=A0 359 >> > > Kernel test robot warns us about __fls and it is right, as __fls = > depending on architecture returns either unsigned int or unsigned long. > But I would say that this seems questionable, as I would expect = > consistent return value between arches, especially for functions where = > we operate on bits and probably don't want inconsistent results. > > Generic asm header [1] seems to suggest that it should accept unsigned = > long as parameter and return unsigned long. It seems however that arc = > accepts unsigned long as argument and returns int, while m68k uses int = > for argument and return value... > > Adding relevant architecture maintainers to CC. > > [1] = > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/i= nclude/asm-generic/bitops/__fls.h In generic code __fls() returns long, while fls() return int, which is = weird as well. Anyhow for this error, ARC indeed needs fixing. Do u want to send a patch ? Thx, -Vineet --===============2784584818131501846==--