All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] usb: xhci: add struct devrequest declaration
Date: Fri, 06 May 2016 18:40:17 +0200	[thread overview]
Message-ID: <572CC8F1.30808@denx.de> (raw)
In-Reply-To: <CAK7LNATUiGizTWYB6_cUGHUS6e+B5GuFidTjG6YVrdRyrFKXcw@mail.gmail.com>

On 05/06/2016 01:31 PM, Masahiro Yamada wrote:
> Hi Marek,

Hi!

> 2016-05-06 19:50 GMT+09:00 Marek Vasut <marex@denx.de>:
>> On 05/06/2016 12:36 PM, Masahiro Yamada wrote:
>>> This should be declared for xhci_ctrl_tx() to avoid build error.
>>
>> Can you please include the build error in the commit message ?
>> That is extremely useful.
>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> ---
>>>
>>>  drivers/usb/host/xhci.h | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
>>> index 2afa386..16dd61a 100644
>>> --- a/drivers/usb/host/xhci.h
>>> +++ b/drivers/usb/host/xhci.h
>>> @@ -1252,6 +1252,8 @@ void xhci_acknowledge_event(struct xhci_ctrl *ctrl);
>>>  union xhci_trb *xhci_wait_for_event(struct xhci_ctrl *ctrl, trb_type expected);
>>>  int xhci_bulk_tx(struct usb_device *udev, unsigned long pipe,
>>>                int length, void *buffer);
>>> +
>>> +struct devrequest;
>>
>> I don't think that's the right thing to do, since the structure
>> devrequest is not defined anywhere in this file or the headers
>> which are included in this file.
>>
>> Will this patch work for you instead? It includes usb.h , which
>> defines the struct devrequest.
> 
> Of course, works.
> But why?

Because you want to have definition of every symbol you use in your
headers when you include that header. I am not a big fan of huge stack
of #include statements in a driver.

> xhci_ctrl_tx() only takes a pointer to struct devrequest.
> 
> This header does not need to know
> the members of struct devrequest, or sizeof(struct devrequest).
> 
> We need to teach it that devrequest is a structure.
> That's enough.
> 
> 
> This is a very common way to fix
> "warning: 'struct devrequest' declared inside parameter list" error.
> 
> For example,
> 
> head -25 include/linux/clk.h
> head -30 include/linux/pinctrl/pinctrl.h
> 
> in Linux Kernel.

Ha, I didn't know about that. Is that some new recommended practice or
is this a matter of taste ?

CCing Tom and Simon, so I can get some more input on this. I cannot
decide either way myself.

>> --->8---
>> diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
>> index 2afa386..b5a2ea5 100644
>> --- a/drivers/usb/host/xhci.h
>> +++ b/drivers/usb/host/xhci.h
>> @@ -22,6 +22,7 @@
>>  #include <asm/io.h>
>>  #include <linux/list.h>
>>  #include <linux/compat.h>
>> +#include <usb.h>
>>
>>  #define MAX_EP_CTX_NUM         31
>>  #define XHCI_ALIGNMENT         64
>> ---8<---
>>
>>>  int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
>>>                struct devrequest *req, int length, void *buffer);
>>>  int xhci_check_maxpacket(struct usb_device *udev);
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
> 
> 
> 


-- 
Best regards,
Marek Vasut

  reply	other threads:[~2016-05-06 16:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-06 10:36 [U-Boot] [PATCH] usb: xhci: add struct devrequest declaration Masahiro Yamada
2016-05-06 10:50 ` Marek Vasut
2016-05-06 11:31   ` Masahiro Yamada
2016-05-06 16:40     ` Marek Vasut [this message]
2016-05-11 11:03       ` Masahiro Yamada
2016-05-11 11:22         ` Marek Vasut
2016-05-12  3:36           ` Masahiro Yamada
2016-05-12 11:42             ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=572CC8F1.30808@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.