CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Andrew Jeffery <[email protected]>
TO: [email protected]
TO: [email protected]
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]

Hi Andrew,

I love your patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on robh/for-next linux/master linus/master v5.13-rc5 
next-20210608]
[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/Andrew-Jeffery/ipmi-Allow-raw-access-to-KCS-devices/20210608-185151
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 
603e4922f1c81fc2ed3a87b4f91a8d3aafc7e093
:::::: branch date: 6 hours ago
:::::: commit date: 6 hours ago
compiler: sh4-linux-gcc (GCC) 9.3.0

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/char/ipmi/kcs_bmc_aspeed.c:345:46: warning: Either the condition 
>> 'channel<0' is redundant, otherwise there is negative array index -1. 
>> [negativeIndex]
    kcs_bmc->ioreg = ast_kcs_bmc_ioregs[channel - 1];
                                                ^
   drivers/char/ipmi/kcs_bmc_aspeed.c:338:14: note: Assuming that condition 
'channel<0' is not redundant
    if (channel < 0)
                ^
   drivers/char/ipmi/kcs_bmc_aspeed.c:345:46: note: Negative array index
    kcs_bmc->ioreg = ast_kcs_bmc_ioregs[channel - 1];
                                                ^

vim +345 drivers/char/ipmi/kcs_bmc_aspeed.c

09f5f680707e47 Andrew Jeffery 2019-12-16  316  
09f5f680707e47 Andrew Jeffery 2019-12-16  317  static int 
aspeed_kcs_probe(struct platform_device *pdev)
09f5f680707e47 Andrew Jeffery 2019-12-16  318  {
15f2c02f7bddbc Andrew Jeffery 2021-06-08  319   const struct aspeed_kcs_of_ops 
*ops;
09f5f680707e47 Andrew Jeffery 2019-12-16  320   struct device *dev = &pdev->dev;
15f2c02f7bddbc Andrew Jeffery 2021-06-08  321   struct aspeed_kcs_bmc *priv;
09f5f680707e47 Andrew Jeffery 2019-12-16  322   struct kcs_bmc *kcs_bmc;
09f5f680707e47 Andrew Jeffery 2019-12-16  323   struct device_node *np;
15f2c02f7bddbc Andrew Jeffery 2021-06-08  324   int rc, channel, addr;
09f5f680707e47 Andrew Jeffery 2019-12-16  325  
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  326   np = dev->of_node->parent;
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  327   if 
(!of_device_is_compatible(np, "aspeed,ast2400-lpc-v2") &&
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  328       
!of_device_is_compatible(np, "aspeed,ast2500-lpc-v2") &&
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  329       
!of_device_is_compatible(np, "aspeed,ast2600-lpc-v2")) {
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  330           dev_err(dev, 
"unsupported LPC device binding\n");
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  331           return -ENODEV;
8f88156f82ea4c Chia-Wei, Wang 2021-03-19  332   }
15f2c02f7bddbc Andrew Jeffery 2021-06-08  333   ops = 
of_device_get_match_data(&pdev->dev);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  334   if (!ops)
09f5f680707e47 Andrew Jeffery 2019-12-16  335           return -EINVAL;
09f5f680707e47 Andrew Jeffery 2019-12-16  336  
15f2c02f7bddbc Andrew Jeffery 2021-06-08  337   channel = 
ops->get_channel(pdev);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  338   if (channel < 0)
15f2c02f7bddbc Andrew Jeffery 2021-06-08  339           return channel;
15f2c02f7bddbc Andrew Jeffery 2021-06-08  340  
15f2c02f7bddbc Andrew Jeffery 2021-06-08  341   kcs_bmc = 
kcs_bmc_alloc(&pdev->dev, sizeof(struct aspeed_kcs_bmc), channel);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  342   if (!kcs_bmc)
15f2c02f7bddbc Andrew Jeffery 2021-06-08  343           return -ENOMEM;
09f5f680707e47 Andrew Jeffery 2019-12-16  344  
15f2c02f7bddbc Andrew Jeffery 2021-06-08 @345   kcs_bmc->ioreg = 
ast_kcs_bmc_ioregs[channel - 1];
be2ed207e37453 Haiyue Wang    2018-02-02  346   kcs_bmc->io_inputb = 
aspeed_kcs_inb;
be2ed207e37453 Haiyue Wang    2018-02-02  347   kcs_bmc->io_outputb = 
aspeed_kcs_outb;
be2ed207e37453 Haiyue Wang    2018-02-02  348  
15f2c02f7bddbc Andrew Jeffery 2021-06-08  349   addr = 
ops->get_io_address(pdev);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  350   if (addr < 0)
15f2c02f7bddbc Andrew Jeffery 2021-06-08  351           return addr;
15f2c02f7bddbc Andrew Jeffery 2021-06-08  352  
15f2c02f7bddbc Andrew Jeffery 2021-06-08  353   priv = kcs_bmc_priv(kcs_bmc);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  354   priv->map = 
syscon_node_to_regmap(pdev->dev.parent->of_node);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  355   if (IS_ERR(priv->map)) {
15f2c02f7bddbc Andrew Jeffery 2021-06-08  356           dev_err(&pdev->dev, 
"Couldn't get regmap\n");
15f2c02f7bddbc Andrew Jeffery 2021-06-08  357           return -ENODEV;
15f2c02f7bddbc Andrew Jeffery 2021-06-08  358   }
15f2c02f7bddbc Andrew Jeffery 2021-06-08  359  
15f2c02f7bddbc Andrew Jeffery 2021-06-08  360   aspeed_kcs_set_address(kcs_bmc, 
addr);
15f2c02f7bddbc Andrew Jeffery 2021-06-08  361  
af6432c76a13ef Andrew Jeffery 2019-12-16  362   rc = 
aspeed_kcs_config_irq(kcs_bmc, pdev);
af6432c76a13ef Andrew Jeffery 2019-12-16  363   if (rc)
af6432c76a13ef Andrew Jeffery 2019-12-16  364           return rc;
af6432c76a13ef Andrew Jeffery 2019-12-16  365  
be2ed207e37453 Haiyue Wang    2018-02-02  366   dev_set_drvdata(dev, kcs_bmc);
be2ed207e37453 Haiyue Wang    2018-02-02  367  
be2ed207e37453 Haiyue Wang    2018-02-02  368   
aspeed_kcs_enable_channel(kcs_bmc, true);
be2ed207e37453 Haiyue Wang    2018-02-02  369  
be2ed207e37453 Haiyue Wang    2018-02-02  370   rc = 
misc_register(&kcs_bmc->miscdev);
be2ed207e37453 Haiyue Wang    2018-02-02  371   if (rc) {
be2ed207e37453 Haiyue Wang    2018-02-02  372           dev_err(dev, "Unable to 
register device\n");
be2ed207e37453 Haiyue Wang    2018-02-02  373           return rc;
be2ed207e37453 Haiyue Wang    2018-02-02  374   }
be2ed207e37453 Haiyue Wang    2018-02-02  375  
09f5f680707e47 Andrew Jeffery 2019-12-16  376   dev_dbg(&pdev->dev,
09f5f680707e47 Andrew Jeffery 2019-12-16  377           "Probed KCS device %d 
(IDR=0x%x, ODR=0x%x, STR=0x%x)\n",
09f5f680707e47 Andrew Jeffery 2019-12-16  378           kcs_bmc->channel, 
kcs_bmc->ioreg.idr, kcs_bmc->ioreg.odr,
09f5f680707e47 Andrew Jeffery 2019-12-16  379           kcs_bmc->ioreg.str);
be2ed207e37453 Haiyue Wang    2018-02-02  380  
be2ed207e37453 Haiyue Wang    2018-02-02  381   return 0;
be2ed207e37453 Haiyue Wang    2018-02-02  382  }
be2ed207e37453 Haiyue Wang    2018-02-02  383  

---
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