Re: [PATCH v1 1/1] pinctrl: pistachio: Switch to use fwnode instead of of_node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andy,

I love your patch! Yet something to improve:

[auto build test ERROR on linusw-pinctrl/devel]
[also build test ERROR on linus/master v6.0-rc3 next-20220830]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/pinctrl-pistachio-Switch-to-use-fwnode-instead-of-of_node/20220831-034037
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: arc-randconfig-r043-20220830 (https://download.01.org/0day-ci/archive/20220831/202208310643.sf31JN8Y-lkp@xxxxxxxxx/config)
compiler: arceb-elf-gcc (GCC) 12.1.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/6802887aaf094f08bc139caf331767217f7318a4
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Andy-Shevchenko/pinctrl-pistachio-Switch-to-use-fwnode-instead-of-of_node/20220831-034037
        git checkout 6802887aaf094f08bc139caf331767217f7318a4
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/pinctrl/pinctrl-pistachio.c: In function 'pistachio_gpio_register':
>> drivers/pinctrl/pinctrl-pistachio.c:1360:53: error: 'dev' undeclared (first use in this function); did you mean 'cdev'?
    1360 |                 child = device_get_named_child_node(dev, child_name);
         |                                                     ^~~
         |                                                     cdev
   drivers/pinctrl/pinctrl-pistachio.c:1360:53: note: each undeclared identifier is reported only once for each function it appears in


vim +1360 drivers/pinctrl/pinctrl-pistachio.c

  1347	
  1348	static int pistachio_gpio_register(struct pistachio_pinctrl *pctl)
  1349	{
  1350		struct pistachio_gpio_bank *bank;
  1351		unsigned int i;
  1352		int irq, ret = 0;
  1353	
  1354		for (i = 0; i < pctl->nbanks; i++) {
  1355			char child_name[sizeof("gpioXX")];
  1356			struct fwnode_handle *child;
  1357			struct gpio_irq_chip *girq;
  1358	
  1359			snprintf(child_name, sizeof(child_name), "gpio%d", i);
> 1360			child = device_get_named_child_node(dev, child_name);
  1361			if (!child) {
  1362				dev_err(pctl->dev, "No node for bank %u\n", i);
  1363				ret = -ENODEV;
  1364				goto err;
  1365			}
  1366	
  1367			if (!fwnode_property_present(child, "gpio-controller")) {
  1368				fwnode_handle_put(child);
  1369				dev_err(pctl->dev,
  1370					"No gpio-controller property for bank %u\n", i);
  1371				ret = -ENODEV;
  1372				goto err;
  1373			}
  1374	
  1375			ret = fwnode_irq_get(child, 0);
  1376			if (ret < 0) {
  1377				fwnode_handle_put(child);
  1378				dev_err(pctl->dev, "No IRQ for bank %u\n", i);
  1379				goto err;
  1380			}
  1381			irq = ret;
  1382	
  1383			bank = &pctl->gpio_banks[i];
  1384			bank->pctl = pctl;
  1385			bank->base = pctl->base + GPIO_BANK_BASE(i);
  1386	
  1387			bank->gpio_chip.parent = pctl->dev;
  1388			bank->gpio_chip.fwnode = child;
  1389	
  1390			girq = &bank->gpio_chip.irq;
  1391			girq->chip = &bank->irq_chip;
  1392			girq->parent_handler = pistachio_gpio_irq_handler;
  1393			girq->num_parents = 1;
  1394			girq->parents = devm_kcalloc(pctl->dev, 1,
  1395						     sizeof(*girq->parents),
  1396						     GFP_KERNEL);
  1397			if (!girq->parents) {
  1398				ret = -ENOMEM;
  1399				goto err;
  1400			}
  1401			girq->parents[0] = irq;
  1402			girq->default_type = IRQ_TYPE_NONE;
  1403			girq->handler = handle_level_irq;
  1404	
  1405			ret = gpiochip_add_data(&bank->gpio_chip, bank);
  1406			if (ret < 0) {
  1407				dev_err(pctl->dev, "Failed to add GPIO chip %u: %d\n",
  1408					i, ret);
  1409				goto err;
  1410			}
  1411	
  1412			ret = gpiochip_add_pin_range(&bank->gpio_chip,
  1413						     dev_name(pctl->dev), 0,
  1414						     bank->pin_base, bank->npins);
  1415			if (ret < 0) {
  1416				dev_err(pctl->dev, "Failed to add GPIO range %u: %d\n",
  1417					i, ret);
  1418				gpiochip_remove(&bank->gpio_chip);
  1419				goto err;
  1420			}
  1421		}
  1422	
  1423		return 0;
  1424	err:
  1425		for (; i > 0; i--) {
  1426			bank = &pctl->gpio_banks[i - 1];
  1427			gpiochip_remove(&bank->gpio_chip);
  1428		}
  1429		return ret;
  1430	}
  1431	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux