On Fri, 20 Feb 2004, Benjamin Herrenschmidt wrote:
> 
> Yes, but we don't have a hook for actually filling this pointer, do we ?

Well, we do. The pcibios_xxx routines get called for all PCI devices 
during discovery, and that's when you'd fill them in.

Anyway, I found the bug - the "asm-generic/dma-mapping.h" compatibility 
macros _do_ work, but the EHCI controller driver doesn't actually include 
that header file. Oops.

> We should have a way, when creating a device, to fill it properly, like
> 
> platform_device_setup(struct device *new_dev, struct device *parent)

No no. That wouldn't work AT ALL, since the whole point is that you need 
to know what the device is - ie you need to fill in the information when 
you get the "struct pci_dev *" (because different buses would most likely 
have different behaviour, and could have different requirements for DMA 
mapping etc). 

So the platform code that actually knows what the device is (pcibios_xxx 
for PCI devices) would fill in the platform pointer.

Anyway, I got it all working with the trivial patch..

===== drivers/usb/host/ehci-hcd.c 1.67 vs edited =====
--- 1.67/drivers/usb/host/ehci-hcd.c    Wed Feb 11 03:42:39 2004
+++ edited/drivers/usb/host/ehci-hcd.c  Thu Feb 19 22:42:53 2004
@@ -41,6 +41,7 @@
 #include <linux/reboot.h>
 #include <linux/usb.h>
 #include <linux/moduleparam.h>
+#include <linux/dma-mapping.h>
 
 #include "../core/hcd.h"
 

so this works for now, even though it's really really ugly (and it _will_
BUG() out if anybody ever passes a non-PCI-related "struct device" to the
thing).

Let's see if it boots too. So far it's only compiled successfully ;)

                Linus


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to