| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * SAA713x ALSA support for V4L |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 6 | | - * the Free Software Foundation, version 2 |
|---|
| 7 | | - * |
|---|
| 8 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 9 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 10 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 11 | | - * GNU General Public License for more details. |
|---|
| 12 | | - * |
|---|
| 13 | 4 | */ |
|---|
| 14 | 5 | |
|---|
| 15 | 6 | #include "saa7134.h" |
|---|
| .. | .. |
|---|
| 261 | 252 | return err; |
|---|
| 262 | 253 | } |
|---|
| 263 | 254 | |
|---|
| 264 | | -static int saa7134_alsa_dma_init(struct saa7134_dev *dev, int nr_pages) |
|---|
| 255 | +static int saa7134_alsa_dma_init(struct saa7134_dev *dev, |
|---|
| 256 | + unsigned long nr_pages) |
|---|
| 265 | 257 | { |
|---|
| 266 | 258 | struct saa7134_dmasound *dma = &dev->dmasound; |
|---|
| 267 | 259 | struct page *pg; |
|---|
| .. | .. |
|---|
| 269 | 261 | |
|---|
| 270 | 262 | dma->vaddr = vmalloc_32(nr_pages << PAGE_SHIFT); |
|---|
| 271 | 263 | if (NULL == dma->vaddr) { |
|---|
| 272 | | - pr_debug("vmalloc_32(%d pages) failed\n", nr_pages); |
|---|
| 264 | + pr_debug("vmalloc_32(%lu pages) failed\n", nr_pages); |
|---|
| 273 | 265 | return -ENOMEM; |
|---|
| 274 | 266 | } |
|---|
| 275 | 267 | |
|---|
| 276 | | - pr_debug("vmalloc is at addr %p, size=%d\n", |
|---|
| 268 | + pr_debug("vmalloc is at addr %p, size=%lu\n", |
|---|
| 277 | 269 | dma->vaddr, nr_pages << PAGE_SHIFT); |
|---|
| 278 | 270 | |
|---|
| 279 | 271 | memset(dma->vaddr, 0, nr_pages << PAGE_SHIFT); |
|---|
| .. | .. |
|---|
| 306 | 298 | struct saa7134_dmasound *dma = &dev->dmasound; |
|---|
| 307 | 299 | |
|---|
| 308 | 300 | dma->sglen = dma_map_sg(&dev->pci->dev, dma->sglist, |
|---|
| 309 | | - dma->nr_pages, PCI_DMA_FROMDEVICE); |
|---|
| 301 | + dma->nr_pages, DMA_FROM_DEVICE); |
|---|
| 310 | 302 | |
|---|
| 311 | 303 | if (0 == dma->sglen) { |
|---|
| 312 | 304 | pr_warn("%s: saa7134_alsa_map_sg failed\n", __func__); |
|---|
| .. | .. |
|---|
| 322 | 314 | if (!dma->sglen) |
|---|
| 323 | 315 | return 0; |
|---|
| 324 | 316 | |
|---|
| 325 | | - dma_unmap_sg(&dev->pci->dev, dma->sglist, dma->sglen, PCI_DMA_FROMDEVICE); |
|---|
| 317 | + dma_unmap_sg(&dev->pci->dev, dma->sglist, dma->nr_pages, DMA_FROM_DEVICE); |
|---|
| 326 | 318 | dma->sglen = 0; |
|---|
| 327 | 319 | return 0; |
|---|
| 328 | 320 | } |
|---|
| .. | .. |
|---|
| 874 | 866 | static const struct snd_pcm_ops snd_card_saa7134_capture_ops = { |
|---|
| 875 | 867 | .open = snd_card_saa7134_capture_open, |
|---|
| 876 | 868 | .close = snd_card_saa7134_capture_close, |
|---|
| 877 | | - .ioctl = snd_pcm_lib_ioctl, |
|---|
| 878 | 869 | .hw_params = snd_card_saa7134_hw_params, |
|---|
| 879 | 870 | .hw_free = snd_card_saa7134_hw_free, |
|---|
| 880 | 871 | .prepare = snd_card_saa7134_capture_prepare, |
|---|
| .. | .. |
|---|
| 901 | 892 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_saa7134_capture_ops); |
|---|
| 902 | 893 | pcm->private_data = saa7134; |
|---|
| 903 | 894 | pcm->info_flags = 0; |
|---|
| 904 | | - strcpy(pcm->name, "SAA7134 PCM"); |
|---|
| 895 | + strscpy(pcm->name, "SAA7134 PCM", sizeof(pcm->name)); |
|---|
| 905 | 896 | return 0; |
|---|
| 906 | 897 | } |
|---|
| 907 | 898 | |
|---|
| .. | .. |
|---|
| 1074 | 1065 | unsigned int idx; |
|---|
| 1075 | 1066 | int err, addr; |
|---|
| 1076 | 1067 | |
|---|
| 1077 | | - strcpy(card->mixername, "SAA7134 Mixer"); |
|---|
| 1068 | + strscpy(card->mixername, "SAA7134 Mixer", sizeof(card->mixername)); |
|---|
| 1078 | 1069 | |
|---|
| 1079 | 1070 | for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) { |
|---|
| 1080 | 1071 | kcontrol = snd_ctl_new1(&snd_saa7134_volume_controls[idx], |
|---|
| .. | .. |
|---|
| 1138 | 1129 | if (err < 0) |
|---|
| 1139 | 1130 | return err; |
|---|
| 1140 | 1131 | |
|---|
| 1141 | | - strcpy(card->driver, "SAA7134"); |
|---|
| 1132 | + strscpy(card->driver, "SAA7134", sizeof(card->driver)); |
|---|
| 1142 | 1133 | |
|---|
| 1143 | 1134 | /* Card "creation" */ |
|---|
| 1144 | 1135 | |
|---|
| .. | .. |
|---|
| 1178 | 1169 | |
|---|
| 1179 | 1170 | /* End of "creation" */ |
|---|
| 1180 | 1171 | |
|---|
| 1181 | | - strcpy(card->shortname, "SAA7134"); |
|---|
| 1172 | + strscpy(card->shortname, "SAA7134", sizeof(card->shortname)); |
|---|
| 1182 | 1173 | sprintf(card->longname, "%s at 0x%lx irq %d", |
|---|
| 1183 | 1174 | chip->dev->name, chip->iobase, chip->irq); |
|---|
| 1184 | 1175 | |
|---|
| .. | .. |
|---|
| 1223 | 1214 | |
|---|
| 1224 | 1215 | static int saa7134_alsa_init(void) |
|---|
| 1225 | 1216 | { |
|---|
| 1226 | | - struct saa7134_dev *dev = NULL; |
|---|
| 1227 | | - struct list_head *list; |
|---|
| 1217 | + struct saa7134_dev *dev; |
|---|
| 1228 | 1218 | |
|---|
| 1229 | 1219 | saa7134_dmasound_init = alsa_device_init; |
|---|
| 1230 | 1220 | saa7134_dmasound_exit = alsa_device_exit; |
|---|
| 1231 | 1221 | |
|---|
| 1232 | 1222 | pr_info("saa7134 ALSA driver for DMA sound loaded\n"); |
|---|
| 1233 | 1223 | |
|---|
| 1234 | | - list_for_each(list,&saa7134_devlist) { |
|---|
| 1235 | | - dev = list_entry(list, struct saa7134_dev, devlist); |
|---|
| 1224 | + list_for_each_entry(dev, &saa7134_devlist, devlist) { |
|---|
| 1236 | 1225 | if (dev->pci->device == PCI_DEVICE_ID_PHILIPS_SAA7130) |
|---|
| 1237 | 1226 | pr_info("%s/alsa: %s doesn't support digital audio\n", |
|---|
| 1238 | 1227 | dev->name, saa7134_boards[dev->board].name); |
|---|
| .. | .. |
|---|
| 1240 | 1229 | alsa_device_init(dev); |
|---|
| 1241 | 1230 | } |
|---|
| 1242 | 1231 | |
|---|
| 1243 | | - if (dev == NULL) |
|---|
| 1232 | + if (list_empty(&saa7134_devlist)) |
|---|
| 1244 | 1233 | pr_info("saa7134 ALSA: no saa7134 cards found\n"); |
|---|
| 1245 | 1234 | |
|---|
| 1246 | 1235 | return 0; |
|---|