forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/media/radio/radio-cadet.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /* radio-cadet.c - A video4linux driver for the ADS Cadet AM/FM Radio Card
23 *
34 * by Fred Gleason <fredg@wava.com>
....@@ -353,12 +354,9 @@
353354 static int vidioc_querycap(struct file *file, void *priv,
354355 struct v4l2_capability *v)
355356 {
356
- strlcpy(v->driver, "ADS Cadet", sizeof(v->driver));
357
- strlcpy(v->card, "ADS Cadet", sizeof(v->card));
358
- strlcpy(v->bus_info, "ISA:radio-cadet", sizeof(v->bus_info));
359
- v->device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO |
360
- V4L2_CAP_READWRITE | V4L2_CAP_RDS_CAPTURE;
361
- v->capabilities = v->device_caps | V4L2_CAP_DEVICE_CAPS;
357
+ strscpy(v->driver, "ADS Cadet", sizeof(v->driver));
358
+ strscpy(v->card, "ADS Cadet", sizeof(v->card));
359
+ strscpy(v->bus_info, "ISA:radio-cadet", sizeof(v->bus_info));
362360 return 0;
363361 }
364362
....@@ -370,7 +368,7 @@
370368 if (v->index)
371369 return -EINVAL;
372370 v->type = V4L2_TUNER_RADIO;
373
- strlcpy(v->name, "Radio", sizeof(v->name));
371
+ strscpy(v->name, "Radio", sizeof(v->name));
374372 v->capability = bands[0].capability | bands[1].capability;
375373 v->rangelow = bands[0].rangelow; /* 520 kHz (start of AM band) */
376374 v->rangehigh = bands[1].rangehigh; /* 108.0 MHz (end of FM band) */
....@@ -595,7 +593,7 @@
595593 struct v4l2_ctrl_handler *hdl;
596594 int res = -ENODEV;
597595
598
- strlcpy(v4l2_dev->name, "cadet", sizeof(v4l2_dev->name));
596
+ strscpy(v4l2_dev->name, "cadet", sizeof(v4l2_dev->name));
599597 mutex_init(&dev->lock);
600598
601599 /* If a probe was requested then probe ISAPnP first (safest) */
....@@ -639,12 +637,14 @@
639637 dev->is_fm_band = true;
640638 dev->curfreq = bands[dev->is_fm_band].rangelow;
641639 cadet_setfreq(dev, dev->curfreq);
642
- strlcpy(dev->vdev.name, v4l2_dev->name, sizeof(dev->vdev.name));
640
+ strscpy(dev->vdev.name, v4l2_dev->name, sizeof(dev->vdev.name));
643641 dev->vdev.v4l2_dev = v4l2_dev;
644642 dev->vdev.fops = &cadet_fops;
645643 dev->vdev.ioctl_ops = &cadet_ioctl_ops;
646644 dev->vdev.release = video_device_release_empty;
647645 dev->vdev.lock = &dev->lock;
646
+ dev->vdev.device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO |
647
+ V4L2_CAP_READWRITE | V4L2_CAP_RDS_CAPTURE;
648648 video_set_drvdata(&dev->vdev, dev);
649649
650650 res = video_register_device(&dev->vdev, VFL_TYPE_RADIO, radio_nr);