Hi David, I love your patch! Perhaps something to improve: [auto build test WARNING on v4.16-rc7] [cannot apply to linus/master tip/x86/core tip/locking/core v4.16 next-20180329] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Howells/C-Convert-the-kernel-to-C/20180402-120344 reproduce: make htmldocs All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/kernel.h:251: warning: cannot understand function prototype: 'template static inline T abs(T v) ' include/linux/kernel.h:251: warning: cannot understand function prototype: 'template static inline T abs(T v) ' arch/x86/include/asm/uaccess.h:177: warning: cannot understand function prototype: 'template static inline int get_user(VAL &x, TYPE ' arch/x86/include/asm/uaccess.h:219: warning: cannot understand function prototype: 'template static inline int put_user(VAL x, TYPE ' arch/x86/include/asm/uaccess.h:315: warning: cannot understand function prototype: 'template static inline int __get_user_unsafe_nozero(VAL &x, const TYPE int err=-EFAULT) ' arch/x86/include/asm/uaccess.h:366: warning: cannot understand function prototype: 'template static inline int __get_user_unsafe(VAL &x, const TYPE int err=-EFAULT) ' arch/x86/include/asm/uaccess.h:438: warning: cannot understand function prototype: 'template static inline int __get_user(VAL &x, const TYPE ' arch/x86/include/asm/uaccess.h:452: warning: cannot understand function prototype: 'template static inline int __put_user_unsafe(VAL x, TYPE int err=-EFAULT) ' arch/x86/include/asm/uaccess.h:521: warning: cannot understand function prototype: 'template static inline int __put_user(VAL x, TYPE int err=-EFAULT) ' arch/x86/include/asm/uaccess.h:540: warning: cannot understand function prototype: 'template static inline void get_user_ex(VAL &x, const TYPE ' arch/x86/include/asm/uaccess.h:587: warning: cannot understand function prototype: 'template static inline void put_user_ex(VAL x, TYPE ' include/linux/rcupdate.h:424: warning: cannot understand function prototype: 'template static inline void rcu_assign_pointer(T T ' include/linux/rcupdate.h:503: warning: cannot understand function prototype: 'template T bool c) ' include/linux/rcupdate.h:844: warning: cannot understand function prototype: 'template static inline void RCU_INIT_POINTER(T T ' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:477: warning: Function parameter or member 'cra_u.ablkcipher' not described in 'crypto_alg' include/linux/crypto.h:477: warning: Function parameter or member 'cra_u.blkcipher' not described in 'crypto_alg' include/linux/crypto.h:477: warning: Function parameter or member 'cra_u.cipher' not described in 'crypto_alg' include/linux/crypto.h:477: warning: Function parameter or member 'cra_u.compress' not described in 'crypto_alg' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' >> include/linux/crypto.h:1038: warning: Function parameter or member 'c' not described in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/linux/crypto.h:1038: warning: Excess function parameter 'compl' description in 'ablkcipher_request_set_callback' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.prev_bssid' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4129: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2263: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2263: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:950: warning: Function parameter or member 'rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:950: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:584: warning: Function parameter or member 'msdu' not described in 'sta_info' include/linux/kernel.h:252: warning: cannot understand function prototype: 'template static inline T abs(T v) ' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.sign' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.realbits' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.storagebits' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.shift' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.repeat' not described in 'iio_chan_spec' include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.endianness' not described in 'iio_chan_spec' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/device.h:294: warning: Function parameter or member 'coredump' not described in 'device_driver' include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' include/linux/mtd/rawnand.h:709: warning: Function parameter or member 'timings.sdr' not described in 'nand_data_interface' include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.in' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.out' not described in 'nand_op_data_instr' include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.cmd' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.data' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.waitrdy' not described in 'nand_op_instr' include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.data' not described in 'nand_op_parser_pattern_elem' include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.desc' not described in 'nand_chip' include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.priv' not described in 'nand_chip' include/linux/regulator/driver.h:221: warning: Function parameter or member 'resume_early' not described in 'regulator_ops' drivers/regulator/core.c:4299: warning: Excess function parameter 'state' description in 'regulator_suspend_late' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' vim +1038 include/linux/crypto.h 32e3983f Herbert Xu 2007-03-24 1009 f13ec330 Stephan Mueller 2014-11-12 1010 /** f13ec330 Stephan Mueller 2014-11-12 1011 * ablkcipher_request_set_callback() - set asynchronous callback function f13ec330 Stephan Mueller 2014-11-12 1012 * @req: request handle f13ec330 Stephan Mueller 2014-11-12 1013 * @flags: specify zero or an ORing of the flags f13ec330 Stephan Mueller 2014-11-12 1014 * CRYPTO_TFM_REQ_MAY_BACKLOG the request queue may back log and f13ec330 Stephan Mueller 2014-11-12 1015 * increase the wait queue beyond the initial maximum size; f13ec330 Stephan Mueller 2014-11-12 1016 * CRYPTO_TFM_REQ_MAY_SLEEP the request processing may sleep f13ec330 Stephan Mueller 2014-11-12 1017 * @compl: callback function pointer to be registered with the request handle f13ec330 Stephan Mueller 2014-11-12 1018 * @data: The data pointer refers to memory that is not used by the kernel f13ec330 Stephan Mueller 2014-11-12 1019 * crypto API, but provided to the callback function for it to use. Here, f13ec330 Stephan Mueller 2014-11-12 1020 * the caller can provide a reference to memory the callback function can f13ec330 Stephan Mueller 2014-11-12 1021 * operate on. As the callback function is invoked asynchronously to the f13ec330 Stephan Mueller 2014-11-12 1022 * related functionality, it may need to access data structures of the f13ec330 Stephan Mueller 2014-11-12 1023 * related functionality which can be referenced using this pointer. The f13ec330 Stephan Mueller 2014-11-12 1024 * callback function can access the memory via the "data" field in the f13ec330 Stephan Mueller 2014-11-12 1025 * crypto_async_request data structure provided to the callback function. f13ec330 Stephan Mueller 2014-11-12 1026 * f13ec330 Stephan Mueller 2014-11-12 1027 * This function allows setting the callback function that is triggered once the f13ec330 Stephan Mueller 2014-11-12 1028 * cipher operation completes. f13ec330 Stephan Mueller 2014-11-12 1029 * f13ec330 Stephan Mueller 2014-11-12 1030 * The callback function is registered with the ablkcipher_request handle and 0184cfe7 Stephan Mueller 2016-10-21 1031 * must comply with the following template:: f13ec330 Stephan Mueller 2014-11-12 1032 * f13ec330 Stephan Mueller 2014-11-12 1033 * void callback_function(struct crypto_async_request *req, int error) f13ec330 Stephan Mueller 2014-11-12 1034 */ 32e3983f Herbert Xu 2007-03-24 1035 static inline void ablkcipher_request_set_callback( 32e3983f Herbert Xu 2007-03-24 1036 struct ablkcipher_request *req, 72e380ca David Howells 2018-04-01 1037 u32 flags, crypto_completion_t c, void *data) 32e3983f Herbert Xu 2007-03-24 @1038 { 72e380ca David Howells 2018-04-01 1039 req->base.complete = c; 32e3983f Herbert Xu 2007-03-24 1040 req->base.data = data; 32e3983f Herbert Xu 2007-03-24 1041 req->base.flags = flags; 32e3983f Herbert Xu 2007-03-24 1042 } 32e3983f Herbert Xu 2007-03-24 1043 :::::: The code at line 1038 was first introduced by commit :::::: 32e3983fe590ac4cd70c7728eb330d43cef031a7 [CRYPTO] api: Add async block cipher interface :::::: TO: Herbert Xu :::::: CC: Herbert Xu --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation