Re: [RFT/PATCH 35/38] usb: dwc3: gadget: combine modify & restore into single argument

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Felipe,

I love your patch! Perhaps something to improve:

[auto build test WARNING on balbi-usb/next]
[also build test WARNING on next-20180409]
[cannot apply to v4.16]
[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/Felipe-Balbi/usb-dwc3-gadget-Rework-Refactoring/20180409-204052
base:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git next
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   include/net/mac80211.h:2083: warning: bad line: >
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info'
   kernel/sched/fair.c:3731: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg'
   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'
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -function request_firmware drivers/base/firmware_class.c' failed with return code 1
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -function request_firmware_direct drivers/base/firmware_class.c' failed with return code 1
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -function request_firmware_into_buf drivers/base/firmware_class.c' failed with return code 1
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -function request_firmware_nowait drivers/base/firmware_class.c' failed with return code 1
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -function firmware_request_cache drivers/base/firmware_class.c' failed with return code 1
   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
   Error: Cannot open file drivers/base/firmware_class.c
   Error: Cannot open file drivers/base/firmware_class.c
   WARNING: kernel-doc 'scripts/kernel-doc -rst -enable-lineno -export drivers/base/firmware_class.c' failed with return code 2
   include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry'
   include/linux/mtd/rawnand.h:752: warning: Function parameter or member 'timings.sdr' not described in 'nand_data_interface'
   include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf.in' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:817: warning: Function parameter or member 'buf.out' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.cmd' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.data' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:863: warning: Function parameter or member 'ctx.waitrdy' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:1010: warning: Function parameter or member 'ctx' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:1010: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:1010: warning: Function parameter or member 'ctx.data' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:1313: warning: Function parameter or member 'manufacturer.desc' not described in 'nand_chip'
   include/linux/mtd/rawnand.h:1313: warning: Function parameter or member 'manufacturer.priv' not described in 'nand_chip'
   include/linux/regulator/driver.h:222: warning: Function parameter or member 'resume_early' not described in 'regulator_ops'
   drivers/regulator/core.c:4306: 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'
>> drivers/usb/dwc3/gadget.c:611: warning: Function parameter or member 'action' not described in '__dwc3_gadget_ep_enable'
   drivers/usb/dwc3/gadget.c:611: warning: Excess function parameter 'modify' description in '__dwc3_gadget_ep_enable'
   drivers/usb/dwc3/gadget.c:611: warning: Excess function parameter 'restore' description in '__dwc3_gadget_ep_enable'
   drivers/usb/typec/mux.c:186: warning: Function parameter or member 'mux' not described in 'typec_mux_unregister'
   drivers/usb/typec/mux.c:186: warning: Excess function parameter 'sw' description in 'typec_mux_unregister'

vim +611 drivers/usb/dwc3/gadget.c

72246da40 Felipe Balbi    2011-08-19  599  
72246da40 Felipe Balbi    2011-08-19  600  /**
bfad65ee9 Felipe Balbi    2017-04-19  601   * __dwc3_gadget_ep_enable - initializes a hw endpoint
72246da40 Felipe Balbi    2011-08-19  602   * @dep: endpoint to be initialized
bfad65ee9 Felipe Balbi    2017-04-19  603   * @modify: if true, modify existing endpoint configuration
bfad65ee9 Felipe Balbi    2017-04-19  604   * @restore: if true, restore endpoint configuration from scratch buffer
72246da40 Felipe Balbi    2011-08-19  605   *
bfad65ee9 Felipe Balbi    2017-04-19  606   * Caller should take care of locking. Execute all necessary commands to
bfad65ee9 Felipe Balbi    2017-04-19  607   * initialize a HW endpoint so it can be used by a gadget driver.
72246da40 Felipe Balbi    2011-08-19  608   */
b00b04015 Felipe Balbi    2018-04-09  609  static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep, unsigned int action)
72246da40 Felipe Balbi    2011-08-19  610  {
39ebb05ca John Youn       2016-11-09 @611  	const struct usb_endpoint_descriptor *desc = dep->endpoint.desc;
72246da40 Felipe Balbi    2011-08-19  612  	struct dwc3		*dwc = dep->dwc;
39ebb05ca John Youn       2016-11-09  613  
72246da40 Felipe Balbi    2011-08-19  614  	u32			reg;
b09e99ee7 Andy Shevchenko 2014-05-15  615  	int			ret;
72246da40 Felipe Balbi    2011-08-19  616  
72246da40 Felipe Balbi    2011-08-19  617  	if (!(dep->flags & DWC3_EP_ENABLED)) {
72246da40 Felipe Balbi    2011-08-19  618  		ret = dwc3_gadget_start_config(dwc, dep);
72246da40 Felipe Balbi    2011-08-19  619  		if (ret)
72246da40 Felipe Balbi    2011-08-19  620  			return ret;
72246da40 Felipe Balbi    2011-08-19  621  	}
72246da40 Felipe Balbi    2011-08-19  622  
b00b04015 Felipe Balbi    2018-04-09  623  	ret = dwc3_gadget_set_ep_config(dwc, dep, action);
72246da40 Felipe Balbi    2011-08-19  624  	if (ret)
72246da40 Felipe Balbi    2011-08-19  625  		return ret;
72246da40 Felipe Balbi    2011-08-19  626  
72246da40 Felipe Balbi    2011-08-19  627  	if (!(dep->flags & DWC3_EP_ENABLED)) {
f6bafc6a1 Felipe Balbi    2012-02-06  628  		struct dwc3_trb	*trb_st_hw;
f6bafc6a1 Felipe Balbi    2012-02-06  629  		struct dwc3_trb	*trb_link;
72246da40 Felipe Balbi    2011-08-19  630  
72246da40 Felipe Balbi    2011-08-19  631  		dep->type = usb_endpoint_type(desc);
72246da40 Felipe Balbi    2011-08-19  632  		dep->flags |= DWC3_EP_ENABLED;
76a638f8a Baolin Wang     2016-10-31  633  		dep->flags &= ~DWC3_EP_END_TRANSFER_PENDING;
72246da40 Felipe Balbi    2011-08-19  634  
72246da40 Felipe Balbi    2011-08-19  635  		reg = dwc3_readl(dwc->regs, DWC3_DALEPENA);
72246da40 Felipe Balbi    2011-08-19  636  		reg |= DWC3_DALEPENA_EP(dep->number);
72246da40 Felipe Balbi    2011-08-19  637  		dwc3_writel(dwc->regs, DWC3_DALEPENA, reg);
72246da40 Felipe Balbi    2011-08-19  638  
76a638f8a Baolin Wang     2016-10-31  639  		init_waitqueue_head(&dep->wait_end_transfer);
76a638f8a Baolin Wang     2016-10-31  640  
36b68aae8 Felipe Balbi    2016-04-05  641  		if (usb_endpoint_xfer_control(desc))
2870e5013 Felipe Balbi    2016-11-03  642  			goto out;
72246da40 Felipe Balbi    2011-08-19  643  
0d25744ad John Youn       2016-05-19  644  		/* Initialize the TRB ring */
0d25744ad John Youn       2016-05-19  645  		dep->trb_dequeue = 0;
0d25744ad John Youn       2016-05-19  646  		dep->trb_enqueue = 0;
0d25744ad John Youn       2016-05-19  647  		memset(dep->trb_pool, 0,
0d25744ad John Youn       2016-05-19  648  		       sizeof(struct dwc3_trb) * DWC3_TRB_NUM);
0d25744ad John Youn       2016-05-19  649  
36b68aae8 Felipe Balbi    2016-04-05  650  		/* Link TRB. The HWO bit is never reset */
72246da40 Felipe Balbi    2011-08-19  651  		trb_st_hw = &dep->trb_pool[0];
72246da40 Felipe Balbi    2011-08-19  652  
f6bafc6a1 Felipe Balbi    2012-02-06  653  		trb_link = &dep->trb_pool[DWC3_TRB_NUM - 1];
f6bafc6a1 Felipe Balbi    2012-02-06  654  		trb_link->bpl = lower_32_bits(dwc3_trb_dma_offset(dep, trb_st_hw));
f6bafc6a1 Felipe Balbi    2012-02-06  655  		trb_link->bph = upper_32_bits(dwc3_trb_dma_offset(dep, trb_st_hw));
f6bafc6a1 Felipe Balbi    2012-02-06  656  		trb_link->ctrl |= DWC3_TRBCTL_LINK_TRB;
f6bafc6a1 Felipe Balbi    2012-02-06  657  		trb_link->ctrl |= DWC3_TRB_CTRL_HWO;
72246da40 Felipe Balbi    2011-08-19  658  	}
72246da40 Felipe Balbi    2011-08-19  659  
a97ea9946 Felipe Balbi    2016-09-29  660  	/*
a97ea9946 Felipe Balbi    2016-09-29  661  	 * Issue StartTransfer here with no-op TRB so we can always rely on No
a97ea9946 Felipe Balbi    2016-09-29  662  	 * Response Update Transfer command.
a97ea9946 Felipe Balbi    2016-09-29  663  	 */
94336cb42 Felipe Balbi    2018-04-09  664  	if (usb_endpoint_xfer_bulk(desc) ||
94336cb42 Felipe Balbi    2018-04-09  665  			usb_endpoint_xfer_int(desc)) {
a97ea9946 Felipe Balbi    2016-09-29  666  		struct dwc3_gadget_ep_cmd_params params;
a97ea9946 Felipe Balbi    2016-09-29  667  		struct dwc3_trb	*trb;
a97ea9946 Felipe Balbi    2016-09-29  668  		dma_addr_t trb_dma;
a97ea9946 Felipe Balbi    2016-09-29  669  		u32 cmd;
a97ea9946 Felipe Balbi    2016-09-29  670  
a97ea9946 Felipe Balbi    2016-09-29  671  		memset(&params, 0, sizeof(params));
a97ea9946 Felipe Balbi    2016-09-29  672  		trb = &dep->trb_pool[0];
a97ea9946 Felipe Balbi    2016-09-29  673  		trb_dma = dwc3_trb_dma_offset(dep, trb);
a97ea9946 Felipe Balbi    2016-09-29  674  
a97ea9946 Felipe Balbi    2016-09-29  675  		params.param0 = upper_32_bits(trb_dma);
a97ea9946 Felipe Balbi    2016-09-29  676  		params.param1 = lower_32_bits(trb_dma);
a97ea9946 Felipe Balbi    2016-09-29  677  
a97ea9946 Felipe Balbi    2016-09-29  678  		cmd = DWC3_DEPCMD_STARTTRANSFER;
a97ea9946 Felipe Balbi    2016-09-29  679  
a97ea9946 Felipe Balbi    2016-09-29  680  		ret = dwc3_send_gadget_ep_cmd(dep, cmd, &params);
a97ea9946 Felipe Balbi    2016-09-29  681  		if (ret < 0)
a97ea9946 Felipe Balbi    2016-09-29  682  			return ret;
a97ea9946 Felipe Balbi    2016-09-29  683  
a97ea9946 Felipe Balbi    2016-09-29  684  		dep->resource_index = dwc3_gadget_ep_get_transfer_index(dep);
a97ea9946 Felipe Balbi    2016-09-29  685  		WARN_ON_ONCE(!dep->resource_index);
a97ea9946 Felipe Balbi    2016-09-29  686  	}
a97ea9946 Felipe Balbi    2016-09-29  687  
2870e5013 Felipe Balbi    2016-11-03  688  out:
2870e5013 Felipe Balbi    2016-11-03  689  	trace_dwc3_gadget_ep_enable(dep);
2870e5013 Felipe Balbi    2016-11-03  690  
72246da40 Felipe Balbi    2011-08-19  691  	return 0;
72246da40 Felipe Balbi    2011-08-19  692  }
72246da40 Felipe Balbi    2011-08-19  693  

:::::: The code at line 611 was first introduced by commit
:::::: 39ebb05ca83dc636f9c9159b3c6dbc58c932b26a usb: dwc3: gadget: Remove descriptor arguments to ep_enable

:::::: TO: John Youn <johnyoun@xxxxxxxxxxxx>
:::::: CC: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux