Hi, 2010/1/3 Dominik Brodowski <li...@dominikbrodowski.net>: > Well, as Dave said in this message > > | The serial_cs driver also has some code to recognize and treat OXCF950 > | based cards specially, and you may need to tweak that to recognize the > | manfid's for this card. > > so let's try this -- first patch #1, and if that isn't enough, patch #2; if > both do not work I have one other idea...
I tried both patches, but the result was that only the second (8250 type) UART was recognized by the kernel. When I looked at your patch it came to me, that I had also worked on this part of the code before when I was tinkering with the serial_cs module to bring a cheap Chinese no-name PCMCIA serial card to life under Linux. These cards expose 16 IO ports, eight of which is the actual UART, and some registers take up the remaining eight IO ports. By default the kernel recognized the 16C950 UART correctly, but the second "phantom" UART came to existence because of the other eight IO ports. In your patch you made the kernel treat the card the same as the other Oxford Semiconductor-based cards. In that case the first eight IO ports were used for the registers, and the last eight ports were used by the UART. In case of this TDK/IBM card, it's the opposite. (This could be seen by the fact that the UART of the type 16C950 was recognized first, and that it was at the beginning of the IO range mentioned in the CIS.) So I added a new braching (specific to this card) to the code, and made the kernel use the first eight ports for the UART and the last eight for the registers. (Also there was no point in checking for the config table indexes, as the CIS for this card contains only one entry.) I also added the Product ID of this card to /include/pcmcia/ciscode.h for better readability. As a result of my modifications, the card now works as a HCI device! I attached the diff file, and the modified CIS to this message. Thanks again for the hints, ideas, and the guidance you provided! Regards, Janos
ibmbt.diff
Description: Binary data
IBMBT.cis
Description: Binary data
_______________________________________________ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia