Hi Abhijeet,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on 549738f15da0e5a00275977623be199fbbf7df50]

url:    
https://github.com/0day-ci/linux/commits/Abhijeet-Badurkar/net-can-Introduce-MEN-16Z192-00-CAN-controller-driver/20201005-192132
base:    549738f15da0e5a00275977623be199fbbf7df50
config: openrisc-randconfig-s031-20201015 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-rc1-dirty
        # 
https://github.com/0day-ci/linux/commit/267876771a434b2be3278c2c87d36146c0fac77d
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Abhijeet-Badurkar/net-can-Introduce-MEN-16Z192-00-CAN-controller-driver/20201005-192132
        git checkout 267876771a434b2be3278c2c87d36146c0fac77d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

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


"sparse warnings: (new ones prefixed by >>)"
>> drivers/net/can/men_z192_can.c:1057:17: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *[assigned] dev_base @@
>> drivers/net/can/men_z192_can.c:1057:17: sparse:     expected void *addr
>> drivers/net/can/men_z192_can.c:1057:17: sparse:     got void [noderef] 
>> __iomem *[assigned] dev_base
>> drivers/net/can/men_z192_can.c:1071:21: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *dev_base @@
   drivers/net/can/men_z192_can.c:1071:21: sparse:     expected void *addr
>> drivers/net/can/men_z192_can.c:1071:21: sparse:     got void [noderef] 
>> __iomem *dev_base

vim +1057 drivers/net/can/men_z192_can.c

   962  
   963  static int men_z192_probe(struct mcb_device *mdev,
   964                            const struct mcb_device_id *id)
   965  {
   966          struct device *dev = &mdev->dev;
   967          struct men_z192 *priv;
   968          struct net_device *ndev;
   969          void __iomem *dev_base;
   970          struct resource *mem;
   971          u32 timebase;
   972          int ret = 0;
   973          int irq;
   974  
   975          mem = mcb_request_mem(mdev, dev_name(dev));
   976          if (IS_ERR(mem)) {
   977                  dev_err(dev, "failed to request device memory");
   978                  return PTR_ERR(mem);
   979          }
   980  
   981          dev_base = ioremap(mem->start, resource_size(mem));
   982          if (!dev_base) {
   983                  dev_err(dev, "failed to ioremap device memory");
   984                  ret = -ENXIO;
   985                  goto out_release;
   986          }
   987  
   988          irq = mcb_get_irq(mdev);
   989          if (irq <= 0) {
   990                  ret = -ENODEV;
   991                  goto out_unmap;
   992          }
   993  
   994          ndev = alloc_candev(sizeof(struct men_z192), 0);
   995          if (!ndev) {
   996                  dev_err(dev, "failed to allocat the can device");
   997                  ret = -ENOMEM;
   998                  goto out_unmap;
   999          }
  1000  
  1001          ndev->netdev_ops = &men_z192_netdev_ops;
  1002          ndev->irq = irq;
  1003          ndev->flags |= IFF_ECHO;
  1004  
  1005          priv = netdev_priv(ndev);
  1006          priv->ndev = ndev;
  1007          priv->dev = dev;
  1008  
  1009          priv->mem = mem;
  1010          priv->dev_base = dev_base;
  1011          priv->regs = priv->dev_base + MEN_Z192_REGS_OFFS;
  1012  
  1013          timebase = readl(&priv->regs->timebase);
  1014          if (!timebase) {
  1015                  dev_err(dev, "invalid timebase configured 
(timebase=%d)\n",
  1016                          timebase);
  1017                  ret = -EINVAL;
  1018                  goto out_free_candev;
  1019          }
  1020  
  1021          priv->can.clock.freq = timebase;
  1022          priv->can.bittiming_const = &men_z192_bittiming_const;
  1023          priv->can.do_set_mode = men_z192_set_mode;
  1024          priv->can.do_get_berr_counter = men_z192_get_berr_counter;
  1025          priv->can.ctrlmode_supported = CAN_CTRLMODE_LISTENONLY |
  1026                                         CAN_CTRLMODE_3_SAMPLES |
  1027                                         CAN_CTRLMODE_LOOPBACK;
  1028  
  1029          spin_lock_init(&priv->lock);
  1030  
  1031          netif_napi_add(ndev, &priv->napi, men_z192_poll,
  1032                         NAPI_POLL_WEIGHT);
  1033  
  1034          skb_queue_head_init(&priv->echoq);
  1035  
  1036          mcb_set_drvdata(mdev, ndev);
  1037          SET_NETDEV_DEV(ndev, dev);
  1038  
  1039          ndev->ethtool_ops = &men_z192_ethtool_ops;
  1040  
  1041          ret = men_z192_register(ndev);
  1042          if (ret) {
  1043                  dev_err(dev, "failed to register CAN device");
  1044                  goto out_free_candev;
  1045          }
  1046  
  1047          devm_can_led_init(ndev);
  1048  
  1049          dev_info(dev, "MEN 16z192 CAN driver successfully 
registered\n");
  1050  
  1051          return 0;
  1052  
  1053  out_free_candev:
  1054          netif_napi_del(&priv->napi);
  1055          free_candev(ndev);
  1056  out_unmap:
> 1057          iounmap(dev_base);
  1058  out_release:
  1059          mcb_release_mem(mem);
  1060          return ret;
  1061  }
  1062  
  1063  static void men_z192_remove(struct mcb_device *mdev)
  1064  {
  1065          struct net_device *ndev = mcb_get_drvdata(mdev);
  1066          struct men_z192 *priv = netdev_priv(ndev);
  1067  
  1068          unregister_candev(ndev);
  1069          netif_napi_del(&priv->napi);
  1070  
> 1071          iounmap(priv->dev_base);
  1072          mcb_release_mem(priv->mem);
  1073  
  1074          free_candev(ndev);
  1075  }
  1076  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to