All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Viorel Suman <viorel.suman@nxp.com>
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>
Subject: sound/soc/fsl/fsl_xcvr.c:1048:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
Date: Fri, 20 Aug 2021 10:26:06 +0800	[thread overview]
Message-ID: <202108201004.SfReyBA0-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 17041 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d992fe5318d8d7af9510b879439a3c7f283da442
commit: 28564486866fa889b78264360022c94836fa8072 ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver
date:   10 months ago
config: arm-randconfig-c002-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d)
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
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=28564486866fa889b78264360022c94836fa8072
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 28564486866fa889b78264360022c94836fa8072
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~
   drivers/hwmon/lm75.h:27:14: note: '?' condition is true
           int ntemp = clamp_val(temp, LM75_TEMP_MIN, LM75_TEMP_MAX);
                       ^
   include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/hwmon/lm75.h:29:12: note: 'ntemp' is < 0
           ntemp += (ntemp < 0 ? -250 : 250);
                     ^~~~~
   drivers/hwmon/lm75.h:29:12: note: '?' condition is true
   drivers/hwmon/lm75.h:30:29: note: The result of the left shift is undefined because the left operand is negative
           return (u16)((ntemp / 500) << 7);
                        ~~~~~~~~~~~~~ ^
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   sound/soc/fsl/fsl_spdif.c:153:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:153:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:169:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:169:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:221:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:221:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:238:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:238:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:270:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:270:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:372:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:372:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:844:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:844:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
>> sound/soc/fsl/fsl_xcvr.c:1048:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = &xcvr->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_xcvr.c:1048:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = &xcvr->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   sound/soc/img/img-spdif-in.c:787:30: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           reg |= (spdif->lock_release << IMG_SPDIF_IN_CTL_LOCKLO_SHIFT) &
                   ~~~~~~~~~~~~~~~~~~~ ^
   sound/soc/img/img-spdif-in.c:728:6: note: Assuming 'spdif' is non-null
           if (!spdif)
               ^~~~~~
   sound/soc/img/img-spdif-in.c:728:2: note: Taking false branch
           if (!spdif)
           ^
   sound/soc/img/img-spdif-in.c:731:2: note: Calling 'platform_set_drvdata'
           platform_set_drvdata(pdev, spdif);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_device.h:239:2: note: Calling 'dev_set_drvdata'
           dev_set_drvdata(&pdev->dev, data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:663:1: note: Returning without writing to 'data->lock_release'
   }
   ^
   include/linux/platform_device.h:239:2: note: Returning from 'dev_set_drvdata'
           dev_set_drvdata(&pdev->dev, data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_device.h:240:1: note: Returning without writing to 'data->lock_release'
   }
   ^
   sound/soc/img/img-spdif-in.c:731:2: note: Returning from 'platform_set_drvdata'
           platform_set_drvdata(pdev, spdif);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:6: note: Calling 'IS_ERR'
           if (IS_ERR(base))
               ^~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:6: note: Returning from 'IS_ERR'
           if (IS_ERR(base))
               ^~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:2: note: Taking false branch
           if (IS_ERR(base))
           ^
   sound/soc/img/img-spdif-in.c:743:6: note: Calling 'IS_ERR'
           if (IS_ERR(spdif->clk_sys)) {
               ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:743:6: note: Returning from 'IS_ERR'
           if (IS_ERR(spdif->clk_sys)) {
               ^~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:743:2: note: Taking false branch
           if (IS_ERR(spdif->clk_sys)) {
           ^
   sound/soc/img/img-spdif-in.c:750:7: note: Calling 'pm_runtime_enabled'
           if (!pm_runtime_enabled(&pdev->dev)) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/pm_runtime.h:263:61: note: Returning zero, which participates in a condition later
   static inline bool pm_runtime_enabled(struct device *dev) { return false; }
                                                               ^~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:750:7: note: Returning from 'pm_runtime_enabled'
           if (!pm_runtime_enabled(&pdev->dev)) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:750:2: note: Taking true branch
           if (!pm_runtime_enabled(&pdev->dev)) {
           ^
   sound/soc/img/img-spdif-in.c:751:9: note: Calling 'img_spdif_in_runtime_resume'
                   ret = img_spdif_in_runtime_resume(&pdev->dev);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:104:8: note: Calling 'clk_prepare_enable'
           ret = clk_prepare_enable(spdif->clk_sys);

vim +/dev +1048 sound/soc/fsl/fsl_xcvr.c

  1044	
  1045	static irqreturn_t irq0_isr(int irq, void *devid)
  1046	{
  1047		struct fsl_xcvr *xcvr = (struct fsl_xcvr *)devid;
> 1048		struct device *dev = &xcvr->pdev->dev;
  1049		struct regmap *regmap = xcvr->regmap;
  1050		void __iomem *reg_ctrl, *reg_buff;
  1051		u32 isr, isr_clr = 0, val, i;
  1052	
  1053		regmap_read(regmap, FSL_XCVR_EXT_ISR, &isr);
  1054	
  1055		if (isr & FSL_XCVR_IRQ_NEW_CS) {
  1056			dev_dbg(dev, "Received new CS block\n");
  1057			isr_clr |= FSL_XCVR_IRQ_NEW_CS;
  1058			/* Data RAM is 4KiB, last two pages: 8 and 9. Select page 8. */
  1059			regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL,
  1060					   FSL_XCVR_EXT_CTRL_PAGE_MASK,
  1061					   FSL_XCVR_EXT_CTRL_PAGE(8));
  1062	
  1063			/* Find updated CS buffer */
  1064			reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_0;
  1065			reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_0;
  1066			memcpy_fromio(&val, reg_ctrl, sizeof(val));
  1067			if (!val) {
  1068				reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_1;
  1069				reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_1;
  1070				memcpy_fromio(&val, reg_ctrl, sizeof(val));
  1071			}
  1072	
  1073			if (val) {
  1074				/* copy CS buffer */
  1075				memcpy_fromio(&xcvr->rx_iec958.status, reg_buff,
  1076					      sizeof(xcvr->rx_iec958.status));
  1077				for (i = 0; i < 6; i++) {
  1078					val = *(u32 *)(xcvr->rx_iec958.status + i*4);
  1079					*(u32 *)(xcvr->rx_iec958.status + i*4) =
  1080						bitrev32(val);
  1081				}
  1082				/* clear CS control register */
  1083				memset_io(reg_ctrl, 0, sizeof(val));
  1084			}
  1085		}
  1086		if (isr & FSL_XCVR_IRQ_NEW_UD) {
  1087			dev_dbg(dev, "Received new UD block\n");
  1088			isr_clr |= FSL_XCVR_IRQ_NEW_UD;
  1089		}
  1090		if (isr & FSL_XCVR_IRQ_MUTE) {
  1091			dev_dbg(dev, "HW mute bit detected\n");
  1092			isr_clr |= FSL_XCVR_IRQ_MUTE;
  1093		}
  1094		if (isr & FSL_XCVR_IRQ_FIFO_UOFL_ERR) {
  1095			dev_dbg(dev, "RX/TX FIFO full/empty\n");
  1096			isr_clr |= FSL_XCVR_IRQ_FIFO_UOFL_ERR;
  1097		}
  1098		if (isr & FSL_XCVR_IRQ_ARC_MODE) {
  1099			dev_dbg(dev, "CMDC SM falls out of eARC mode\n");
  1100			isr_clr |= FSL_XCVR_IRQ_ARC_MODE;
  1101		}
  1102		if (isr & FSL_XCVR_IRQ_DMA_RD_REQ) {
  1103			dev_dbg(dev, "DMA read request\n");
  1104			isr_clr |= FSL_XCVR_IRQ_DMA_RD_REQ;
  1105		}
  1106		if (isr & FSL_XCVR_IRQ_DMA_WR_REQ) {
  1107			dev_dbg(dev, "DMA write request\n");
  1108			isr_clr |= FSL_XCVR_IRQ_DMA_WR_REQ;
  1109		}
  1110	
  1111		if (isr_clr) {
  1112			regmap_write(regmap, FSL_XCVR_EXT_ISR_CLR, isr_clr);
  1113			return IRQ_HANDLED;
  1114		}
  1115	
  1116		return IRQ_NONE;
  1117	}
  1118	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26908 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: sound/soc/fsl/fsl_xcvr.c:1048:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
Date: Fri, 20 Aug 2021 10:26:06 +0800	[thread overview]
Message-ID: <202108201004.SfReyBA0-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 17349 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d992fe5318d8d7af9510b879439a3c7f283da442
commit: 28564486866fa889b78264360022c94836fa8072 ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver
date:   10 months ago
config: arm-randconfig-c002-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d)
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
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=28564486866fa889b78264360022c94836fa8072
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 28564486866fa889b78264360022c94836fa8072
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~
   drivers/hwmon/lm75.h:27:14: note: '?' condition is true
           int ntemp = clamp_val(temp, LM75_TEMP_MIN, LM75_TEMP_MAX);
                       ^
   include/linux/minmax.h:143:32: note: expanded from macro 'clamp_val'
   #define clamp_val(val, lo, hi) clamp_t(typeof(val), val, lo, hi)
                                  ^
   include/linux/minmax.h:130:36: note: expanded from macro 'clamp_t'
   #define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi)
                                      ^
   include/linux/minmax.h:110:27: note: expanded from macro 'min_t'
   #define min_t(type, x, y)       __careful_cmp((type)(x), (type)(y), <)
                                   ^
   include/linux/minmax.h:44:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:39:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:34:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   drivers/hwmon/lm75.h:29:12: note: 'ntemp' is < 0
           ntemp += (ntemp < 0 ? -250 : 250);
                     ^~~~~
   drivers/hwmon/lm75.h:29:12: note: '?' condition is true
   drivers/hwmon/lm75.h:30:29: note: The result of the left shift is undefined because the left operand is negative
           return (u16)((ntemp / 500) << 7);
                        ~~~~~~~~~~~~~ ^
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   sound/soc/fsl/fsl_spdif.c:153:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:153:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:169:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:169:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:221:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:221:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:238:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:238:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:270:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:270:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:372:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:372:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:844:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_spdif.c:844:26: note: Value stored to 'pdev' during its initialization is never read
           struct platform_device *pdev = spdif_priv->pdev;
                                   ^~~~   ~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
>> sound/soc/fsl/fsl_xcvr.c:1048:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = &xcvr->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~~
   sound/soc/fsl/fsl_xcvr.c:1048:17: note: Value stored to 'dev' during its initialization is never read
           struct device *dev = &xcvr->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   sound/soc/img/img-spdif-in.c:787:30: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           reg |= (spdif->lock_release << IMG_SPDIF_IN_CTL_LOCKLO_SHIFT) &
                   ~~~~~~~~~~~~~~~~~~~ ^
   sound/soc/img/img-spdif-in.c:728:6: note: Assuming 'spdif' is non-null
           if (!spdif)
               ^~~~~~
   sound/soc/img/img-spdif-in.c:728:2: note: Taking false branch
           if (!spdif)
           ^
   sound/soc/img/img-spdif-in.c:731:2: note: Calling 'platform_set_drvdata'
           platform_set_drvdata(pdev, spdif);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_device.h:239:2: note: Calling 'dev_set_drvdata'
           dev_set_drvdata(&pdev->dev, data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/device.h:663:1: note: Returning without writing to 'data->lock_release'
   }
   ^
   include/linux/platform_device.h:239:2: note: Returning from 'dev_set_drvdata'
           dev_set_drvdata(&pdev->dev, data);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_device.h:240:1: note: Returning without writing to 'data->lock_release'
   }
   ^
   sound/soc/img/img-spdif-in.c:731:2: note: Returning from 'platform_set_drvdata'
           platform_set_drvdata(pdev, spdif);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:6: note: Calling 'IS_ERR'
           if (IS_ERR(base))
               ^~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:6: note: Returning from 'IS_ERR'
           if (IS_ERR(base))
               ^~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:737:2: note: Taking false branch
           if (IS_ERR(base))
           ^
   sound/soc/img/img-spdif-in.c:743:6: note: Calling 'IS_ERR'
           if (IS_ERR(spdif->clk_sys)) {
               ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/err.h:36:9: note: Assuming the condition is false
           return IS_ERR_VALUE((unsigned long)ptr);
                  ^
   include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
   #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
           return IS_ERR_VALUE((unsigned long)ptr);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:743:6: note: Returning from 'IS_ERR'
           if (IS_ERR(spdif->clk_sys)) {
               ^~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:743:2: note: Taking false branch
           if (IS_ERR(spdif->clk_sys)) {
           ^
   sound/soc/img/img-spdif-in.c:750:7: note: Calling 'pm_runtime_enabled'
           if (!pm_runtime_enabled(&pdev->dev)) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/pm_runtime.h:263:61: note: Returning zero, which participates in a condition later
   static inline bool pm_runtime_enabled(struct device *dev) { return false; }
                                                               ^~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:750:7: note: Returning from 'pm_runtime_enabled'
           if (!pm_runtime_enabled(&pdev->dev)) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:750:2: note: Taking true branch
           if (!pm_runtime_enabled(&pdev->dev)) {
           ^
   sound/soc/img/img-spdif-in.c:751:9: note: Calling 'img_spdif_in_runtime_resume'
                   ret = img_spdif_in_runtime_resume(&pdev->dev);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   sound/soc/img/img-spdif-in.c:104:8: note: Calling 'clk_prepare_enable'
           ret = clk_prepare_enable(spdif->clk_sys);

vim +/dev +1048 sound/soc/fsl/fsl_xcvr.c

  1044	
  1045	static irqreturn_t irq0_isr(int irq, void *devid)
  1046	{
  1047		struct fsl_xcvr *xcvr = (struct fsl_xcvr *)devid;
> 1048		struct device *dev = &xcvr->pdev->dev;
  1049		struct regmap *regmap = xcvr->regmap;
  1050		void __iomem *reg_ctrl, *reg_buff;
  1051		u32 isr, isr_clr = 0, val, i;
  1052	
  1053		regmap_read(regmap, FSL_XCVR_EXT_ISR, &isr);
  1054	
  1055		if (isr & FSL_XCVR_IRQ_NEW_CS) {
  1056			dev_dbg(dev, "Received new CS block\n");
  1057			isr_clr |= FSL_XCVR_IRQ_NEW_CS;
  1058			/* Data RAM is 4KiB, last two pages: 8 and 9. Select page 8. */
  1059			regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL,
  1060					   FSL_XCVR_EXT_CTRL_PAGE_MASK,
  1061					   FSL_XCVR_EXT_CTRL_PAGE(8));
  1062	
  1063			/* Find updated CS buffer */
  1064			reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_0;
  1065			reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_0;
  1066			memcpy_fromio(&val, reg_ctrl, sizeof(val));
  1067			if (!val) {
  1068				reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_1;
  1069				reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_1;
  1070				memcpy_fromio(&val, reg_ctrl, sizeof(val));
  1071			}
  1072	
  1073			if (val) {
  1074				/* copy CS buffer */
  1075				memcpy_fromio(&xcvr->rx_iec958.status, reg_buff,
  1076					      sizeof(xcvr->rx_iec958.status));
  1077				for (i = 0; i < 6; i++) {
  1078					val = *(u32 *)(xcvr->rx_iec958.status + i*4);
  1079					*(u32 *)(xcvr->rx_iec958.status + i*4) =
  1080						bitrev32(val);
  1081				}
  1082				/* clear CS control register */
  1083				memset_io(reg_ctrl, 0, sizeof(val));
  1084			}
  1085		}
  1086		if (isr & FSL_XCVR_IRQ_NEW_UD) {
  1087			dev_dbg(dev, "Received new UD block\n");
  1088			isr_clr |= FSL_XCVR_IRQ_NEW_UD;
  1089		}
  1090		if (isr & FSL_XCVR_IRQ_MUTE) {
  1091			dev_dbg(dev, "HW mute bit detected\n");
  1092			isr_clr |= FSL_XCVR_IRQ_MUTE;
  1093		}
  1094		if (isr & FSL_XCVR_IRQ_FIFO_UOFL_ERR) {
  1095			dev_dbg(dev, "RX/TX FIFO full/empty\n");
  1096			isr_clr |= FSL_XCVR_IRQ_FIFO_UOFL_ERR;
  1097		}
  1098		if (isr & FSL_XCVR_IRQ_ARC_MODE) {
  1099			dev_dbg(dev, "CMDC SM falls out of eARC mode\n");
  1100			isr_clr |= FSL_XCVR_IRQ_ARC_MODE;
  1101		}
  1102		if (isr & FSL_XCVR_IRQ_DMA_RD_REQ) {
  1103			dev_dbg(dev, "DMA read request\n");
  1104			isr_clr |= FSL_XCVR_IRQ_DMA_RD_REQ;
  1105		}
  1106		if (isr & FSL_XCVR_IRQ_DMA_WR_REQ) {
  1107			dev_dbg(dev, "DMA write request\n");
  1108			isr_clr |= FSL_XCVR_IRQ_DMA_WR_REQ;
  1109		}
  1110	
  1111		if (isr_clr) {
  1112			regmap_write(regmap, FSL_XCVR_EXT_ISR_CLR, isr_clr);
  1113			return IRQ_HANDLED;
  1114		}
  1115	
  1116		return IRQ_NONE;
  1117	}
  1118	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26908 bytes --]

             reply	other threads:[~2021-08-20  2:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-20  2:26 kernel test robot [this message]
2021-08-20  2:26 ` sound/soc/fsl/fsl_xcvr.c:1048:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-08-28 12:53 kernel test robot
2021-08-27  7:50 kernel test robot
2021-08-16 23:59 kernel test robot
2021-08-16 23:59 ` kernel test robot

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=202108201004.SfReyBA0-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=broonie@kernel.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viorel.suman@nxp.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.