Linux-XFS Archive on lore.kernel.org
 help / color / Atom feed
* [xfs-linux:iomap-for-next 3/12] include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
@ 2019-09-07 15:52 kbuild test robot
  2019-09-08 21:38 ` Dave Chinner
  0 siblings, 1 reply; 3+ messages in thread
From: kbuild test robot @ 2019-09-07 15:52 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: kbuild-all, linux-xfs, Darrick J. Wong

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

tree:   https://kernel.googlesource.com/pub/scm/fs/xfs/xfs-linux.git iomap-for-next
head:   68494b8e248fe8a7b6e9f88edd9a87661760ddb9
commit: 4b45a4b5c1f5f52728cec1ce60a3a8f5bb9521b4 [3/12] iomap: add tracing for the address space operations
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 4b45a4b5c1f5f52728cec1ce60a3a8f5bb9521b4
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=nds32 

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

All warnings (new ones prefixed by >>):

   In file included from include/trace/events/iomap.h:15,
                    from <command-line>:
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:52:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_writepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:53:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_releasepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:249:38: note: in definition of macro '__DECLARE_TRACE'
     register_trace_##name(void (*probe)(data_proto), void *data) \
                                         ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:255:43: note: in definition of macro '__DECLARE_TRACE'
     register_trace_prio_##name(void (*probe)(data_proto), void *data,\
                                              ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:262:40: note: in definition of macro '__DECLARE_TRACE'
     unregister_trace_##name(void (*probe)(data_proto), void *data) \
                                           ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
>> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                                          ^~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
                     ^~~~~
   include/linux/tracepoint.h:268:46: note: in definition of macro '__DECLARE_TRACE'
     check_trace_callback_type_##name(void (*cb)(data_proto)) \
                                                 ^~~~~~~~~~
   include/linux/tracepoint.h:398:4: note: in expansion of macro 'PARAMS'
       PARAMS(void *__data, proto),   \
       ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:48:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_page_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:49:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
     ^~~~~~~~
   include/trace/events/iomap.h:54:1: note: in expansion of macro 'DEFINE_PAGE_EVENT'
    DEFINE_PAGE_EVENT(iomap_invalidatepage);
    ^~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:77:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, int nr_pages), \
                     ^~~~~
   include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
     static inline void trace_##name(proto)    \
                                     ^~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:76:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_readpage_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:77:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, int nr_pages), \
     ^~~~~~~~
   include/trace/events/iomap.h:79:1: note: in expansion of macro 'DEFINE_READPAGE_EVENT'
    DEFINE_READPAGE_EVENT(iomap_readpage);
    ^~~~~~~~~~~~~~~~~~~~~
   include/trace/events/iomap.h:77:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
     TP_PROTO(struct inode *inode, int nr_pages), \
                     ^~~~~
   include/linux/tracepoint.h:207:44: note: in definition of macro '__DECLARE_TRACE_RCU'
     static inline void trace_##name##_rcuidle(proto)  \
                                               ^~~~~
   include/linux/tracepoint.h:246:28: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE_RCU(name, PARAMS(proto), PARAMS(args),  \
                               ^~~~~~
   include/linux/tracepoint.h:396:2: note: in expansion of macro '__DECLARE_TRACE'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
     ^~~~~~~~~~~~~~~
   include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
     __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
                           ^~~~~~
   include/linux/tracepoint.h:521:2: note: in expansion of macro 'DECLARE_TRACE'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
     ^~~~~~~~~~~~~
   include/linux/tracepoint.h:521:22: note: in expansion of macro 'PARAMS'
     DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
                         ^~~~~~
   include/trace/events/iomap.h:76:1: note: in expansion of macro 'DEFINE_EVENT'
    DEFINE_EVENT(iomap_readpage_class, name, \
    ^~~~~~~~~~~~
   include/trace/events/iomap.h:77:2: note: in expansion of macro 'TP_PROTO'
     TP_PROTO(struct inode *inode, int nr_pages), \
     ^~~~~~~~
   include/trace/events/iomap.h:79:1: note: in expansion of macro 'DEFINE_READPAGE_EVENT'
    DEFINE_READPAGE_EVENT(iomap_readpage);

vim +49 include/trace/events/iomap.h

    14	
  > 15	#include <linux/tracepoint.h>
    16	
    17	DECLARE_EVENT_CLASS(iomap_page_class,
    18		TP_PROTO(struct inode *inode, struct page *page, unsigned long off,
    19			 unsigned int len),
    20		TP_ARGS(inode, page, off, len),
    21		TP_STRUCT__entry(
    22			__field(dev_t, dev)
    23			__field(u64, ino)
    24			__field(pgoff_t, pgoff)
    25			__field(loff_t, size)
    26			__field(unsigned long, offset)
    27			__field(unsigned int, length)
    28		),
    29		TP_fast_assign(
    30			__entry->dev = inode->i_sb->s_dev;
    31			__entry->ino = inode->i_ino;
    32			__entry->pgoff = page_offset(page);
    33			__entry->size = i_size_read(inode);
    34			__entry->offset = off;
    35			__entry->length = len;
    36		),
    37		TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx "
    38			  "length %x",
    39			  MAJOR(__entry->dev), MINOR(__entry->dev),
    40			  __entry->ino,
    41			  __entry->pgoff,
    42			  __entry->size,
    43			  __entry->offset,
    44			  __entry->length)
    45	)
    46	
    47	#define DEFINE_PAGE_EVENT(name)		\
    48	DEFINE_EVENT(iomap_page_class, name,	\
  > 49		TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
    50			 unsigned int len),	\
    51		TP_ARGS(inode, page, off, len))
    52	DEFINE_PAGE_EVENT(iomap_writepage);
    53	DEFINE_PAGE_EVENT(iomap_releasepage);
    54	DEFINE_PAGE_EVENT(iomap_invalidatepage);
    55	

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [xfs-linux:iomap-for-next 3/12] include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
  2019-09-07 15:52 [xfs-linux:iomap-for-next 3/12] include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration kbuild test robot
@ 2019-09-08 21:38 ` Dave Chinner
  2019-09-10  6:47   ` Christoph Hellwig
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Chinner @ 2019-09-08 21:38 UTC (permalink / raw)
  To: kbuild test robot
  Cc: Christoph Hellwig, kbuild-all, linux-xfs, Darrick J. Wong

On Sat, Sep 07, 2019 at 11:52:49PM +0800, kbuild test robot wrote:
> tree:   https://kernel.googlesource.com/pub/scm/fs/xfs/xfs-linux.git iomap-for-next
> head:   68494b8e248fe8a7b6e9f88edd9a87661760ddb9
> commit: 4b45a4b5c1f5f52728cec1ce60a3a8f5bb9521b4 [3/12] iomap: add tracing for the address space operations
> config: nds32-allyesconfig (attached as .config)
> compiler: nds32le-linux-gcc (GCC) 8.1.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 4b45a4b5c1f5f52728cec1ce60a3a8f5bb9521b4
>         # save the attached .config to linux build tree
>         GCC_VERSION=8.1.0 make.cross ARCH=nds32 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from include/trace/events/iomap.h:15,
>                     from <command-line>:
> >> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
>      TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \

The only file that includes trace/events/iomap.h most definitely
has already defined struct page, and


>    include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
>      TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
>                      ^~~~~

struct inode as well. 

So I'm not sure where the error is actually coming from, nor why it
might only be generated by an obscure architecture (I've never heard
of nds32 until now).

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [xfs-linux:iomap-for-next 3/12] include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
  2019-09-08 21:38 ` Dave Chinner
@ 2019-09-10  6:47   ` Christoph Hellwig
  0 siblings, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2019-09-10  6:47 UTC (permalink / raw)
  To: Dave Chinner
  Cc: kbuild test robot, Christoph Hellwig, kbuild-all, linux-xfs,
	Darrick J. Wong

On Mon, Sep 09, 2019 at 07:38:53AM +1000, Dave Chinner wrote:
> >    In file included from include/trace/events/iomap.h:15,
> >                     from <command-line>:
> > >> include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
> >      TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
> 
> The only file that includes trace/events/iomap.h most definitely
> has already defined struct page, and
> 
> 
> >    include/trace/events/iomap.h:49:18: warning: 'struct inode' declared inside parameter list will not be visible outside of this definition or declaration
> >      TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
> >                      ^~~~~
> 
> struct inode as well. 
> 
> So I'm not sure where the error is actually coming from, nor why it
> might only be generated by an obscure architecture (I've never heard
> of nds32 until now).

This looks like the magic code that ensures every header can be compiled
standalone.  Which so far hasn't helped anything but caused tons of
pointless warnings.

That being said adding a couple struct forward declarations seems like
and easy way to shut it up here.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-07 15:52 [xfs-linux:iomap-for-next 3/12] include/trace/events/iomap.h:49:39: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration kbuild test robot
2019-09-08 21:38 ` Dave Chinner
2019-09-10  6:47   ` Christoph Hellwig

Linux-XFS Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-xfs/0 linux-xfs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-xfs linux-xfs/ https://lore.kernel.org/linux-xfs \
		linux-xfs@vger.kernel.org linux-xfs@archiver.kernel.org
	public-inbox-index linux-xfs


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-xfs


AGPL code for this site: git clone https://public-inbox.org/ public-inbox