From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Vegard Nossum <vegard.nossum@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
John Youn <johnyoun@synopsys.com>,
Richard Weinberger <richard@nod.at>,
James McMechan <James_McMechan@hotmail.com>,
Alan Stern <stern@rowland.harvard.edu>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
USB list <linux-usb@vger.kernel.org>,
uml-devel <user-mode-linux-devel@lists.sourceforge.net>
Subject: Re: [PATCH 1/3] usb: core: Allow compilation on platforms where NO_DMA=y
Date: Mon, 15 Feb 2016 13:28:39 +0100 [thread overview]
Message-ID: <CAMuHMdVxNS1_coU6EPZcHYKZqGnOPDmHq9_aQGa08jLNP55Nhg@mail.gmail.com> (raw)
In-Reply-To: <56C1BB63.9070906@oracle.com>
Hi Vegard,
On Mon, Feb 15, 2016 at 12:49 PM, Vegard Nossum
<vegard.nossum@oracle.com> wrote:
> On 02/15/2016 12:21 PM, Geert Uytterhoeven wrote:
>> If NO_DMA=y:
>>
>> ERROR: "dma_pool_destroy" [drivers/usb/core/usbcore.ko] undefined!
>> ERROR: "bad_dma_ops" [drivers/usb/core/usbcore.ko] undefined!
>> ERROR: "dma_pool_free" [drivers/usb/core/usbcore.ko] undefined!
>> ERROR: "dma_pool_alloc" [drivers/usb/core/usbcore.ko] undefined!
>> ERROR: "dma_pool_create" [drivers/usb/core/usbcore.ko] undefined!
>>
>> Add a few checks for CONFIG_HAS_DMA to fix this.
>>
>> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
>> ---
>> drivers/usb/core/buffer.c | 18 ++++++++++++------
>> drivers/usb/core/hcd.c | 14 ++++++++++----
>> 2 files changed, 22 insertions(+), 10 deletions(-)
>>
>
> This does look nicer than my patch.
I'm happy you like it ;-)
>> --- a/drivers/usb/core/hcd.c
>> +++ b/drivers/usb/core/hcd.c
>> @@ -1408,12 +1408,15 @@ static void hcd_free_coherent(struct usb_bus *bus,
>> dma_addr_t *dma_handle,
>>
>> void usb_hcd_unmap_urb_setup_for_dma(struct usb_hcd *hcd, struct urb
>> *urb)
>> {
>> +#ifdef CONFIG_HAS_DMA
>> if (urb->transfer_flags & URB_SETUP_MAP_SINGLE)
>> dma_unmap_single(hcd->self.controller,
>> urb->setup_dma,
>> sizeof(struct usb_ctrlrequest),
>> DMA_TO_DEVICE);
>> - else if (urb->transfer_flags & URB_SETUP_MAP_LOCAL)
>> + else
>> +#endif /* CONFIG_HAS_DMA */
>> + if (urb->transfer_flags & URB_SETUP_MAP_LOCAL)
>
>
> Why not use IS_ENABLED() here as well instead of the ifdef?
This used to be needed, else the calls to e.g. dma_unmap_single() would
still cause link errors.
This no longer seems to be the case (I told you this was a patch set I started
a while ago ;-), probably due to the recent dma_map_ops conversion.
Will update.
> Assuming this still lets the platform actually run USB drivers (which it
> looks like it does -- I still have to test it), then I'm all for it. You
Please give it a try and let me know, as I'm not in a position to test-run
this on Sun-3.
> may want to steal parts of the commit description for my last patch to
> include that this actually allows using USB on UML and the references to
> the discussion.
Thanks, will do!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2016-02-15 12:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-15 11:21 [PATCH 0/3] usb: Allow compilation on platforms where NO_DMA=y Geert Uytterhoeven
2016-02-15 11:21 ` [PATCH 1/3] usb: core: " Geert Uytterhoeven
2016-02-15 11:49 ` Vegard Nossum
2016-02-15 12:28 ` Geert Uytterhoeven [this message]
2016-02-15 20:38 ` Vegard Nossum
2016-02-16 12:35 ` Vegard Nossum
2016-02-15 11:21 ` [PATCH 2/3] usb: host: Some host drivers should depend on HAS_DMA Geert Uytterhoeven
2016-02-15 11:21 ` [PATCH 3/3] usb: dwc2: USB_DWC2 " Geert Uytterhoeven
2016-02-15 23:21 ` John Youn
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=CAMuHMdVxNS1_coU6EPZcHYKZqGnOPDmHq9_aQGa08jLNP55Nhg@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=James_McMechan@hotmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=johnyoun@synopsys.com \
--cc=linux-usb@vger.kernel.org \
--cc=richard@nod.at \
--cc=schwidefsky@de.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=user-mode-linux-devel@lists.sourceforge.net \
--cc=vegard.nossum@oracle.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).