All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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 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.