| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* SF16-FMI, SF16-FMP and SF16-FMD radio driver for Linux radio support |
|---|
| 2 | 3 | * heavily based on rtrack driver... |
|---|
| 3 | 4 | * (c) 1997 M. Kirkwood |
|---|
| .. | .. |
|---|
| 129 | 130 | static int vidioc_querycap(struct file *file, void *priv, |
|---|
| 130 | 131 | struct v4l2_capability *v) |
|---|
| 131 | 132 | { |
|---|
| 132 | | - strlcpy(v->driver, "radio-sf16fmi", sizeof(v->driver)); |
|---|
| 133 | | - strlcpy(v->card, "SF16-FMI/FMP/FMD radio", sizeof(v->card)); |
|---|
| 134 | | - strlcpy(v->bus_info, "ISA:radio-sf16fmi", sizeof(v->bus_info)); |
|---|
| 135 | | - v->device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO; |
|---|
| 136 | | - v->capabilities = v->device_caps | V4L2_CAP_DEVICE_CAPS; |
|---|
| 133 | + strscpy(v->driver, "radio-sf16fmi", sizeof(v->driver)); |
|---|
| 134 | + strscpy(v->card, "SF16-FMI/FMP/FMD radio", sizeof(v->card)); |
|---|
| 135 | + strscpy(v->bus_info, "ISA:radio-sf16fmi", sizeof(v->bus_info)); |
|---|
| 137 | 136 | return 0; |
|---|
| 138 | 137 | } |
|---|
| 139 | 138 | |
|---|
| .. | .. |
|---|
| 145 | 144 | if (v->index > 0) |
|---|
| 146 | 145 | return -EINVAL; |
|---|
| 147 | 146 | |
|---|
| 148 | | - strlcpy(v->name, "FM", sizeof(v->name)); |
|---|
| 147 | + strscpy(v->name, "FM", sizeof(v->name)); |
|---|
| 149 | 148 | v->type = V4L2_TUNER_RADIO; |
|---|
| 150 | 149 | v->rangelow = RSF16_MINFREQ; |
|---|
| 151 | 150 | v->rangehigh = RSF16_MAXFREQ; |
|---|
| .. | .. |
|---|
| 315 | 314 | return -ENODEV; |
|---|
| 316 | 315 | } |
|---|
| 317 | 316 | |
|---|
| 318 | | - strlcpy(v4l2_dev->name, "sf16fmi", sizeof(v4l2_dev->name)); |
|---|
| 317 | + strscpy(v4l2_dev->name, "sf16fmi", sizeof(v4l2_dev->name)); |
|---|
| 319 | 318 | fmi->io = io; |
|---|
| 320 | 319 | |
|---|
| 321 | 320 | res = v4l2_device_register(NULL, v4l2_dev); |
|---|
| .. | .. |
|---|
| 339 | 338 | return res; |
|---|
| 340 | 339 | } |
|---|
| 341 | 340 | |
|---|
| 342 | | - strlcpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name)); |
|---|
| 341 | + strscpy(fmi->vdev.name, v4l2_dev->name, sizeof(fmi->vdev.name)); |
|---|
| 343 | 342 | fmi->vdev.v4l2_dev = v4l2_dev; |
|---|
| 344 | 343 | fmi->vdev.fops = &fmi_fops; |
|---|
| 345 | 344 | fmi->vdev.ioctl_ops = &fmi_ioctl_ops; |
|---|
| 346 | 345 | fmi->vdev.release = video_device_release_empty; |
|---|
| 346 | + fmi->vdev.device_caps = V4L2_CAP_TUNER | V4L2_CAP_RADIO; |
|---|
| 347 | 347 | video_set_drvdata(&fmi->vdev, fmi); |
|---|
| 348 | 348 | |
|---|
| 349 | 349 | mutex_init(&fmi->lock); |
|---|