• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/media/radio/

Lines Matching refs:fmi

45 struct fmi
55 static struct fmi fmi_card;
86 static inline void fmi_mute(struct fmi *fmi)
88 mutex_lock(&fmi->lock);
89 outb(0x00, fmi->io);
90 mutex_unlock(&fmi->lock);
93 static inline void fmi_unmute(struct fmi *fmi)
95 mutex_lock(&fmi->lock);
96 outb(0x08, fmi->io);
97 mutex_unlock(&fmi->lock);
100 static inline int fmi_setfreq(struct fmi *fmi, unsigned long freq)
102 mutex_lock(&fmi->lock);
103 fmi->curfreq = freq;
105 outbits(16, RSF16_ENCODE(freq), fmi->io);
106 outbits(8, 0xC0, fmi->io);
108 mutex_unlock(&fmi->lock);
109 if (!fmi->mute)
110 fmi_unmute(fmi);
114 static inline int fmi_getsigstr(struct fmi *fmi)
119 mutex_lock(&fmi->lock);
120 val = fmi->mute ? 0x00 : 0x08; /* mute/unmute */
121 outb(val, fmi->io);
122 outb(val | 0x10, fmi->io);
124 res = (int)inb(fmi->io + 1);
125 outb(val, fmi->io);
127 mutex_unlock(&fmi->lock);
145 struct fmi *fmi = video_drvdata(file);
157 v->signal = fmi_getsigstr(fmi);
170 struct fmi *fmi = video_drvdata(file);
179 fmi_setfreq(fmi, (f->frequency / 800) * 800);
186 struct fmi *fmi = video_drvdata(file);
191 f->frequency = fmi->curfreq;
208 struct fmi *fmi = video_drvdata(file);
212 ctrl->value = fmi->mute;
221 struct fmi *fmi = video_drvdata(file);
226 fmi_mute(fmi);
228 fmi_unmute(fmi);
229 fmi->mute = ctrl->value;
322 struct fmi *fmi = &fmi_card;
323 struct v4l2_device *v4l2_dev = &fmi->v4l2_dev;
365 fmi->io = io;
369 release_region(fmi->io, 2);
376 strlcpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name));
377 fmi->vdev.v4l2_dev = v4l2_dev;
378 fmi->vdev.fops = &fmi_fops;
379 fmi->vdev.ioctl_ops = &fmi_ioctl_ops;
380 fmi->vdev.release = video_device_release_empty;
381 video_set_drvdata(&fmi->vdev, fmi);
383 mutex_init(&fmi->lock);
385 if (video_register_device(&fmi->vdev, VFL_TYPE_RADIO, radio_nr) < 0) {
387 release_region(fmi->io, 2);
393 v4l2_info(v4l2_dev, "card driver at 0x%x\n", fmi->io);
395 fmi_mute(fmi);
401 struct fmi *fmi = &fmi_card;
403 video_unregister_device(&fmi->vdev);
404 v4l2_device_unregister(&fmi->v4l2_dev);
405 release_region(fmi->io, 2);