On Wed, Apr 09, 2008 at 09:52:33PM +0100, Alan Cox wrote:There's more to FIR than just a baud rate change. On PXA for instance, SIR is implemented using the standard UART device in "SIR" mode, but FIR is a completely separate hardware block with its own IRQs and clocks - you need to switch the pin muxing from the UART to the FIR device. So it's not just a matter of setting the baud rate to 4Mbps. However, you can't just say "have two separate drivers and only use one or the other" - all IrDA link negotiation is done at SIR at 9600 baud and only when negotiation is complete will the selected rate become effective - be that SIR or FIR based. So yes, using a ldisc for SIR (with a hook into the driver to tell the driver to setup the port for IR) sounds ideal, but we're still going to need to deal with the FIR device and switch IrDA between that and the SIR UART ldisc. Note - there are other reasons for finally sorting this out as well - there are systems with IR which want to support both IrDA up to FIR and other uart-based IR applications. IIRC this came up on the iPAQs. I forget exactly which applications but I believe lirc might fall into the "want a serial port not the FIR network device interface" class. Having SIR always go via ldiscs should sort that out nicely as well. (I'm thinking maybe we want some control to set a port into IR transmission/reception mode independent of selecting the IrDA ldisc - but I'd suggest further research first - I may be just handwaving about an already solved problem.) -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: --
| Linus Torvalds | Linux 2.6.27 |
| Linus Torvalds | Linux 2.6.27-rc8 |
| Tejun Heo | [PATCHSET] FUSE: extend FUSE to support more operations |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Ken Pratt | pack operation is thrashing my server |
| Jakub Narebski | Re: VCS comparison table |
| H. Peter Anvin | Re: git versus CVS (versus bk) |
| Marco Costalba | [PATCH 11/11] Convert sha1_file.c to use decompress helpers |
| Richard Stallman | Real men don't attack straw men |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Brian A. Seklecki | Re: GRE over IPsec |
| sonjaya | openvpn on openbsd 4.1 |
| Hugh Dickins | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Gilles Chanteperdrix | [PATCH] cs89x0: add support for i.MX31ADS ARM board |
| Denys Fedoryshchenko | thousands of classes, e1000 TX unit hang |
| Francois Romieu | Re: 8169 Intermittent ifup Failure Issue With RTL8102E Chipset in Intel's New D945... |
| Shared swap partition | 11 hours ago | Linux general |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 2 days ago | Windows |
| Root password | 2 days ago | Linux general |
| Where/when DNOTIFY is used? | 2 days ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 2 days ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 2 days ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 3 days ago | Linux general |
