> > The "rds_decode()" function could be used in a driver almost as it is. Or > > do I misunderstand something ? > > It is probably more useful to pass the raw 3-byte rds data blocks from > the kernel into userspace and do the actual decoding of the data > within the application (or a shared library). I thought about that, too. Mainly because there are so many different RDS data blocks, and many of those are "Open Data Applications" that might only be available in a few cities. It's easier to make changes or add-ons in a user space application/library. Most data blocks could/should be converted to strings, which would make a kernel driver unneccesarily large. How would you solve the problem of reading data periodically without losing bytes ? > I also think it would be nice to build that as i2c sub-driver (much > like the tuner module), so you can just open(/dev/radio), > ioctl(S_FREQ), ioctl(S_FMT, RDS), read() to get the RDS data. > > Gerd As long as the RDS decoder is a I2C device... Did you ever come across something else ? Do you think a "/dev/rds" is completely stupid ? Hans