[gpio:gpio-descriptors-spi 14/14] drivers//spi/spi-pl022.c:451:22: error: 'struct pl022' has no member named 'cur_cs'; did you mean 'cur_msg'?

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git gpio-descriptors-spi
head:   d52781e8bf3600398a5da184d4df22072a8e5e57
commit: d52781e8bf3600398a5da184d4df22072a8e5e57 [14/14] slask
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout d52781e8bf3600398a5da184d4df22072a8e5e57
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=arm 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/bitops.h:5:0,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from drivers//spi/spi-pl022.c:26:
   drivers//spi/spi-pl022.c: In function 'pl022_set_cs':
>> drivers//spi/spi-pl022.c:451:22: error: 'struct pl022' has no member named 'cur_cs'; did you mean 'cur_msg'?
      tmp &= ~BIT(pl022->cur_cs);
                         ^
   include/linux/bits.h:6:28: note: in definition of macro 'BIT'
    #define BIT(nr)   (1UL << (nr))
                               ^~
   drivers//spi/spi-pl022.c:453:21: error: 'struct pl022' has no member named 'cur_cs'; did you mean 'cur_msg'?
      tmp |= BIT(pl022->cur_cs);
                        ^
   include/linux/bits.h:6:28: note: in definition of macro 'BIT'
    #define BIT(nr)   (1UL << (nr))
                               ^~
   drivers//spi/spi-pl022.c: In function 'giveback':
>> drivers//spi/spi-pl022.c:502:4: error: implicit declaration of function 'pl022_cs_control'; did you mean 'pl022_set_cs'? [-Werror=implicit-function-declaration]
       pl022_cs_control(pl022, SSP_CHIP_DESELECT);
       ^~~~~~~~~~~~~~~~
       pl022_set_cs
   drivers//spi/spi-pl022.c: In function 'pl022_transfer_one_message':
   drivers//spi/spi-pl022.c:1580:9: error: 'struct pl022' has no member named 'cur_cs'; did you mean 'cur_msg'?
     pl022->cur_cs = pl022->chipselects[msg->spi->chip_select];
            ^~~~~~
            cur_msg
>> drivers//spi/spi-pl022.c:1580:23: error: 'struct pl022' has no member named 'chipselects'
     pl022->cur_cs = pl022->chipselects[msg->spi->chip_select];
                          ^~
   drivers//spi/spi-pl022.c: In function 'pl022_setup':
>> drivers//spi/spi-pl022.c:1861:4: error: implicit declaration of function 'of_property_read_u32' [-Werror=implicit-function-declaration]
       of_property_read_u32(np, "pl022,interface",
       ^~~~~~~~~~~~~~~~~~~~
>> drivers//spi/spi-pl022.c:1923:7: error: implicit declaration of function 'gpio_is_valid'; did you mean 'uuid_is_valid'? [-Werror=implicit-function-declaration]
     if (!gpio_is_valid(pl022->chipselects[spi->chip_select]))
          ^~~~~~~~~~~~~
          uuid_is_valid
   drivers//spi/spi-pl022.c:1923:26: error: 'struct pl022' has no member named 'chipselects'
     if (!gpio_is_valid(pl022->chipselects[spi->chip_select]))
                             ^~
   drivers//spi/spi-pl022.c: In function 'pl022_platform_data_dt_get':
>> drivers//spi/spi-pl022.c:2090:11: error: implicit declaration of function 'of_property_read_bool' [-Werror=implicit-function-declaration]
     pd->rt = of_property_read_bool(np, "pl022,rt");
              ^~~~~~~~~~~~~~~~~~~~~
   drivers//spi/spi-pl022.c: In function 'pl022_probe':
   drivers//spi/spi-pl022.c:2134:7: error: 'struct pl022' has no member named 'chipselects'
     pl022->chipselects = devm_kcalloc(dev, num_cs, sizeof(int),
          ^~
   drivers//spi/spi-pl022.c:2136:12: error: 'struct pl022' has no member named 'chipselects'
     if (!pl022->chipselects) {
               ^~
   drivers//spi/spi-pl022.c:2146:8: warning: statement with no effect [-Wunused-value]
     master->use_gpio_descriptors;
     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   drivers//spi/spi-pl022.c:2159:9: error: 'struct pl022' has no member named 'chipselects'
       pl022->chipselects[i] = i;
            ^~
>> drivers//spi/spi-pl022.c:2162:18: error: implicit declaration of function 'of_get_named_gpio'; did you mean 'fwnode_get_named_gpiod'? [-Werror=implicit-function-declaration]
       int cs_gpio = of_get_named_gpio(np, "cs-gpios", i);
                     ^~~~~~~~~~~~~~~~~
                     fwnode_get_named_gpiod
   drivers//spi/spi-pl022.c:2169:9: error: 'struct pl022' has no member named 'chipselects'
       pl022->chipselects[i] = cs_gpio;
            ^~
>> drivers//spi/spi-pl022.c:2172:9: error: implicit declaration of function 'devm_gpio_request'; did you mean 'devm_gpiod_put'? [-Werror=implicit-function-declaration]
        if (devm_gpio_request(dev, cs_gpio, "ssp-pl022"))
            ^~~~~~~~~~~~~~~~~
            devm_gpiod_put
>> drivers//spi/spi-pl022.c:2176:14: error: implicit declaration of function 'gpio_direction_output'; did you mean 'gpiod_direction_output'? [-Werror=implicit-function-declaration]
        else if (gpio_direction_output(cs_gpio, 1))
                 ^~~~~~~~~~~~~~~~~~~~~
                 gpiod_direction_output
   cc1: some warnings being treated as errors

vim +451 drivers//spi/spi-pl022.c

b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  430  
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  431  static void pl022_set_cs(struct spi_device *spi, bool enable)
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  432  {
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  433  	struct pl022 *pl022 = spi_controller_get_devdata(spi->controller);
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  434  	u32 tmp;
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  435  
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  436  	/*
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  437  	 * This callback will ONLY be called of no GPIO descriptors were found
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  438  	 * for the device, so we know we are dealing exclusively with variants
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  439  	 * that have internal CS control here, but just to be sure: extra check
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  440  	 * for now.
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  441  	 */
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  442  	if (!pl022->vendor->internal_cs_ctrl) {
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  443  		dev_err(&spi->dev,
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  444  			"called internal CS control on unsupported device\n");
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  445  		return;
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  446  	}
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  447  
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  448  	/* We draw a line low here to imply we enable it */
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  449  	tmp = readw(SSP_CSR(pl022->virtbase));
d52781e8b drivers/spi/spi-pl022.c  Linus Walleij            2019-06-25  450  	if (enable)
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17 @451  		tmp &= ~BIT(pl022->cur_cs);
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  452  	else
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17 @453  		tmp |= BIT(pl022->cur_cs);
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  454  	writew(tmp, SSP_CSR(pl022->virtbase));
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  455  }
db4fa45ed drivers/spi/spi-pl022.c  Anders Berg              2014-09-17  456  
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  457  /**
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  458   * giveback - current spi_message is over, schedule next message and call
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  459   * callback of this message. Assumes that caller already
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  460   * set message->status; dma and pio irqs are blocked
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  461   * @pl022: SSP driver private data structure
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  462   */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  463  static void giveback(struct pl022 *pl022)
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  464  {
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  465  	struct spi_transfer *last_transfer;
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  466  	pl022->next_msg_cs_active = false;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  467  
23e2c2aa4 drivers/spi/spi-pl022.c  Axel Lin                 2014-02-12  468  	last_transfer = list_last_entry(&pl022->cur_msg->transfers,
23e2c2aa4 drivers/spi/spi-pl022.c  Axel Lin                 2014-02-12  469  					struct spi_transfer, transfer_list);
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  470  
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  471  	/* Delay if requested before any change in chip select */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  472  	if (last_transfer->delay_usecs)
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  473  		/*
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  474  		 * FIXME: This runs in interrupt context.
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  475  		 * Is this really smart?
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  476  		 */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  477  		udelay(last_transfer->delay_usecs);
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  478  
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  479  	if (!last_transfer->cs_change) {
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  480  		struct spi_message *next_msg;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  481  
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  482  		/*
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  483  		 * cs_change was not set. We can keep the chip select
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  484  		 * enabled if there is message in the queue and it is
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  485  		 * for the same spi device.
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  486  		 *
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  487  		 * We cannot postpone this until pump_messages, because
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  488  		 * after calling msg->complete (below) the driver that
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  489  		 * sent the current message could be unloaded, which
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  490  		 * could invalidate the cs_control() callback...
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  491  		 */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  492  		/* get a pointer to the next message, if any */
ffbbdd213 drivers/spi/spi-pl022.c  Linus Walleij            2012-02-22  493  		next_msg = spi_get_next_queued_message(pl022->master);
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  494  
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  495  		/*
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  496  		 * see if the next and current messages point
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  497  		 * to the same spi device.
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  498  		 */
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  499  		if (next_msg && next_msg->spi != pl022->cur_msg->spi)
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  500  			next_msg = NULL;
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  501  		if (!next_msg || pl022->cur_msg->state == STATE_ERROR)
f6f46de10 drivers/spi/spi-pl022.c  Roland Stigge            2012-08-22 @502  			pl022_cs_control(pl022, SSP_CHIP_DESELECT);
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  503  		else
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  504  			pl022->next_msg_cs_active = true;
ffbbdd213 drivers/spi/spi-pl022.c  Linus Walleij            2012-02-22  505  
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  506  	}
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  507  
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  508  	pl022->cur_msg = NULL;
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  509  	pl022->cur_transfer = NULL;
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  510  	pl022->cur_chip = NULL;
fd316941c drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2012-06-12  511  
fd316941c drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2012-06-12  512  	/* disable the SPI/SSP operation */
fd316941c drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2012-06-12  513  	writew((readw(SSP_CR1(pl022->virtbase)) &
fd316941c drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2012-06-12  514  		(~SSP_CR1_MASK_SSE)), SSP_CR1(pl022->virtbase));
fd316941c drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2012-06-12  515  
cd6fa8d2c drivers/spi/spi-pl022.c  Alexander Sverdlin       2015-02-27  516  	spi_finalize_current_message(pl022->master);
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  517  }
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  518  

:::::: The code at line 451 was first introduced by commit
:::::: db4fa45ed3182d8206af241811dfc99369ffa849 spi: pl022: Add support for chip select extension

:::::: TO: Anders Berg <anders.berg@xxxxxxxxxxxxx>
:::::: CC: Mark Brown <broonie@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[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