CC: [email protected]
TO: Otavio Salvador <[email protected]>

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 <[email protected]>


"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 at line 271 was first introduced by commit
:::::: 9a95e4ef709533efac4aafcb8bddf73f96db50ed block, nvme: Introduce 
blk_mq_req_flags_t

:::::: TO: Bart Van Assche <[email protected]>
:::::: CC: Jens Axboe <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to