mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-08 23:05:20 +07:00
![]() Convert radio-sf16fmi to use generic LM7000 driver. Tested with SF16-FMI, SF16-FMP and SF16-FMD. radio."); @@ -48,37 +50,40 @@ struct fmi bool mute; unsigned long curfreq; /* freq in kHz */ struct mutex lock; + struct lm7000 lm; }; static struct fmi fmi_card; static struct pnp_dev *dev; bool pnp_attached; -/* freq is in 1/16 kHz to internal number, hw precision is 50 kHz */ -/* It is only useful to give freq in interval of 800 (=0.05Mhz), - * other bits will be truncated, e.g 92.7400016 -> 92.7, but - * 92.7400017 -> 92.75 - */ -#define RSF16_ENCODE(x) ((x) / 800 + 214) #define RSF16_MINFREQ (87 * 16000) #define RSF16_MAXFREQ (108 * 16000) -static void outbits(int bits, unsigned int data, int io) +#define FMI_BIT_TUN_CE (1 << 0) +#define FMI_BIT_TUN_CLK (1 << 1) +#define FMI_BIT_TUN_DATA (1 << 2) +#define FMI_BIT_VOL_SW (1 << 3) +#define FMI_BIT_TUN_STRQ (1 << 4) + +void fmi_set_pins(struct lm7000 *lm, u8 pins) { - while (bits--) { - if (data & 1) { - outb(5, io); - udelay(6); - outb(7, io); - udelay(6); - } else { - outb(1, io); - udelay(6); - outb(3, io); - udelay(6); - } - data >>= 1; - } Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
si470x | ||
wl128x | ||
dsbr100.c | ||
Kconfig | ||
lm7000.c | ||
lm7000.h | ||
Makefile | ||
radio-aimslab.c | ||
radio-aztech.c | ||
radio-cadet.c | ||
radio-gemtek.c | ||
radio-isa.c | ||
radio-isa.h | ||
radio-keene.c | ||
radio-maxiradio.c | ||
radio-miropcm20.c | ||
radio-mr800.c | ||
radio-rtrack2.c | ||
radio-sf16fmi.c | ||
radio-sf16fmr2.c | ||
radio-si4713.c | ||
radio-tea5764.c | ||
radio-terratec.c | ||
radio-timb.c | ||
radio-trust.c | ||
radio-typhoon.c | ||
radio-wl1273.c | ||
radio-zoltrix.c | ||
saa7706h.c | ||
si4713-i2c.c | ||
si4713-i2c.h | ||
tef6862.c |