All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [hch-block:blkdev.h-includes 15/16] drivers/mmc/core/sd.c:1016:21: error: variable has incomplete type 'struct scatterlist'
Date: Sun, 25 Jul 2021 16:21:19 +0800	[thread overview]
Message-ID: <202107251615.KfMsM8va-lkp@intel.com> (raw)

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

tree:   git://git.infradead.org/users/hch/block.git blkdev.h-includes
head:   db08f634bead64da6de80830782f3c339fc41b11
commit: 9571c3f0ec1966546513f3be443b4abe3a7b4666 [15/16] block: move integrity handling out of blkdev.h
config: riscv-randconfig-r036-20210725 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c63dbd850182797bc4b76124d08e1c320ab2365d)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        git remote add hch-block git://git.infradead.org/users/hch/block.git
        git fetch --no-tags hch-block blkdev.h-includes
        git checkout 9571c3f0ec1966546513f3be443b4abe3a7b4666
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/mmc/core/

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

All errors (new ones prefixed by >>):

>> drivers/mmc/core/sd.c:1016:21: error: variable has incomplete type 'struct scatterlist'
           struct scatterlist sg;
                              ^
   include/linux/mmc/core.h:139:9: note: forward declaration of 'struct scatterlist'
           struct scatterlist      *sg;            /* I/O scatter list */
                  ^
>> drivers/mmc/core/sd.c:1045:2: error: implicit declaration of function 'sg_init_one' [-Werror,-Wimplicit-function-declaration]
           sg_init_one(&sg, reg_buf, 512);
           ^
   2 errors generated.


vim +1016 drivers/mmc/core/sd.c

6a11fc47f175c8 Adrian Hunter 2017-09-25  1008  
2c5d4276903804 Ulf Hansson   2021-05-04  1009  static int sd_write_ext_reg(struct mmc_card *card, u8 fno, u8 page, u16 offset,
2c5d4276903804 Ulf Hansson   2021-05-04  1010  			    u8 reg_data)
2c5d4276903804 Ulf Hansson   2021-05-04  1011  {
2c5d4276903804 Ulf Hansson   2021-05-04  1012  	struct mmc_host *host = card->host;
2c5d4276903804 Ulf Hansson   2021-05-04  1013  	struct mmc_request mrq = {};
2c5d4276903804 Ulf Hansson   2021-05-04  1014  	struct mmc_command cmd = {};
2c5d4276903804 Ulf Hansson   2021-05-04  1015  	struct mmc_data data = {};
2c5d4276903804 Ulf Hansson   2021-05-04 @1016  	struct scatterlist sg;
2c5d4276903804 Ulf Hansson   2021-05-04  1017  	u8 *reg_buf;
2c5d4276903804 Ulf Hansson   2021-05-04  1018  
2c5d4276903804 Ulf Hansson   2021-05-04  1019  	reg_buf = kzalloc(512, GFP_KERNEL);
2c5d4276903804 Ulf Hansson   2021-05-04  1020  	if (!reg_buf)
2c5d4276903804 Ulf Hansson   2021-05-04  1021  		return -ENOMEM;
2c5d4276903804 Ulf Hansson   2021-05-04  1022  
2c5d4276903804 Ulf Hansson   2021-05-04  1023  	mrq.cmd = &cmd;
2c5d4276903804 Ulf Hansson   2021-05-04  1024  	mrq.data = &data;
2c5d4276903804 Ulf Hansson   2021-05-04  1025  
2c5d4276903804 Ulf Hansson   2021-05-04  1026  	/*
2c5d4276903804 Ulf Hansson   2021-05-04  1027  	 * Arguments of CMD49:
2c5d4276903804 Ulf Hansson   2021-05-04  1028  	 * [31:31] MIO (0 = memory).
2c5d4276903804 Ulf Hansson   2021-05-04  1029  	 * [30:27] FNO (function number).
2c5d4276903804 Ulf Hansson   2021-05-04  1030  	 * [26:26] MW - mask write mode (0 = disable).
2c5d4276903804 Ulf Hansson   2021-05-04  1031  	 * [25:18] page number.
2c5d4276903804 Ulf Hansson   2021-05-04  1032  	 * [17:9] offset address.
2c5d4276903804 Ulf Hansson   2021-05-04  1033  	 * [8:0] length (0 = 1 byte).
2c5d4276903804 Ulf Hansson   2021-05-04  1034  	 */
2c5d4276903804 Ulf Hansson   2021-05-04  1035  	cmd.arg = fno << 27 | page << 18 | offset << 9;
2c5d4276903804 Ulf Hansson   2021-05-04  1036  
2c5d4276903804 Ulf Hansson   2021-05-04  1037  	/* The first byte in the buffer is the data to be written. */
2c5d4276903804 Ulf Hansson   2021-05-04  1038  	reg_buf[0] = reg_data;
2c5d4276903804 Ulf Hansson   2021-05-04  1039  
2c5d4276903804 Ulf Hansson   2021-05-04  1040  	data.flags = MMC_DATA_WRITE;
2c5d4276903804 Ulf Hansson   2021-05-04  1041  	data.blksz = 512;
2c5d4276903804 Ulf Hansson   2021-05-04  1042  	data.blocks = 1;
2c5d4276903804 Ulf Hansson   2021-05-04  1043  	data.sg = &sg;
2c5d4276903804 Ulf Hansson   2021-05-04  1044  	data.sg_len = 1;
2c5d4276903804 Ulf Hansson   2021-05-04 @1045  	sg_init_one(&sg, reg_buf, 512);
2c5d4276903804 Ulf Hansson   2021-05-04  1046  
2c5d4276903804 Ulf Hansson   2021-05-04  1047  	cmd.opcode = SD_WRITE_EXTR_SINGLE;
2c5d4276903804 Ulf Hansson   2021-05-04  1048  	cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
2c5d4276903804 Ulf Hansson   2021-05-04  1049  
2c5d4276903804 Ulf Hansson   2021-05-04  1050  	mmc_set_data_timeout(&data, card);
2c5d4276903804 Ulf Hansson   2021-05-04  1051  	mmc_wait_for_req(host, &mrq);
2c5d4276903804 Ulf Hansson   2021-05-04  1052  
2c5d4276903804 Ulf Hansson   2021-05-04  1053  	kfree(reg_buf);
2c5d4276903804 Ulf Hansson   2021-05-04  1054  
2c5d4276903804 Ulf Hansson   2021-05-04  1055  	/*
2c5d4276903804 Ulf Hansson   2021-05-04  1056  	 * Note that, the SD card is allowed to signal busy on DAT0 up to 1s
2c5d4276903804 Ulf Hansson   2021-05-04  1057  	 * after the CMD49. Although, let's leave this to be managed by the
2c5d4276903804 Ulf Hansson   2021-05-04  1058  	 * caller.
2c5d4276903804 Ulf Hansson   2021-05-04  1059  	 */
2c5d4276903804 Ulf Hansson   2021-05-04  1060  
2c5d4276903804 Ulf Hansson   2021-05-04  1061  	if (cmd.error)
2c5d4276903804 Ulf Hansson   2021-05-04  1062  		return cmd.error;
2c5d4276903804 Ulf Hansson   2021-05-04  1063  	if (data.error)
2c5d4276903804 Ulf Hansson   2021-05-04  1064  		return data.error;
2c5d4276903804 Ulf Hansson   2021-05-04  1065  
2c5d4276903804 Ulf Hansson   2021-05-04  1066  	return 0;
2c5d4276903804 Ulf Hansson   2021-05-04  1067  }
2c5d4276903804 Ulf Hansson   2021-05-04  1068  

:::::: The code@line 1016 was first introduced by commit
:::::: 2c5d42769038045b92160a849aad43c4b3170e2a mmc: core: Add support for Power Off Notification for SD cards

:::::: TO: Ulf Hansson <ulf.hansson@linaro.org>
:::::: CC: Ulf Hansson <ulf.hansson@linaro.org>

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

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Christoph Hellwig <hch@lst.de>
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org
Subject: [hch-block:blkdev.h-includes 15/16] drivers/mmc/core/sd.c:1016:21: error: variable has incomplete type 'struct scatterlist'
Date: Sun, 25 Jul 2021 16:21:19 +0800	[thread overview]
Message-ID: <202107251615.KfMsM8va-lkp@intel.com> (raw)

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

tree:   git://git.infradead.org/users/hch/block.git blkdev.h-includes
head:   db08f634bead64da6de80830782f3c339fc41b11
commit: 9571c3f0ec1966546513f3be443b4abe3a7b4666 [15/16] block: move integrity handling out of blkdev.h
config: riscv-randconfig-r036-20210725 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project c63dbd850182797bc4b76124d08e1c320ab2365d)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        git remote add hch-block git://git.infradead.org/users/hch/block.git
        git fetch --no-tags hch-block blkdev.h-includes
        git checkout 9571c3f0ec1966546513f3be443b4abe3a7b4666
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/mmc/core/

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

All errors (new ones prefixed by >>):

>> drivers/mmc/core/sd.c:1016:21: error: variable has incomplete type 'struct scatterlist'
           struct scatterlist sg;
                              ^
   include/linux/mmc/core.h:139:9: note: forward declaration of 'struct scatterlist'
           struct scatterlist      *sg;            /* I/O scatter list */
                  ^
>> drivers/mmc/core/sd.c:1045:2: error: implicit declaration of function 'sg_init_one' [-Werror,-Wimplicit-function-declaration]
           sg_init_one(&sg, reg_buf, 512);
           ^
   2 errors generated.


vim +1016 drivers/mmc/core/sd.c

6a11fc47f175c8 Adrian Hunter 2017-09-25  1008  
2c5d4276903804 Ulf Hansson   2021-05-04  1009  static int sd_write_ext_reg(struct mmc_card *card, u8 fno, u8 page, u16 offset,
2c5d4276903804 Ulf Hansson   2021-05-04  1010  			    u8 reg_data)
2c5d4276903804 Ulf Hansson   2021-05-04  1011  {
2c5d4276903804 Ulf Hansson   2021-05-04  1012  	struct mmc_host *host = card->host;
2c5d4276903804 Ulf Hansson   2021-05-04  1013  	struct mmc_request mrq = {};
2c5d4276903804 Ulf Hansson   2021-05-04  1014  	struct mmc_command cmd = {};
2c5d4276903804 Ulf Hansson   2021-05-04  1015  	struct mmc_data data = {};
2c5d4276903804 Ulf Hansson   2021-05-04 @1016  	struct scatterlist sg;
2c5d4276903804 Ulf Hansson   2021-05-04  1017  	u8 *reg_buf;
2c5d4276903804 Ulf Hansson   2021-05-04  1018  
2c5d4276903804 Ulf Hansson   2021-05-04  1019  	reg_buf = kzalloc(512, GFP_KERNEL);
2c5d4276903804 Ulf Hansson   2021-05-04  1020  	if (!reg_buf)
2c5d4276903804 Ulf Hansson   2021-05-04  1021  		return -ENOMEM;
2c5d4276903804 Ulf Hansson   2021-05-04  1022  
2c5d4276903804 Ulf Hansson   2021-05-04  1023  	mrq.cmd = &cmd;
2c5d4276903804 Ulf Hansson   2021-05-04  1024  	mrq.data = &data;
2c5d4276903804 Ulf Hansson   2021-05-04  1025  
2c5d4276903804 Ulf Hansson   2021-05-04  1026  	/*
2c5d4276903804 Ulf Hansson   2021-05-04  1027  	 * Arguments of CMD49:
2c5d4276903804 Ulf Hansson   2021-05-04  1028  	 * [31:31] MIO (0 = memory).
2c5d4276903804 Ulf Hansson   2021-05-04  1029  	 * [30:27] FNO (function number).
2c5d4276903804 Ulf Hansson   2021-05-04  1030  	 * [26:26] MW - mask write mode (0 = disable).
2c5d4276903804 Ulf Hansson   2021-05-04  1031  	 * [25:18] page number.
2c5d4276903804 Ulf Hansson   2021-05-04  1032  	 * [17:9] offset address.
2c5d4276903804 Ulf Hansson   2021-05-04  1033  	 * [8:0] length (0 = 1 byte).
2c5d4276903804 Ulf Hansson   2021-05-04  1034  	 */
2c5d4276903804 Ulf Hansson   2021-05-04  1035  	cmd.arg = fno << 27 | page << 18 | offset << 9;
2c5d4276903804 Ulf Hansson   2021-05-04  1036  
2c5d4276903804 Ulf Hansson   2021-05-04  1037  	/* The first byte in the buffer is the data to be written. */
2c5d4276903804 Ulf Hansson   2021-05-04  1038  	reg_buf[0] = reg_data;
2c5d4276903804 Ulf Hansson   2021-05-04  1039  
2c5d4276903804 Ulf Hansson   2021-05-04  1040  	data.flags = MMC_DATA_WRITE;
2c5d4276903804 Ulf Hansson   2021-05-04  1041  	data.blksz = 512;
2c5d4276903804 Ulf Hansson   2021-05-04  1042  	data.blocks = 1;
2c5d4276903804 Ulf Hansson   2021-05-04  1043  	data.sg = &sg;
2c5d4276903804 Ulf Hansson   2021-05-04  1044  	data.sg_len = 1;
2c5d4276903804 Ulf Hansson   2021-05-04 @1045  	sg_init_one(&sg, reg_buf, 512);
2c5d4276903804 Ulf Hansson   2021-05-04  1046  
2c5d4276903804 Ulf Hansson   2021-05-04  1047  	cmd.opcode = SD_WRITE_EXTR_SINGLE;
2c5d4276903804 Ulf Hansson   2021-05-04  1048  	cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC;
2c5d4276903804 Ulf Hansson   2021-05-04  1049  
2c5d4276903804 Ulf Hansson   2021-05-04  1050  	mmc_set_data_timeout(&data, card);
2c5d4276903804 Ulf Hansson   2021-05-04  1051  	mmc_wait_for_req(host, &mrq);
2c5d4276903804 Ulf Hansson   2021-05-04  1052  
2c5d4276903804 Ulf Hansson   2021-05-04  1053  	kfree(reg_buf);
2c5d4276903804 Ulf Hansson   2021-05-04  1054  
2c5d4276903804 Ulf Hansson   2021-05-04  1055  	/*
2c5d4276903804 Ulf Hansson   2021-05-04  1056  	 * Note that, the SD card is allowed to signal busy on DAT0 up to 1s
2c5d4276903804 Ulf Hansson   2021-05-04  1057  	 * after the CMD49. Although, let's leave this to be managed by the
2c5d4276903804 Ulf Hansson   2021-05-04  1058  	 * caller.
2c5d4276903804 Ulf Hansson   2021-05-04  1059  	 */
2c5d4276903804 Ulf Hansson   2021-05-04  1060  
2c5d4276903804 Ulf Hansson   2021-05-04  1061  	if (cmd.error)
2c5d4276903804 Ulf Hansson   2021-05-04  1062  		return cmd.error;
2c5d4276903804 Ulf Hansson   2021-05-04  1063  	if (data.error)
2c5d4276903804 Ulf Hansson   2021-05-04  1064  		return data.error;
2c5d4276903804 Ulf Hansson   2021-05-04  1065  
2c5d4276903804 Ulf Hansson   2021-05-04  1066  	return 0;
2c5d4276903804 Ulf Hansson   2021-05-04  1067  }
2c5d4276903804 Ulf Hansson   2021-05-04  1068  

:::::: The code at line 1016 was first introduced by commit
:::::: 2c5d42769038045b92160a849aad43c4b3170e2a mmc: core: Add support for Power Off Notification for SD cards

:::::: TO: Ulf Hansson <ulf.hansson@linaro.org>
:::::: CC: Ulf Hansson <ulf.hansson@linaro.org>

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

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

             reply	other threads:[~2021-07-25  8:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-25  8:21 kernel test robot [this message]
2021-07-25  8:21 ` [hch-block:blkdev.h-includes 15/16] drivers/mmc/core/sd.c:1016:21: error: variable has incomplete type 'struct scatterlist' kernel test robot

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=202107251615.KfMsM8va-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.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.