Re: [PATCH 1/5] usb: chipidea: add usb charger detection support

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

 



Hi Li,

[auto build test ERROR on peter.chen-usb/ci-for-usb-next]
[also build test ERROR on v4.6-rc4 next-20160418]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Li-Jun/usb-chipidea-Add-usb-charger-detection-support/20160418-161638
base:   https://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb ci-for-usb-next
config: x86_64-randconfig-x001-201616 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

>> drivers/usb/chipidea/udc.c:1513:56: warning: 'struct usb_charger' declared inside parameter list
    static enum usb_charger_type ci_usb_charger_det(struct usb_charger *charger)
                                                           ^
>> drivers/usb/chipidea/udc.c:1513:56: warning: its scope is only this definition or declaration, which is probably not what you want
>> drivers/usb/chipidea/udc.c:1513:30: error: return type is an incomplete type
    static enum usb_charger_type ci_usb_charger_det(struct usb_charger *charger)
                                 ^
   drivers/usb/chipidea/udc.c: In function 'ci_usb_charger_det':
>> drivers/usb/chipidea/udc.c:1516:7: error: variable 'ret' has initializer but incomplete type
     enum usb_charger_type ret = UNKNOWN_TYPE;
          ^
>> drivers/usb/chipidea/udc.c:1516:30: error: 'UNKNOWN_TYPE' undeclared (first use in this function)
     enum usb_charger_type ret = UNKNOWN_TYPE;
                                 ^
   drivers/usb/chipidea/udc.c:1516:30: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/usb/chipidea/udc.c:1516:24: error: storage size of 'ret' isn't known
     enum usb_charger_type ret = UNKNOWN_TYPE;
                           ^
>> drivers/usb/chipidea/udc.c:1518:26: error: dereferencing pointer to incomplete type 'struct usb_charger'
     if (!charger || !charger->gadget)
                             ^
>> drivers/usb/chipidea/udc.c:1519:10: warning: 'return' with a value, in function returning void
      return ret;
             ^
>> drivers/usb/chipidea/udc.c:1524:4: error: invalid use of undefined type 'enum usb_charger_type'
       ret = ci->platdata->usb_charger_det(ci);
       ^
   drivers/usb/chipidea/udc.c:1526:12: warning: 'return' with a value, in function returning void
        return ret;
               ^
   drivers/usb/chipidea/udc.c:1535:4: error: invalid use of undefined type 'enum usb_charger_type'
       ret = ci->platdata->usb_charger_secondary_det(ci);
       ^
   drivers/usb/chipidea/udc.c:1541:9: warning: 'return' with a value, in function returning void
     return ret;
            ^
>> drivers/usb/chipidea/udc.c:1516:24: warning: unused variable 'ret' [-Wunused-variable]
     enum usb_charger_type ret = UNKNOWN_TYPE;
                           ^
   drivers/usb/chipidea/udc.c: In function 'ci_udc_vbus_session':
>> drivers/usb/chipidea/udc.c:1556:13: error: 'struct usb_gadget' has no member named 'charger'
     if (_gadget->charger && is_active)
                ^
>> drivers/usb/chipidea/udc.c:1557:3: error: implicit declaration of function 'usb_charger_detect_type' [-Werror=implicit-function-declaration]
      usb_charger_detect_type(_gadget->charger);
      ^
   drivers/usb/chipidea/udc.c:1557:34: error: 'struct usb_gadget' has no member named 'charger'
      usb_charger_detect_type(_gadget->charger);
                                     ^
   drivers/usb/chipidea/udc.c: In function 'udc_start':
   drivers/usb/chipidea/udc.c:1959:16: error: 'struct usb_gadget' has no member named 'charger'
     if (ci->gadget.charger && ci->platdata->usb_charger_det)
                   ^
   drivers/usb/chipidea/udc.c:1960:13: error: 'struct usb_gadget' has no member named 'charger'
      ci->gadget.charger->charger_detect = ci_usb_charger_det;
                ^
   drivers/usb/chipidea/udc.c: In function 'ci_hdrc_gadget_destroy':
   drivers/usb/chipidea/udc.c:1986:16: error: 'struct usb_gadget' has no member named 'charger'
     if (ci->gadget.charger)
                   ^
   drivers/usb/chipidea/udc.c:1987:13: error: 'struct usb_gadget' has no member named 'charger'
      ci->gadget.charger->charger_detect = NULL;
                ^
   cc1: some warnings being treated as errors

vim +1513 drivers/usb/chipidea/udc.c

  1507		.fifo_flush    = ep_fifo_flush,
  1508	};
  1509	
  1510	/******************************************************************************
  1511	 * GADGET block
  1512	 *****************************************************************************/
> 1513	static enum usb_charger_type ci_usb_charger_det(struct usb_charger *charger)
  1514	{
  1515		struct ci_hdrc *ci;
> 1516		enum usb_charger_type ret = UNKNOWN_TYPE;
  1517	
> 1518		if (!charger || !charger->gadget)
> 1519			return ret;
  1520	
  1521		ci = container_of(charger->gadget, struct ci_hdrc, gadget);
  1522		if (ci->vbus_active) {
  1523			if (ci->platdata->usb_charger_det) {
> 1524				ret = ci->platdata->usb_charger_det(ci);
  1525				if (ret != UNKNOWN_TYPE)
> 1526					return ret;
  1527			}
  1528	
  1529			if (ci->platdata->pull_dp_for_charger) {
  1530				hw_device_reset(ci);
  1531				hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS);
  1532			}
  1533	
  1534			if (ci->platdata->usb_charger_secondary_det)
  1535				ret = ci->platdata->usb_charger_secondary_det(ci);
  1536	
  1537			if (ci->platdata->pull_dp_for_charger)
  1538				hw_write(ci, OP_USBCMD, USBCMD_RS, 0);
  1539		}
  1540	
> 1541		return ret;
  1542	}
  1543	
  1544	static int ci_udc_vbus_session(struct usb_gadget *_gadget, int is_active)
  1545	{
  1546		struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
  1547		unsigned long flags;
  1548		int gadget_ready = 0;
  1549	
  1550		spin_lock_irqsave(&ci->lock, flags);
  1551		ci->vbus_active = is_active;
  1552		if (ci->driver)
  1553			gadget_ready = 1;
  1554		spin_unlock_irqrestore(&ci->lock, flags);
  1555	
> 1556		if (_gadget->charger && is_active)
> 1557			usb_charger_detect_type(_gadget->charger);
  1558	
  1559		if (gadget_ready) {
  1560			if (is_active) {

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

Attachment: .config.gz
Description: Binary data


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

  Powered by Linux