On 09/19/2016 12:18 AM, Stephen Rothwell wrote:
After merging the block tree, today's linux-next build (powerpc
allnoconfig) failed like this:
In file included from block/blk-mq-pci.c:13:0:
include/linux/blk-mq.h:57:18: error: field 'kobj' has incomplete type
struct kobject kobj;
include/linux/blk-mq.h:121:2: error: unknown type name 'softirq_done_fn'
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:253:22: error: invalid application of 'sizeof' to
incomplete type 'struct request'
return pdu - sizeof(struct request);
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:257:2: error: invalid use of undefined type 'struct
return rq + 1;
Caused by commit
973c4e372c8f ("blk-mq: provide a default queue mapping for PCI device")
include/linux/blk-mq.h does not include all the headers files that it
depends on, and building block/blk-mq-pci.c should depend on CONFIG_BLOCK.
I applied this fix patch (the block/blk-mq-pci.c may not be becessary):
Added, thanks Stephen.