[brgl:gpio/for-next 22/22] drivers/gpio/gpio-delay.c:79:39: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
head:   cf5dec80c4e23ac1677b8ef9aafe5a7b87bb18c3
commit: cf5dec80c4e23ac1677b8ef9aafe5a7b87bb18c3 [22/22] gpio: Add gpio delay driver
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20230603/202306030340.PkL0Qly6-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
        mkdir -p ~/bin
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git/commit/?id=cf5dec80c4e23ac1677b8ef9aafe5a7b87bb18c3
        git remote add brgl https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git
        git fetch --no-tags brgl gpio/for-next
        git checkout cf5dec80c4e23ac1677b8ef9aafe5a7b87bb18c3
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=s390 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash drivers/gpio/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306030340.PkL0Qly6-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   drivers/gpio/gpio-delay.c: In function 'gpio_delay_of_xlate':
>> drivers/gpio/gpio-delay.c:79:39: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'
      79 |         if (gpiospec->args_count != gc->of_gpio_n_cells)
         |                                       ^~
   drivers/gpio/gpio-delay.c: In function 'gpio_delay_probe':
>> drivers/gpio/gpio-delay.c:133:17: error: 'struct gpio_chip' has no member named 'of_xlate'
     133 |         priv->gc.of_xlate = gpio_delay_of_xlate;
         |                 ^
   drivers/gpio/gpio-delay.c:134:17: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells'
     134 |         priv->gc.of_gpio_n_cells = 3;
         |                 ^


vim +79 drivers/gpio/gpio-delay.c

    70	
    71	static int gpio_delay_of_xlate(struct gpio_chip *gc,
    72				       const struct of_phandle_args *gpiospec,
    73				       u32 *flags)
    74	{
    75		struct gpio_delay_priv *priv = gpiochip_get_data(gc);
    76		struct gpio_delay_timing *timings;
    77		u32 line;
    78	
  > 79		if (gpiospec->args_count != gc->of_gpio_n_cells)
    80			return -EINVAL;
    81	
    82		line = gpiospec->args[0];
    83		if (line >= gc->ngpio)
    84			return -EINVAL;
    85	
    86		timings = &priv->delay_timings[line];
    87		timings->ramp_up_delay_us = gpiospec->args[1];
    88		timings->ramp_down_delay_us = gpiospec->args[2];
    89	
    90		return line;
    91	}
    92	
    93	static bool gpio_delay_can_sleep(const struct gpio_delay_priv *priv)
    94	{
    95		int i;
    96	
    97		for (i = 0; i < priv->input_gpio->ndescs; i++)
    98			if (gpiod_cansleep(priv->input_gpio->desc[i]))
    99				return true;
   100	
   101		return false;
   102	}
   103	
   104	static int gpio_delay_probe(struct platform_device *pdev)
   105	{
   106		struct gpio_delay_priv *priv;
   107	
   108		priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
   109		if (!priv)
   110			return -ENOMEM;
   111	
   112		priv->input_gpio = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW);
   113		if (IS_ERR(priv->input_gpio))
   114			return dev_err_probe(&pdev->dev, PTR_ERR(priv->input_gpio),
   115					     "Failed to get input-gpios");
   116	
   117		priv->delay_timings = devm_kcalloc(&pdev->dev,
   118						   priv->input_gpio->ndescs,
   119						   sizeof(*priv->delay_timings),
   120						   GFP_KERNEL);
   121		if (!priv->delay_timings)
   122			return -ENOMEM;
   123	
   124		if (gpio_delay_can_sleep(priv)) {
   125			priv->gc.can_sleep = true;
   126			priv->gc.set = gpio_delay_set_can_sleep;
   127		} else {
   128			priv->gc.can_sleep = false;
   129			priv->gc.set = gpio_delay_set;
   130		}
   131	
   132		priv->gc.get_direction = gpio_delay_get_direction;
 > 133		priv->gc.of_xlate = gpio_delay_of_xlate;
   134		priv->gc.of_gpio_n_cells = 3;
   135		priv->gc.ngpio = priv->input_gpio->ndescs;
   136		priv->gc.owner = THIS_MODULE;
   137		priv->gc.base = -1;
   138		priv->gc.parent = &pdev->dev;
   139	
   140		platform_set_drvdata(pdev, priv);
   141	
   142		return devm_gpiochip_add_data(&pdev->dev, &priv->gc, priv);
   143	}
   144	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



[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