29 #include <linux/module.h>
33 #include <linux/videodev2.h>
35 #include <linux/slab.h>
47 #ifndef CONFIG_RADIO_RTRACK_PORT
48 #define CONFIG_RADIO_RTRACK_PORT -1
76 #define AIMS_BIT_TUN_CE (1 << 0)
77 #define AIMS_BIT_TUN_CLK (1 << 1)
78 #define AIMS_BIT_TUN_DATA (1 << 2)
79 #define AIMS_BIT_VOL_CE (1 << 3)
80 #define AIMS_BIT_TUN_STRQ (1 << 4)
82 #define AIMS_BIT_VOL_UP (1 << 6)
83 #define AIMS_BIT_VOL_DN (1 << 7)
114 return 0xffff * !(
inb(isa->
io) & 2);
129 }
else if (curvol < vol) {
131 for (; curvol <
vol; curvol++)
133 }
else if (curvol > vol) {
135 for (; curvol >
vol; curvol--)
154 .alloc = rtrack_alloc,
155 .init = rtrack_initialize,
156 .s_mute_volume = rtrack_s_mute_volume,
157 .s_frequency = rtrack_s_frequency,
158 .g_signal = rtrack_g_signal,
161 static const int rtrack_ioports[] = { 0x20f, 0x30f };
169 .name =
"radio-aimslab",
173 .radio_nr_params = radio_nr,
174 .io_ports = rtrack_ioports,
175 .num_of_io_ports =
ARRAY_SIZE(rtrack_ioports),
177 .card =
"AIMSlab RadioTrack/RadioReveal",
183 static int __init rtrack_init(
void)
188 static void __exit rtrack_exit(
void)