All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: kbuild-all@01.org, linux-gpio@vger.kernel.org
Subject: [gpio:gpio-descriptors-spi 14/14] drivers/spi/spi-pl022.c:451:27: error: no member named 'cur_cs' in 'struct pl022'; did you mean 'cur_msg'?
Date: Wed, 26 Jun 2019 08:42:56 +0800	[thread overview]
Message-ID: <201906260851.tWmwom4U%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 25732 bytes --]

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: arm64-defconfig (attached as .config)
compiler: clang version 9.0.0 (git://gitmirror/llvm_project fee855b5bc1abe1f3f89e977ce4c81cf9bdbc2e4)
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
        make.cross ARCH=arm64 

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

All errors (new ones prefixed by >>):

>> drivers/spi/spi-pl022.c:451:27: error: no member named 'cur_cs' in 'struct pl022'; did you mean 'cur_msg'?
     tmp &= ~(1UL << (pl022->cur_cs));
                             ^~~~~~
                             cur_msg
   drivers/spi/spi-pl022.c:379:22: note: 'cur_msg' declared here
    struct spi_message *cur_msg;
                        ^
>> drivers/spi/spi-pl022.c:451:16: error: invalid operands to binary expression ('unsigned long' and 'struct spi_message *')
     tmp &= ~(1UL << (pl022->cur_cs));
              ~~~ ^  ~~~~~~~~~~~~~~~
   drivers/spi/spi-pl022.c:453:26: error: no member named 'cur_cs' in 'struct pl022'; did you mean 'cur_msg'?
     tmp |= (1UL << (pl022->cur_cs));
                            ^~~~~~
                            cur_msg
   drivers/spi/spi-pl022.c:379:22: note: 'cur_msg' declared here
    struct spi_message *cur_msg;
                        ^
   drivers/spi/spi-pl022.c:453:15: error: invalid operands to binary expression ('unsigned long' and 'struct spi_message *')
     tmp |= (1UL << (pl022->cur_cs));
             ~~~ ^  ~~~~~~~~~~~~~~~
>> drivers/spi/spi-pl022.c:502:4: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
      pl022_cs_control(pl022, SSP_CHIP_DESELECT);
      ^
   drivers/spi/spi-pl022.c:843:3: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
     pl022_cs_control(pl022, SSP_CHIP_DESELECT);
     ^
   drivers/spi/spi-pl022.c:1314:4: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
      pl022_cs_control(pl022, SSP_CHIP_DESELECT);
      ^
   drivers/spi/spi-pl022.c:1397:4: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
      pl022_cs_control(pl022, SSP_CHIP_SELECT);
      ^
   drivers/spi/spi-pl022.c:1436:3: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
     pl022_cs_control(pl022, SSP_CHIP_SELECT);
     ^
   drivers/spi/spi-pl022.c:1510:5: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
       pl022_cs_control(pl022, SSP_CHIP_SELECT);
       ^
   drivers/spi/spi-pl022.c:1515:5: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
       pl022_cs_control(pl022, SSP_CHIP_SELECT);
       ^
   drivers/spi/spi-pl022.c:1551:4: error: implicit declaration of function 'pl022_cs_control' [-Werror,-Wimplicit-function-declaration]
      pl022_cs_control(pl022, SSP_CHIP_DESELECT);
      ^
>> drivers/spi/spi-pl022.c:1580:25: error: no member named 'chipselects' in 'struct pl022'
    pl022->cur_cs = pl022->chipselects[msg->spi->chip_select];
                    ~~~~~  ^
   drivers/spi/spi-pl022.c:1580:9: error: no member named 'cur_cs' in 'struct pl022'; did you mean 'cur_msg'?
    pl022->cur_cs = pl022->chipselects[msg->spi->chip_select];
           ^~~~~~
           cur_msg
   drivers/spi/spi-pl022.c:379:22: note: 'cur_msg' declared here
    struct spi_message *cur_msg;
                        ^
>> drivers/spi/spi-pl022.c:1861:4: error: implicit declaration of function 'of_property_read_u32' [-Werror,-Wimplicit-function-declaration]
      of_property_read_u32(np, "pl022,interface",
      ^
>> drivers/spi/spi-pl022.c:1923:7: error: implicit declaration of function 'gpio_is_valid' [-Werror,-Wimplicit-function-declaration]
    if (!gpio_is_valid(pl022->chipselects[spi->chip_select]))
         ^
   drivers/spi/spi-pl022.c:1923:7: note: did you mean 'uuid_is_valid'?
   include/linux/uuid.h:79:46: note: 'uuid_is_valid' declared here
   bool __attribute__((__warn_unused_result__)) uuid_is_valid(const char *uuid);
                                                ^
   drivers/spi/spi-pl022.c:1923:28: error: no member named 'chipselects' in 'struct pl022'
    if (!gpio_is_valid(pl022->chipselects[spi->chip_select]))
                       ~~~~~  ^
   drivers/spi/spi-pl022.c:2086:2: error: implicit declaration of function 'of_property_read_u32' [-Werror,-Wimplicit-function-declaration]
    of_property_read_u32(np, "num-cs", &tmp);
    ^
>> drivers/spi/spi-pl022.c:2090:11: error: implicit declaration of function 'of_property_read_bool' [-Werror,-Wimplicit-function-declaration]
    pd->rt = of_property_read_bool(np, "pl022,rt");
             ^
   drivers/spi/spi-pl022.c:2090:11: note: did you mean 'of_property_read_u32'?
   drivers/spi/spi-pl022.c:1861:4: note: 'of_property_read_u32' declared here
      of_property_read_u32(np, "pl022,interface",
      ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.

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

b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  338  
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  339  /**
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  340   * struct pl022 - This is the private SSP driver data structure
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  341   * @adev: AMBA device model hookup
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  342   * @vendor: vendor data for the IP block
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  343   * @phybase: the physical memory where the SSP device resides
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  344   * @virtbase: the virtual memory where the SSP is mapped
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  345   * @clk: outgoing clock "SPICLK" for the SPI bus
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  346   * @master: SPI framework hookup
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  347   * @master_info: controller-specific data from machine setup
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  348   * @pump_transfers: Tasklet used in Interrupt Transfer mode
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  349   * @cur_msg: Pointer to current spi_message being processed
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  350   * @cur_transfer: Pointer to current spi_transfer
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  351   * @cur_chip: pointer to current clients chip(assigned from controller_state)
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  352   * @next_msg_cs_active: the next message in the queue has been examined
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  353   *  and it was found that it uses the same chip select as the previous
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  354   *  message, so we left it active after the previous transfer, and it's
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  355   *  active already.
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  356   * @tx: current position in TX buffer to be read
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  357   * @tx_end: end position in TX buffer to be read
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  358   * @rx: current position in RX buffer to be written
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  359   * @rx_end: end position in RX buffer to be written
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  360   * @read: the type of read currently going on
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  361   * @write: the type of write currently going on
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  362   * @exp_fifo_level: expected FIFO level
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  363   * @dma_rx_channel: optional channel for RX DMA
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  364   * @dma_tx_channel: optional channel for TX DMA
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  365   * @sgt_rx: scattertable for the RX transfer
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  366   * @sgt_tx: scattertable for the TX transfer
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  367   * @dummypage: a dummy page used for driving data on the bus with DMA
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  368   */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  369  struct pl022 {
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  370  	struct amba_device		*adev;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  371  	struct vendor_data		*vendor;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  372  	resource_size_t			phybase;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  373  	void __iomem			*virtbase;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  374  	struct clk			*clk;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  375  	struct spi_master		*master;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  376  	struct pl022_ssp_controller	*master_info;
ffbbdd213 drivers/spi/spi-pl022.c  Linus Walleij            2012-02-22  377  	/* Message per-transfer pump */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  378  	struct tasklet_struct		pump_transfers;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09 @379  	struct spi_message		*cur_msg;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  380  	struct spi_transfer		*cur_transfer;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  381  	struct chip_data		*cur_chip;
8b8d71916 drivers/spi/spi-pl022.c  Virupax Sadashivpetimath 2011-11-10  382  	bool				next_msg_cs_active;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  383  	void				*tx;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  384  	void				*tx_end;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  385  	void				*rx;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  386  	void				*rx_end;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  387  	enum ssp_reading		read;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  388  	enum ssp_writing		write;
fc05475f8 drivers/spi/amba-pl022.c Linus Walleij            2010-01-22  389  	u32				exp_fifo_level;
083be3f05 drivers/spi/spi-pl022.c  Linus Walleij            2011-06-16  390  	enum ssp_rx_level_trig		rx_lev_trig;
083be3f05 drivers/spi/spi-pl022.c  Linus Walleij            2011-06-16  391  	enum ssp_tx_level_trig		tx_lev_trig;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  392  	/* DMA settings */
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  393  #ifdef CONFIG_DMA_ENGINE
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  394  	struct dma_chan			*dma_rx_channel;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  395  	struct dma_chan			*dma_tx_channel;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  396  	struct sg_table			sgt_rx;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  397  	struct sg_table			sgt_tx;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  398  	char				*dummypage;
ffbbdd213 drivers/spi/spi-pl022.c  Linus Walleij            2012-02-22  399  	bool				dma_running;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  400  #endif
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  401  };
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  402  
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  403  /**
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  404   * struct chip_data - To maintain runtime state of SSP for each client chip
556f4aeb7 drivers/spi/amba-pl022.c Linus Walleij            2010-05-05  405   * @cr0: Value of control register CR0 of SSP - on later ST variants this
556f4aeb7 drivers/spi/amba-pl022.c Linus Walleij            2010-05-05  406   *       register is 32 bits wide rather than just 16
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  407   * @cr1: Value of control register CR1 of SSP
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  408   * @dmacr: Value of DMA control Register of SSP
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  409   * @cpsr: Value of Clock prescale register
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  410   * @n_bytes: how many bytes(power of 2) reqd for a given data width of client
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  411   * @enable_dma: Whether to enable DMA or not
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  412   * @read: function ptr to be used to read when doing xfer for this chip
12e8b325f drivers/spi/amba-pl022.c Linus Walleij            2011-02-08  413   * @write: function ptr to be used to write when doing xfer for this chip
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  414   * @xfer_type: polling/interrupt/DMA
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  415   *
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  416   * Runtime state of the SSP controller, maintained per chip,
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  417   * This would be set according to the current message that would be served
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  418   */
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  419  struct chip_data {
556f4aeb7 drivers/spi/amba-pl022.c Linus Walleij            2010-05-05  420  	u32 cr0;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  421  	u16 cr1;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  422  	u16 dmacr;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  423  	u16 cpsr;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  424  	u8 n_bytes;
b1b6b9aa6 drivers/spi/amba-pl022.c Linus Walleij            2010-09-29  425  	bool enable_dma;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  426  	enum ssp_reading read;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  427  	enum ssp_writing write;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  428  	int xfer_type;
b43d65f7e drivers/spi/amba-pl022.c Linus Walleij            2009-06-09  429  };
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@avagotech.com>
:::::: CC: Mark Brown <broonie@kernel.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 44465 bytes --]

                 reply	other threads:[~2019-06-26  0:43 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201906260851.tWmwom4U%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@01.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.