fmi                58 drivers/media/radio/radio-sf16fmi.c static struct fmi fmi_card;
fmi                73 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = handle;
fmi                76 drivers/media/radio/radio-sf16fmi.c 	if (!fmi->mute)
fmi                86 drivers/media/radio/radio-sf16fmi.c 	mutex_lock(&fmi->lock);
fmi                87 drivers/media/radio/radio-sf16fmi.c 	outb_p(bits, fmi->io);
fmi                88 drivers/media/radio/radio-sf16fmi.c 	mutex_unlock(&fmi->lock);
fmi                91 drivers/media/radio/radio-sf16fmi.c static inline void fmi_mute(struct fmi *fmi)
fmi                93 drivers/media/radio/radio-sf16fmi.c 	mutex_lock(&fmi->lock);
fmi                94 drivers/media/radio/radio-sf16fmi.c 	outb(0x00, fmi->io);
fmi                95 drivers/media/radio/radio-sf16fmi.c 	mutex_unlock(&fmi->lock);
fmi                98 drivers/media/radio/radio-sf16fmi.c static inline void fmi_unmute(struct fmi *fmi)
fmi               100 drivers/media/radio/radio-sf16fmi.c 	mutex_lock(&fmi->lock);
fmi               101 drivers/media/radio/radio-sf16fmi.c 	outb(0x08, fmi->io);
fmi               102 drivers/media/radio/radio-sf16fmi.c 	mutex_unlock(&fmi->lock);
fmi               105 drivers/media/radio/radio-sf16fmi.c static inline int fmi_getsigstr(struct fmi *fmi)
fmi               110 drivers/media/radio/radio-sf16fmi.c 	mutex_lock(&fmi->lock);
fmi               111 drivers/media/radio/radio-sf16fmi.c 	val = fmi->mute ? 0x00 : 0x08;	/* mute/unmute */
fmi               112 drivers/media/radio/radio-sf16fmi.c 	outb(val, fmi->io);
fmi               113 drivers/media/radio/radio-sf16fmi.c 	outb(val | 0x10, fmi->io);
fmi               115 drivers/media/radio/radio-sf16fmi.c 	res = (int)inb(fmi->io + 1);
fmi               116 drivers/media/radio/radio-sf16fmi.c 	outb(val, fmi->io);
fmi               118 drivers/media/radio/radio-sf16fmi.c 	mutex_unlock(&fmi->lock);
fmi               122 drivers/media/radio/radio-sf16fmi.c static void fmi_set_freq(struct fmi *fmi)
fmi               124 drivers/media/radio/radio-sf16fmi.c 	fmi->curfreq = clamp(fmi->curfreq, RSF16_MINFREQ, RSF16_MAXFREQ);
fmi               127 drivers/media/radio/radio-sf16fmi.c 	lm7000_set_freq((fmi->curfreq / 800) * 800, fmi, fmi_set_pins);
fmi               142 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = video_drvdata(file);
fmi               154 drivers/media/radio/radio-sf16fmi.c 	v->signal = fmi_getsigstr(fmi);
fmi               167 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = video_drvdata(file);
fmi               172 drivers/media/radio/radio-sf16fmi.c 	fmi->curfreq = f->frequency;
fmi               173 drivers/media/radio/radio-sf16fmi.c 	fmi_set_freq(fmi);
fmi               181 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = video_drvdata(file);
fmi               186 drivers/media/radio/radio-sf16fmi.c 	f->frequency = fmi->curfreq;
fmi               192 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = container_of(ctrl->handler, struct fmi, hdl);
fmi               197 drivers/media/radio/radio-sf16fmi.c 			fmi_mute(fmi);
fmi               199 drivers/media/radio/radio-sf16fmi.c 			fmi_unmute(fmi);
fmi               200 drivers/media/radio/radio-sf16fmi.c 		fmi->mute = ctrl->val;
fmi               274 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = &fmi_card;
fmi               275 drivers/media/radio/radio-sf16fmi.c 	struct v4l2_device *v4l2_dev = &fmi->v4l2_dev;
fmi               276 drivers/media/radio/radio-sf16fmi.c 	struct v4l2_ctrl_handler *hdl = &fmi->hdl;
fmi               318 drivers/media/radio/radio-sf16fmi.c 	fmi->io = io;
fmi               322 drivers/media/radio/radio-sf16fmi.c 		release_region(fmi->io, 2);
fmi               341 drivers/media/radio/radio-sf16fmi.c 	strscpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name));
fmi               342 drivers/media/radio/radio-sf16fmi.c 	fmi->vdev.v4l2_dev = v4l2_dev;
fmi               343 drivers/media/radio/radio-sf16fmi.c 	fmi->vdev.fops = &fmi_fops;
fmi               344 drivers/media/radio/radio-sf16fmi.c 	fmi->vdev.ioctl_ops = &fmi_ioctl_ops;
fmi               345 drivers/media/radio/radio-sf16fmi.c 	fmi->vdev.release = video_device_release_empty;
fmi               346 drivers/media/radio/radio-sf16fmi.c 	fmi->vdev.device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO;
fmi               347 drivers/media/radio/radio-sf16fmi.c 	video_set_drvdata(&fmi->vdev, fmi);
fmi               349 drivers/media/radio/radio-sf16fmi.c 	mutex_init(&fmi->lock);
fmi               352 drivers/media/radio/radio-sf16fmi.c 	fmi->mute = true;
fmi               353 drivers/media/radio/radio-sf16fmi.c 	fmi->curfreq = RSF16_MINFREQ;
fmi               354 drivers/media/radio/radio-sf16fmi.c 	fmi_set_freq(fmi);
fmi               356 drivers/media/radio/radio-sf16fmi.c 	if (video_register_device(&fmi->vdev, VFL_TYPE_RADIO, radio_nr) < 0) {
fmi               359 drivers/media/radio/radio-sf16fmi.c 		release_region(fmi->io, 2);
fmi               365 drivers/media/radio/radio-sf16fmi.c 	v4l2_info(v4l2_dev, "card driver at 0x%x\n", fmi->io);
fmi               371 drivers/media/radio/radio-sf16fmi.c 	struct fmi *fmi = &fmi_card;
fmi               373 drivers/media/radio/radio-sf16fmi.c 	v4l2_ctrl_handler_free(&fmi->hdl);
fmi               374 drivers/media/radio/radio-sf16fmi.c 	video_unregister_device(&fmi->vdev);
fmi               375 drivers/media/radio/radio-sf16fmi.c 	v4l2_device_unregister(&fmi->v4l2_dev);
fmi               376 drivers/media/radio/radio-sf16fmi.c 	release_region(fmi->io, 2);