
Hi Rodolfo,
Rodolfo Giometti giometti@linux.it writes:
On Wed, May 31, 2006 at 10:43:13AM +0200, Markus Klotzbücher wrote:
I have currently adapted the monahans, the at91rm9200, and the s3c24x0 cpus to use the generic driver. Please note that I used the cpu/arm920t/at91rm9200/usb_ohci.[hc] driver as a starting point for the generic driver.
File usb_ohci.h is quite the same, but usb_ohci.c has some differences. I decided to start from "cpu/mpc5xxx/usb_ohci.c" since it seemed to have a better events handling. Please, see submit_common_msg() at comment "NOTE: since we are not interrupt driven in U-Boot..." or have a look at:
Yes, the s3c24x0 also uses this, and for now I included it (see S3C24X0_merge #define), although I'm not sure this is really necessary. At least the TRAB board worked fine without. Let's keep it for now.
diff -Ebu cpu/arm920t/at91rm9200/usb_ohci.c cpu/mpc5xxx/usb_ohci.c
where you can better see the new variable "urb_finished".
However my mayor changes was about substitution of m16_swap() with proper ohci_cpu_to_le16() (and similar) and in adding virt_to_phys() and phys_to_virt() functions where needed (see my last patch for au1x00).
I understand that the virt_to_phys() are required, but why do you need the ohci_cpu_to_le16 macros? They seem to be the same as the m16_swap, m32_swap macros?
Your patch looks fine, but would you mind resubmitting it against the USB testing branch using the generic driver (drivers/usb_ohci.c) ?
I'll do it ASAP.
Thanks!
Regards
Markus Klotzbuecher