All of lore.kernel.org
 help / color / mirror / Atom feed
* [freescale-fslc:pr/78 283/3687] include/linux/blk-mq.h:271:36: sparse: sparse: bad constant expression type
@ 2021-01-22  3:50 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-01-22  3:50 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
TO: Otavio Salvador <otavio@ossystems.com.br>

tree:   https://github.com/Freescale/linux-fslc pr/78
head:   35b10ca99cd3cb57e545010466bbd588987c96f6
commit: 0196856db2fe33b0ffd413bd5e01a9bd31c110da [283/3687] i2c: imx: implement bus recovery with gpio for Layerscape
:::::: branch date: 8 months ago
:::::: commit date: 8 months ago
config: arm-randconfig-s032-20210122 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-208-g46a52ca4-dirty
        # https://github.com/Freescale/linux-fslc/commit/0196856db2fe33b0ffd413bd5e01a9bd31c110da
        git remote add freescale-fslc https://github.com/Freescale/linux-fslc
        git fetch --no-tags freescale-fslc pr/78
        git checkout 0196856db2fe33b0ffd413bd5e01a9bd31c110da
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 

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


"sparse warnings: (new ones prefixed by >>)"
   drivers/i2c/busses/i2c-imx.c: note: in included file (through include/scsi/scsi_host.h, include/linux/libata.h):
   include/linux/blk-mq.h:123:35: sparse: sparse: Expected ; at end of declaration
   include/linux/blk-mq.h:123:35: sparse: sparse: got (
   include/linux/blk-mq.h:150:33: sparse: sparse: expected ; at end of declaration
   include/linux/blk-mq.h:150:33: sparse: sparse: Expected } at end of specifier
   include/linux/blk-mq.h:150:33: sparse: sparse: got *
   include/linux/blk-mq.h:224:1: sparse: sparse: Expected ; at the end of type declaration
   include/linux/blk-mq.h:224:1: sparse: sparse: got }
   include/linux/blk-mq.h:271:44: sparse: sparse: Expected ) at end of cast operator
   include/linux/blk-mq.h:271:44: sparse: sparse: got blk_mq_req_flags_t
>> include/linux/blk-mq.h:271:36: sparse: sparse: bad constant expression type
   include/linux/blk-mq.h:281:36: sparse: sparse: Expected ) in function declarator
   include/linux/blk-mq.h:281:36: sparse: sparse: got flags
   include/linux/blk-mq.h:283:53: sparse: sparse: Expected ) in function declarator
   include/linux/blk-mq.h:283:53: sparse: sparse: got flags
   include/linux/blk-mq.h:367:24: sparse: sparse: Expected ; at end of declaration
   include/linux/blk-mq.h:367:24: sparse: sparse: got request_to_qc_t
>> include/linux/blk-mq.h:373:9: sparse: sparse: Trying to use reserved word 'return' as identifier
   include/linux/blk-mq.h:373:16: sparse: sparse: Expected ; at end of declaration
   include/linux/blk-mq.h:373:16: sparse: sparse: got rq
   include/linux/blk-mq.h:375:1: sparse: sparse: Expected ; at the end of type declaration
   include/linux/blk-mq.h:375:1: sparse: sparse: got }
   include/linux/blk-mq.h:381:1: sparse: sparse: Expected ; at the end of type declaration
   include/linux/blk-mq.h:381:1: sparse: sparse: got }
   drivers/i2c/busses/i2c-imx.c: note: in included file (through include/scsi/scsi_common.h, include/scsi/scsi.h, include/scsi/scsi_host.h, ...):
   include/scsi/scsi_proto.h:187:1: sparse: sparse: Expected ; at the end of type declaration
   include/scsi/scsi_proto.h:187:1: sparse: sparse: got }
   drivers/i2c/busses/i2c-imx.c: note: in included file (through include/scsi/scsi_host.h, include/linux/libata.h):
   include/linux/blk-mq.h:180:33: sparse: sparse: symbol 'complete' redeclared with different type (different base types):
>> include/linux/blk-mq.h:180:33: sparse:    void ( [usertype] *[addressable] [toplevel] complete )( ... )
   drivers/i2c/busses/i2c-imx.c: note: in included file (through include/linux/mm_types.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
   include/linux/completion.h:118:13: sparse: note: previously declared as:
>> include/linux/completion.h:118:13: sparse:    void extern [addressable] [toplevel] complete( ... )

vim +271 include/linux/blk-mq.h

05229beeddf7e75e Jens Axboe        2015-11-05  144  
81481eb423c295c5 Christoph Hellwig 2014-09-13  145  
320ae51feed5c2f1 Jens Axboe        2013-10-24  146  struct blk_mq_ops {
320ae51feed5c2f1 Jens Axboe        2013-10-24  147  	/*
320ae51feed5c2f1 Jens Axboe        2013-10-24  148  	 * Queue request
320ae51feed5c2f1 Jens Axboe        2013-10-24  149  	 */
320ae51feed5c2f1 Jens Axboe        2013-10-24  150  	queue_rq_fn		*queue_rq;
320ae51feed5c2f1 Jens Axboe        2013-10-24  151  
d666ba98f849ad44 Jens Axboe        2018-11-27  152  	/*
d666ba98f849ad44 Jens Axboe        2018-11-27  153  	 * If a driver uses bd->last to judge when to submit requests to
d666ba98f849ad44 Jens Axboe        2018-11-27  154  	 * hardware, it must define this function. In case of errors that
d666ba98f849ad44 Jens Axboe        2018-11-27  155  	 * make us stop issuing further requests, this hook serves the
d666ba98f849ad44 Jens Axboe        2018-11-27  156  	 * purpose of kicking the hardware (which the last request otherwise
d666ba98f849ad44 Jens Axboe        2018-11-27  157  	 * would have done).
d666ba98f849ad44 Jens Axboe        2018-11-27  158  	 */
d666ba98f849ad44 Jens Axboe        2018-11-27  159  	commit_rqs_fn		*commit_rqs;
d666ba98f849ad44 Jens Axboe        2018-11-27  160  
de1482974080ec9e Ming Lei          2017-10-14  161  	/*
de1482974080ec9e Ming Lei          2017-10-14  162  	 * Reserve budget before queue request, once .queue_rq is
de1482974080ec9e Ming Lei          2017-10-14  163  	 * run, it is driver's responsibility to release the
de1482974080ec9e Ming Lei          2017-10-14  164  	 * reserved budget. Also we have to handle failure case
de1482974080ec9e Ming Lei          2017-10-14  165  	 * of .get_budget for avoiding I/O deadlock.
de1482974080ec9e Ming Lei          2017-10-14  166  	 */
de1482974080ec9e Ming Lei          2017-10-14  167  	get_budget_fn		*get_budget;
de1482974080ec9e Ming Lei          2017-10-14  168  	put_budget_fn		*put_budget;
de1482974080ec9e Ming Lei          2017-10-14  169  
320ae51feed5c2f1 Jens Axboe        2013-10-24  170  	/*
320ae51feed5c2f1 Jens Axboe        2013-10-24  171  	 * Called on request timeout
320ae51feed5c2f1 Jens Axboe        2013-10-24  172  	 */
0152fb6b57c4fae7 Christoph Hellwig 2014-09-13  173  	timeout_fn		*timeout;
320ae51feed5c2f1 Jens Axboe        2013-10-24  174  
05229beeddf7e75e Jens Axboe        2015-11-05  175  	/*
05229beeddf7e75e Jens Axboe        2015-11-05  176  	 * Called to poll for completion of a specific tag.
05229beeddf7e75e Jens Axboe        2015-11-05  177  	 */
05229beeddf7e75e Jens Axboe        2015-11-05  178  	poll_fn			*poll;
05229beeddf7e75e Jens Axboe        2015-11-05  179  
c7bb9ad1744ea14e Jens Axboe        2018-10-31 @180  	complete_fn		*complete;
30a91cb4ef385fe1 Christoph Hellwig 2014-02-10  181  
320ae51feed5c2f1 Jens Axboe        2013-10-24  182  	/*
320ae51feed5c2f1 Jens Axboe        2013-10-24  183  	 * Called when the block layer side of a hardware queue has been
320ae51feed5c2f1 Jens Axboe        2013-10-24  184  	 * set up, allowing the driver to allocate/init matching structures.
320ae51feed5c2f1 Jens Axboe        2013-10-24  185  	 * Ditto for exit/teardown.
320ae51feed5c2f1 Jens Axboe        2013-10-24  186  	 */
320ae51feed5c2f1 Jens Axboe        2013-10-24  187  	init_hctx_fn		*init_hctx;
320ae51feed5c2f1 Jens Axboe        2013-10-24  188  	exit_hctx_fn		*exit_hctx;
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  189  
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  190  	/*
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  191  	 * Called for every command allocated by the block layer to allow
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  192  	 * the driver to set up driver specific data.
f70ced09170761ac Ming Lei          2014-09-25  193  	 *
f70ced09170761ac Ming Lei          2014-09-25  194  	 * Tag greater than or equal to queue_depth is for setting up
f70ced09170761ac Ming Lei          2014-09-25  195  	 * flush request.
f70ced09170761ac Ming Lei          2014-09-25  196  	 *
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  197  	 * Ditto for exit/teardown.
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  198  	 */
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  199  	init_request_fn		*init_request;
e9b267d91f6ddbc6 Christoph Hellwig 2014-04-15  200  	exit_request_fn		*exit_request;
d280bab305431c18 Bart Van Assche   2017-06-20  201  	/* Called from inside blk_get_request() */
d280bab305431c18 Bart Van Assche   2017-06-20  202  	void (*initialize_rq_fn)(struct request *rq);
da695ba236b993f0 Christoph Hellwig 2016-09-14  203  
226b4fc75c78f9c4 Ming Lei          2019-07-25  204  	/*
226b4fc75c78f9c4 Ming Lei          2019-07-25  205  	 * Called before freeing one request which isn't completed yet,
226b4fc75c78f9c4 Ming Lei          2019-07-25  206  	 * and usually for freeing the driver private data
226b4fc75c78f9c4 Ming Lei          2019-07-25  207  	 */
226b4fc75c78f9c4 Ming Lei          2019-07-25  208  	cleanup_rq_fn		*cleanup_rq;
226b4fc75c78f9c4 Ming Lei          2019-07-25  209  
9ba20527f4d1430b Jens Axboe        2018-10-29  210  	/*
9ba20527f4d1430b Jens Axboe        2018-10-29  211  	 * If set, returns whether or not this queue currently is busy
9ba20527f4d1430b Jens Axboe        2018-10-29  212  	 */
9ba20527f4d1430b Jens Axboe        2018-10-29  213  	busy_fn			*busy;
9ba20527f4d1430b Jens Axboe        2018-10-29  214  
da695ba236b993f0 Christoph Hellwig 2016-09-14  215  	map_queues_fn		*map_queues;
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  216  
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  217  #ifdef CONFIG_BLK_DEBUG_FS
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  218  	/*
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  219  	 * Used by the debugfs implementation to show driver-specific
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  220  	 * information about a request.
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  221  	 */
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  222  	void (*show_rq)(struct seq_file *m, struct request *rq);
2836ee4b1acbe7b3 Bart Van Assche   2017-04-26  223  #endif
320ae51feed5c2f1 Jens Axboe        2013-10-24  224  };
320ae51feed5c2f1 Jens Axboe        2013-10-24  225  
320ae51feed5c2f1 Jens Axboe        2013-10-24  226  enum {
320ae51feed5c2f1 Jens Axboe        2013-10-24  227  	BLK_MQ_F_SHOULD_MERGE	= 1 << 0,
8a58d1f1f373238c Jens Axboe        2014-08-15  228  	BLK_MQ_F_TAG_SHARED	= 1 << 1,
1b792f2f92784c00 Jens Axboe        2016-09-21  229  	BLK_MQ_F_BLOCKING	= 1 << 5,
d34849913819a5e0 Jens Axboe        2017-01-13  230  	BLK_MQ_F_NO_SCHED	= 1 << 6,
24391c0dc57c3756 Shaohua Li        2015-01-23  231  	BLK_MQ_F_ALLOC_POLICY_START_BIT = 8,
24391c0dc57c3756 Shaohua Li        2015-01-23  232  	BLK_MQ_F_ALLOC_POLICY_BITS = 1,
320ae51feed5c2f1 Jens Axboe        2013-10-24  233  
5d12f905cc50c081 Jens Axboe        2014-03-19  234  	BLK_MQ_S_STOPPED	= 0,
0d2602ca30e410e8 Jens Axboe        2014-05-13  235  	BLK_MQ_S_TAG_ACTIVE	= 1,
bd166ef183c263c5 Jens Axboe        2017-01-17  236  	BLK_MQ_S_SCHED_RESTART	= 2,
320ae51feed5c2f1 Jens Axboe        2013-10-24  237  
a4391c6465d9c978 Jens Axboe        2014-06-05  238  	BLK_MQ_MAX_DEPTH	= 10240,
506e931f92defdc6 Jens Axboe        2014-05-07  239  
506e931f92defdc6 Jens Axboe        2014-05-07  240  	BLK_MQ_CPU_WORK_BATCH	= 8,
320ae51feed5c2f1 Jens Axboe        2013-10-24  241  };
24391c0dc57c3756 Shaohua Li        2015-01-23  242  #define BLK_MQ_FLAG_TO_ALLOC_POLICY(flags) \
24391c0dc57c3756 Shaohua Li        2015-01-23  243  	((flags >> BLK_MQ_F_ALLOC_POLICY_START_BIT) & \
24391c0dc57c3756 Shaohua Li        2015-01-23  244  		((1 << BLK_MQ_F_ALLOC_POLICY_BITS) - 1))
24391c0dc57c3756 Shaohua Li        2015-01-23  245  #define BLK_ALLOC_POLICY_TO_MQ_FLAG(policy) \
24391c0dc57c3756 Shaohua Li        2015-01-23  246  	((policy & ((1 << BLK_MQ_F_ALLOC_POLICY_BITS) - 1)) \
24391c0dc57c3756 Shaohua Li        2015-01-23  247  		<< BLK_MQ_F_ALLOC_POLICY_START_BIT)
320ae51feed5c2f1 Jens Axboe        2013-10-24  248  
24d2f90309b23f2c Christoph Hellwig 2014-04-15  249  struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *);
b62c21b71f08b7a4 Mike Snitzer      2015-03-12  250  struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set,
737eb78e82d52d35 Damien Le Moal    2019-09-05  251  						  struct request_queue *q,
737eb78e82d52d35 Damien Le Moal    2019-09-05  252  						  bool elevator_init);
9316a9ed6895c4ad Jens Axboe        2018-10-15  253  struct request_queue *blk_mq_init_sq_queue(struct blk_mq_tag_set *set,
9316a9ed6895c4ad Jens Axboe        2018-10-15  254  						const struct blk_mq_ops *ops,
9316a9ed6895c4ad Jens Axboe        2018-10-15  255  						unsigned int queue_depth,
9316a9ed6895c4ad Jens Axboe        2018-10-15  256  						unsigned int set_flags);
b21d5b301794ae33 Matias Bjørling   2016-09-16  257  void blk_mq_unregister_dev(struct device *, struct request_queue *);
320ae51feed5c2f1 Jens Axboe        2013-10-24  258  
24d2f90309b23f2c Christoph Hellwig 2014-04-15  259  int blk_mq_alloc_tag_set(struct blk_mq_tag_set *set);
24d2f90309b23f2c Christoph Hellwig 2014-04-15  260  void blk_mq_free_tag_set(struct blk_mq_tag_set *set);
24d2f90309b23f2c Christoph Hellwig 2014-04-15  261  
320ae51feed5c2f1 Jens Axboe        2013-10-24  262  void blk_mq_flush_plug_list(struct blk_plug *plug, bool from_schedule);
320ae51feed5c2f1 Jens Axboe        2013-10-24  263  
320ae51feed5c2f1 Jens Axboe        2013-10-24  264  void blk_mq_free_request(struct request *rq);
320ae51feed5c2f1 Jens Axboe        2013-10-24  265  bool blk_mq_can_queue(struct blk_mq_hw_ctx *);
6f3b0e8bcf3cbb87 Christoph Hellwig 2015-11-26  266  
3c94d83cb352627f Jens Axboe        2018-12-17  267  bool blk_mq_queue_inflight(struct request_queue *q);
ae8799125d565c79 Jens Axboe        2018-11-08  268  
6f3b0e8bcf3cbb87 Christoph Hellwig 2015-11-26  269  enum {
9a95e4ef709533ef Bart Van Assche   2017-11-09  270  	/* return when out of requests */
9a95e4ef709533ef Bart Van Assche   2017-11-09 @271  	BLK_MQ_REQ_NOWAIT	= (__force blk_mq_req_flags_t)(1 << 0),
9a95e4ef709533ef Bart Van Assche   2017-11-09  272  	/* allocate from reserved pool */
9a95e4ef709533ef Bart Van Assche   2017-11-09  273  	BLK_MQ_REQ_RESERVED	= (__force blk_mq_req_flags_t)(1 << 1),
9a95e4ef709533ef Bart Van Assche   2017-11-09  274  	/* allocate internal/sched tag */
9a95e4ef709533ef Bart Van Assche   2017-11-09  275  	BLK_MQ_REQ_INTERNAL	= (__force blk_mq_req_flags_t)(1 << 2),
9a95e4ef709533ef Bart Van Assche   2017-11-09  276  	/* set RQF_PREEMPT */
9a95e4ef709533ef Bart Van Assche   2017-11-09  277  	BLK_MQ_REQ_PREEMPT	= (__force blk_mq_req_flags_t)(1 << 3),
6f3b0e8bcf3cbb87 Christoph Hellwig 2015-11-26  278  };
6f3b0e8bcf3cbb87 Christoph Hellwig 2015-11-26  279  
cd6ce1482fd9e691 Bart Van Assche   2017-06-20  280  struct request *blk_mq_alloc_request(struct request_queue *q, unsigned int op,
9a95e4ef709533ef Bart Van Assche   2017-11-09  281  		blk_mq_req_flags_t flags);
cd6ce1482fd9e691 Bart Van Assche   2017-06-20  282  struct request *blk_mq_alloc_request_hctx(struct request_queue *q,
9a95e4ef709533ef Bart Van Assche   2017-11-09  283  		unsigned int op, blk_mq_req_flags_t flags,
9a95e4ef709533ef Bart Van Assche   2017-11-09  284  		unsigned int hctx_idx);
0e62f51f8753b048 Jens Axboe        2014-06-04  285  struct request *blk_mq_tag_to_rq(struct blk_mq_tags *tags, unsigned int tag);
320ae51feed5c2f1 Jens Axboe        2013-10-24  286  
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  287  enum {
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  288  	BLK_MQ_UNIQUE_TAG_BITS = 16,
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  289  	BLK_MQ_UNIQUE_TAG_MASK = (1 << BLK_MQ_UNIQUE_TAG_BITS) - 1,
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  290  };
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  291  
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  292  u32 blk_mq_unique_tag(struct request *rq);
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  293  
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  294  static inline u16 blk_mq_unique_tag_to_hwq(u32 unique_tag)
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  295  {
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  296  	return unique_tag >> BLK_MQ_UNIQUE_TAG_BITS;
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  297  }
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  298  
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  299  static inline u16 blk_mq_unique_tag_to_tag(u32 unique_tag)
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  300  {
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  301  	return unique_tag & BLK_MQ_UNIQUE_TAG_MASK;
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  302  }
205fb5f5ba1d8edc Bart Van Assche   2014-10-30  303  
320ae51feed5c2f1 Jens Axboe        2013-10-24  304  
973c01919bce7e35 Keith Busch       2015-01-07  305  int blk_mq_request_started(struct request *rq);
aa306ab703e9452b Ming Lei          2019-07-24  306  int blk_mq_request_completed(struct request *rq);
e2490073cd7c3d6f Christoph Hellwig 2014-09-13  307  void blk_mq_start_request(struct request *rq);
2a842acab109f40f Christoph Hellwig 2017-06-03  308  void blk_mq_end_request(struct request *rq, blk_status_t error);
2a842acab109f40f Christoph Hellwig 2017-06-03  309  void __blk_mq_end_request(struct request *rq, blk_status_t error);
320ae51feed5c2f1 Jens Axboe        2013-10-24  310  
2b053aca76b48e68 Bart Van Assche   2016-10-28  311  void blk_mq_requeue_request(struct request *rq, bool kick_requeue_list);
6fca6a611c27f1f0 Christoph Hellwig 2014-05-28  312  void blk_mq_kick_requeue_list(struct request_queue *q);
2849450ad39d2e69 Mike Snitzer      2016-09-14  313  void blk_mq_delay_kick_requeue_list(struct request_queue *q, unsigned long msecs);
16c15eb16a793f2d Keith Busch       2018-11-26  314  bool blk_mq_complete_request(struct request *rq);
9c5587346490ad43 Jens Axboe        2018-05-30  315  bool blk_mq_bio_list_merge(struct request_queue *q, struct list_head *list,
14ccb66b3f585b2b Christoph Hellwig 2019-06-06  316  			   struct bio *bio, unsigned int nr_segs);
fd00144301d64f17 Bart Van Assche   2016-10-28  317  bool blk_mq_queue_stopped(struct request_queue *q);
320ae51feed5c2f1 Jens Axboe        2013-10-24  318  void blk_mq_stop_hw_queue(struct blk_mq_hw_ctx *hctx);
320ae51feed5c2f1 Jens Axboe        2013-10-24  319  void blk_mq_start_hw_queue(struct blk_mq_hw_ctx *hctx);
280d45f6c35d8d7a Christoph Hellwig 2013-10-25  320  void blk_mq_stop_hw_queues(struct request_queue *q);
2f268556567ebeb3 Christoph Hellwig 2014-04-16  321  void blk_mq_start_hw_queues(struct request_queue *q);
ae911c5e796d51cb Jens Axboe        2016-12-08  322  void blk_mq_start_stopped_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
1b4a325858f695a9 Christoph Hellwig 2014-04-16  323  void blk_mq_start_stopped_hw_queues(struct request_queue *q, bool async);
97e0120990f4a703 Ming Lei          2017-06-06  324  void blk_mq_quiesce_queue(struct request_queue *q);
e4e739131ac93d37 Ming Lei          2017-06-06  325  void blk_mq_unquiesce_queue(struct request_queue *q);
7587a5ae7eef0439 Bart Van Assche   2017-04-07  326  void blk_mq_delay_run_hw_queue(struct blk_mq_hw_ctx *hctx, unsigned long msecs);
79f720a751cad613 Jens Axboe        2017-11-10  327  bool blk_mq_run_hw_queue(struct blk_mq_hw_ctx *hctx, bool async);
b94ec296403e99d5 Mike Snitzer      2015-03-11  328  void blk_mq_run_hw_queues(struct request_queue *q, bool async);
e0489487ec9cd79e Sagi Grimberg     2016-03-10  329  void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
e0489487ec9cd79e Sagi Grimberg     2016-03-10  330  		busy_tag_iter_fn *fn, void *priv);
f9934a80f91dba8c Ming Lei          2019-07-24  331  void blk_mq_tagset_wait_completed_request(struct blk_mq_tag_set *tagset);
c761d96b079e99d1 Jens Axboe        2015-01-02  332  void blk_mq_freeze_queue(struct request_queue *q);
b4c6a028774bcf3f Keith Busch       2014-12-19  333  void blk_mq_unfreeze_queue(struct request_queue *q);
1671d522cdd9933d Ming Lei          2017-03-27  334  void blk_freeze_queue_start(struct request_queue *q);
6bae363ee3057a14 Keith Busch       2017-03-01  335  void blk_mq_freeze_queue_wait(struct request_queue *q);
f91328c40a559362 Keith Busch       2017-03-01  336  int blk_mq_freeze_queue_wait_timeout(struct request_queue *q,
f91328c40a559362 Keith Busch       2017-03-01  337  				     unsigned long timeout);
320ae51feed5c2f1 Jens Axboe        2013-10-24  338  
ed76e329d74a4b15 Jens Axboe        2018-10-29  339  int blk_mq_map_queues(struct blk_mq_queue_map *qmap);
868f2f0b72068a09 Keith Busch       2015-12-17  340  void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, int nr_hw_queues);
868f2f0b72068a09 Keith Busch       2015-12-17  341  
852ec80983d682dc Bart Van Assche   2017-06-21  342  void blk_mq_quiesce_queue_nowait(struct request_queue *q);
4f084b41a0c04a69 Ming Lei          2017-06-06  343  
9cf2bab6307659b9 Jens Axboe        2018-10-31  344  unsigned int blk_mq_rq_cpu(struct request *rq);
9cf2bab6307659b9 Jens Axboe        2018-10-31  345  
320ae51feed5c2f1 Jens Axboe        2013-10-24  346  /*
320ae51feed5c2f1 Jens Axboe        2013-10-24  347   * Driver command data is immediately after the request. So subtract request
2963e3f7e8e34658 Jens Axboe        2015-04-09  348   * size to get back to the original request, add request size to get the PDU.
320ae51feed5c2f1 Jens Axboe        2013-10-24  349   */
320ae51feed5c2f1 Jens Axboe        2013-10-24  350  static inline struct request *blk_mq_rq_from_pdu(void *pdu)
320ae51feed5c2f1 Jens Axboe        2013-10-24  351  {
320ae51feed5c2f1 Jens Axboe        2013-10-24  352  	return pdu - sizeof(struct request);
320ae51feed5c2f1 Jens Axboe        2013-10-24  353  }
320ae51feed5c2f1 Jens Axboe        2013-10-24  354  static inline void *blk_mq_rq_to_pdu(struct request *rq)
320ae51feed5c2f1 Jens Axboe        2013-10-24  355  {
2963e3f7e8e34658 Jens Axboe        2015-04-09  356  	return rq + 1;
320ae51feed5c2f1 Jens Axboe        2013-10-24  357  }
320ae51feed5c2f1 Jens Axboe        2013-10-24  358  
320ae51feed5c2f1 Jens Axboe        2013-10-24  359  #define queue_for_each_hw_ctx(q, hctx, i)				\
0d0b7d427987f6e9 Jose Alonso       2014-01-28  360  	for ((i) = 0; (i) < (q)->nr_hw_queues &&			\
0d0b7d427987f6e9 Jose Alonso       2014-01-28  361  	     ({ hctx = (q)->queue_hw_ctx[i]; 1; }); (i)++)
320ae51feed5c2f1 Jens Axboe        2013-10-24  362  
320ae51feed5c2f1 Jens Axboe        2013-10-24  363  #define hctx_for_each_ctx(hctx, ctx, i)					\
0d0b7d427987f6e9 Jose Alonso       2014-01-28  364  	for ((i) = 0; (i) < (hctx)->nr_ctx &&				\
0d0b7d427987f6e9 Jose Alonso       2014-01-28  365  	     ({ ctx = (hctx)->ctxs[(i)]; 1; }); (i)++)
320ae51feed5c2f1 Jens Axboe        2013-10-24  366  
7b7ab780a048699d Sagi Grimberg     2018-12-14  367  static inline blk_qc_t request_to_qc_t(struct blk_mq_hw_ctx *hctx,
7b7ab780a048699d Sagi Grimberg     2018-12-14  368  		struct request *rq)
7b7ab780a048699d Sagi Grimberg     2018-12-14  369  {
7b7ab780a048699d Sagi Grimberg     2018-12-14  370  	if (rq->tag != -1)
7b7ab780a048699d Sagi Grimberg     2018-12-14  371  		return rq->tag | (hctx->queue_num << BLK_QC_T_SHIFT);
7b7ab780a048699d Sagi Grimberg     2018-12-14  372  
7b7ab780a048699d Sagi Grimberg     2018-12-14 @373  	return rq->internal_tag | (hctx->queue_num << BLK_QC_T_SHIFT) |
7b7ab780a048699d Sagi Grimberg     2018-12-14  374  			BLK_QC_T_INTERNAL;
7b7ab780a048699d Sagi Grimberg     2018-12-14  375  }
7b7ab780a048699d Sagi Grimberg     2018-12-14  376  

:::::: The code@line 271 was first introduced by commit
:::::: 9a95e4ef709533efac4aafcb8bddf73f96db50ed block, nvme: Introduce blk_mq_req_flags_t

:::::: TO: Bart Van Assche <bart.vanassche@wdc.com>
:::::: CC: Jens Axboe <axboe@kernel.dk>

---
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: 29298 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-01-22  3:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-22  3:50 [freescale-fslc:pr/78 283/3687] include/linux/blk-mq.h:271:36: sparse: sparse: bad constant expression type kernel test robot

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.