V4L/DVB (7038): USB radio driver for Silicon Labs Si470x FM Radio Receivers
this patch adds a new driver for the Silicon Labs Si470x FM Radio Receiver. It should also work for the identical ADS/Tech FM Radio Receiver (formerly Instant FM Music) as soon as I find out the USB Vendor and Product ID. The driver is inspired by several other USB and radio drivers, but mainly from the D-Link DSB-R100 USB radio (dsbr100.c). The USB stick currently has an Si4701 FM RDS radio receiver. But the other Si470x devices are pin and register compatible, so that in the future the driver can easily be patched to support these too. Therefore I named the driver radio-si470x and the configuration option usb-si470x. The driver itself just provides the control function over the radio. For getting audio back, the device support the USB audio class, which is implemented in the already existing driver. I tested the driver in the last days, until it now satisfies all my functionality and robustness requirements. The application I used for testing was kradio. Signed-off-by: Tobias Lorenz <tobias.lorenz@gmx.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
438468359e
commit
78656acdcf
3 changed files with 1451 additions and 0 deletions
|
@ -351,4 +351,14 @@ config USB_DSBR
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called dsbr100.
|
module will be called dsbr100.
|
||||||
|
|
||||||
|
config USB_SI470X
|
||||||
|
tristate "Silicon Labs Si470x FM Radio Receiver support"
|
||||||
|
depends on USB && VIDEO_V4L2
|
||||||
|
---help---
|
||||||
|
Say Y here if you want to connect this type of radio to your
|
||||||
|
computer's USB port.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here: the
|
||||||
|
module will be called radio-silabs.
|
||||||
|
|
||||||
endif # RADIO_ADAPTERS
|
endif # RADIO_ADAPTERS
|
||||||
|
|
|
@ -21,5 +21,6 @@ obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o
|
||||||
obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
|
obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
|
||||||
obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
|
obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
|
||||||
obj-$(CONFIG_USB_DSBR) += dsbr100.o
|
obj-$(CONFIG_USB_DSBR) += dsbr100.o
|
||||||
|
obj-$(CONFIG_USB_SI470X) := radio-si470x.o
|
||||||
|
|
||||||
EXTRA_CFLAGS += -Isound
|
EXTRA_CFLAGS += -Isound
|
||||||
|
|
1440
drivers/media/radio/radio-si470x.c
Normal file
1440
drivers/media/radio/radio-si470x.c
Normal file
File diff suppressed because it is too large
Load diff
Reference in a new issue