Hi,
Philipp Schmid wrote:
Thank you for sharing your patch with us. I've finally gotten around to merging your Nov 17 patch with my code base. It turned out to be too many changes to just merge your patch into my code base, so instead, I've started with your patch, applied my changes to it and then applied Olav's first patch on top of that. This time around, I've made sure to keep track of all the changes that I had to make to get this running on my PPC750 and kernel 2.6.6. I know you don't have a lot of bandwidth towards this driver now, but I would appreciate if you could briefly review the changes and import them on a case-by-case basis as you see fit. To make it easier for you, I am going to send you the files separately from this post, at different stages, so you can easily use a differencing tool to accept/reject individual changes. These changes should not impact the rest of you, but would allow me to share code / bug fixes with you more easily.
I've broken the changes into the following sections, which will correspond to directories in the file that I will send you, so you can do easy directory differences between code changes.
Very good work! I think i have lots of this patches applied to our (Konsti and me) version of the driver, but there is more patching to do.
Based on Lothar's second patch Nov 17 (applied to 2.6.8.1) - isp1362 files only
Changes required to make patch compile --------------------------------------
(set device option to ISP1362)
(1) asm/arch/bitfield.h not part of PPC headers. Seems generic enough, so I've copied it from PXA. Could we eventually incorporate it into the driver, to make it more generic?
We have it copied, too. Seems to work.
Added it to our hardware-specific files. The struct defines the function isp1362_hw_reset (depends on hw) for example. OK, we don't use that struct, but that's another thing.(6) ohci_chip_info struct is now missing. Couldn't find it in ohci_isp1362.h where it was before => added it back in where it was before. The actual object is instantiated in platform specific code, so maybe the structure definition should be too, but where?
(10) I could find no reference to __test_bit anywhere. So I redefined this macro to test_bit, which does exist. Should probably have a closer look for portability.
__test_bit is in defined include/asm-arm/bitops.h in 2.6.6 and in 2.6.10 for example. Don't know, how important it is. I'll have a closer look at it tomorrow.
(12) IRQT_FALLING and set_irq_type are architecture specific. Excluded from my compile. Should probably be in a platform specific setup file.
Good hint. Look at it tomorrow, because we are using level triggered irqs.
Applying Big Endian Changes ---------------------------
These are hard to find and stem from the fact that OHCI is little endian. So the emulation layer needs to be extremely careful when accessing everything including endpoint descriptors, transfer descriptors, HCCA, and using constants for these purposes. On little endian archs these bugs are hidden.
This whole Big/Little Endian stuff is confusing me :/ I don't know, if it affects our hardware.
Other Changes (2) Added second write/read to HC_ISP1362_WRITE_DATA32 / READ_DATA32 (see usb-devel)
(3) Fixed drop_all_ptds (see usb-devel
Damn. I saw it in the list, but ... puh, found it: http://sourceforge.net/mailarchive/message.php?msg_id=10120227>
OK, that's it for now, Thanks!!!
Torsten
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel