CC: [email protected]
CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Andy Shevchenko <[email protected]>
TO: Andy Shevchenko <[email protected]>
TO: Marc Zyngier <[email protected]>
TO: Matti Vaittinen <[email protected]>, Matti Vaittinen 
<[email protected]>
TO: Sergio Paracuellos <[email protected]>
TO: Chunyan Zhang <[email protected]>
TO: Bartosz Golaszewski <[email protected]>
TO: Baruch Siach <[email protected]>
TO: "Uwe Kleine-König" <[email protected]>
TO: Tony Lindgren <[email protected]>
TO: Nicolas Saenz Julienne <[email protected]>

Hi Andy,

I love your patch! Perhaps something to improve:

[auto build test WARNING on thierry-reding-pwm/for-next]
[also build test WARNING on rockchip/for-next v5.16-rc4]
[cannot apply to linusw-gpio/for-next next-20211206]
[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/Andy-Shevchenko/gpio-Get-rid-of-duplicate-of_node-assignment-in-the-drivers/20211203-051909
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git 
for-next
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: i386-randconfig-c001-20211205 
(https://download.01.org/0day-ci/archive/20211207/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
6e8678903523019903222e4521a5e41af743cab0)
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/884ea5e4f18badef51842fc948d3b4f0fa538b06
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Andy-Shevchenko/gpio-Get-rid-of-duplicate-of_node-assignment-in-the-drivers/20211203-051909
        git checkout 884ea5e4f18badef51842fc948d3b4f0fa538b06
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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 (2 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   5 warnings generated.
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:343:6: warning: Branch condition 
evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
           if (!r)
               ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:414:6: note: Assuming 'r' is 0
           if (r)
               ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:414:2: note: Taking false branch
           if (r)
           ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:417:6: note: Calling 'vcn_v3_0_hw_init'
           r = vcn_v3_0_hw_init(adev);
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:283:12: note: 'r' declared without an 
initial value
           int i, j, r;
                     ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:285:6: note: Assuming the condition is 
false
           if (amdgpu_sriov_vf(adev)) {
               ^
   drivers/gpu/drm/amd/amdgpu/../amdgpu/amdgpu_virt.h:251:2: note: expanded 
from macro 'amdgpu_sriov_vf'
   ((adev)->virt.caps & AMDGPU_SRIOV_CAPS_IS_VF)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:285:2: note: Taking false branch
           if (amdgpu_sriov_vf(adev)) {
           ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:320:15: note: Assuming 'i' is >= field 
'num_vcn_inst'
                   for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:320:3: note: Loop condition is false. 
Execution continues on line 343
                   for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                   ^
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:343:6: note: Branch condition 
evaluates to a garbage value
           if (!r)
               ^~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1513:4: warning: Value stored to 'r' 
is never read [clang-analyzer-deadcode.DeadStores]
                           r = vcn_v3_0_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c:1513:4: note: Value stored to 'r' is 
never read
                           r = vcn_v3_0_stop_dpg_mode(adev, i);
                           ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   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.
   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.
>> drivers/gpio/gpio-gw-pld.c:74:22: warning: Value stored to 'np' during its 
>> initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device_node *np = dev->of_node;
                               ^~   ~~~~~~~~~~~~
   drivers/gpio/gpio-gw-pld.c:74:22: note: Value stored to 'np' during its 
initialization is never read
           struct device_node *np = dev->of_node;
                               ^~   ~~~~~~~~~~~~
   Suppressed 3 warnings (2 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   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.
   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.
   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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   1 warning generated.
   Suppressed 1 warnings (1 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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   6 warnings generated.
   drivers/cpufreq/longhaul.c:194:4: warning: Value stored to 't' is never read 
[clang-analyzer-deadcode.DeadStores]
                           t = inl(acpi_gbl_FADT.xpm_timer_block.address);
                           ^
   drivers/cpufreq/longhaul.c:194:4: note: Value stored to 't' is never read
   drivers/cpufreq/longhaul.c:211:3: warning: Value stored to 't' is never read 
[clang-analyzer-deadcode.DeadStores]
                   t = inl(acpi_gbl_FADT.xpm_timer_block.address);
                   ^
   drivers/cpufreq/longhaul.c:211:3: note: Value stored to 't' is never read

vim +/np +74 drivers/gpio/gpio-gw-pld.c

2a0b0a57fa86b9 Linus Walleij 2019-02-01   69  
2a0b0a57fa86b9 Linus Walleij 2019-02-01   70  static int gw_pld_probe(struct 
i2c_client *client,
2a0b0a57fa86b9 Linus Walleij 2019-02-01   71                    const struct 
i2c_device_id *id)
2a0b0a57fa86b9 Linus Walleij 2019-02-01   72  {
2a0b0a57fa86b9 Linus Walleij 2019-02-01   73    struct device *dev = 
&client->dev;
2a0b0a57fa86b9 Linus Walleij 2019-02-01  @74    struct device_node *np = 
dev->of_node;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   75    struct gw_pld *gw;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   76    int ret;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   77  
2a0b0a57fa86b9 Linus Walleij 2019-02-01   78    gw = devm_kzalloc(dev, 
sizeof(*gw), GFP_KERNEL);
2a0b0a57fa86b9 Linus Walleij 2019-02-01   79    if (!gw)
2a0b0a57fa86b9 Linus Walleij 2019-02-01   80            return -ENOMEM;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   81  
2a0b0a57fa86b9 Linus Walleij 2019-02-01   82    gw->chip.base = -1;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   83    gw->chip.can_sleep = true;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   84    gw->chip.parent = dev;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   85    gw->chip.owner = THIS_MODULE;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   86    gw->chip.label = dev_name(dev);
2a0b0a57fa86b9 Linus Walleij 2019-02-01   87    gw->chip.ngpio = 8;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   88    gw->chip.direction_input = 
gw_pld_input8;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   89    gw->chip.get = gw_pld_get8;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   90    gw->chip.direction_output = 
gw_pld_output8;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   91    gw->chip.set = gw_pld_set8;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   92    gw->client = client;
2a0b0a57fa86b9 Linus Walleij 2019-02-01   93  
2a0b0a57fa86b9 Linus Walleij 2019-02-01   94    /*
2a0b0a57fa86b9 Linus Walleij 2019-02-01   95     * The Gateworks I2C PLD chip 
does not properly send the acknowledge
2a0b0a57fa86b9 Linus Walleij 2019-02-01   96     * bit at all times, but we can 
still use the standard i2c_smbus
2a0b0a57fa86b9 Linus Walleij 2019-02-01   97     * functions by simply ignoring 
this bit.
2a0b0a57fa86b9 Linus Walleij 2019-02-01   98     */
2a0b0a57fa86b9 Linus Walleij 2019-02-01   99    client->flags |= 
I2C_M_IGNORE_NAK;
2a0b0a57fa86b9 Linus Walleij 2019-02-01  100    gw->out = 0xFF;
2a0b0a57fa86b9 Linus Walleij 2019-02-01  101  
2a0b0a57fa86b9 Linus Walleij 2019-02-01  102    i2c_set_clientdata(client, gw);
2a0b0a57fa86b9 Linus Walleij 2019-02-01  103  
2a0b0a57fa86b9 Linus Walleij 2019-02-01  104    ret = 
devm_gpiochip_add_data(dev, &gw->chip, gw);
2a0b0a57fa86b9 Linus Walleij 2019-02-01  105    if (ret)
2a0b0a57fa86b9 Linus Walleij 2019-02-01  106            return ret;
2a0b0a57fa86b9 Linus Walleij 2019-02-01  107  
2a0b0a57fa86b9 Linus Walleij 2019-02-01  108    dev_info(dev, "registered 
Gateworks PLD GPIO device\n");
2a0b0a57fa86b9 Linus Walleij 2019-02-01  109  
2a0b0a57fa86b9 Linus Walleij 2019-02-01  110    return 0;
2a0b0a57fa86b9 Linus Walleij 2019-02-01  111  }
2a0b0a57fa86b9 Linus Walleij 2019-02-01  112  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to