From 9370bb92b2d16684ee45cf24e879c93c509162da Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Thu, 19 Dec 2024 01:47:39 +0000 Subject: [PATCH] add wifi6 8852be driver --- kernel/sound/pci/lx6464es/lx6464es.c | 50 ++++++++------------------------------------------ 1 files changed, 8 insertions(+), 42 deletions(-) diff --git a/kernel/sound/pci/lx6464es/lx6464es.c b/kernel/sound/pci/lx6464es/lx6464es.c index daf2565..b92ea07 100644 --- a/kernel/sound/pci/lx6464es/lx6464es.c +++ b/kernel/sound/pci/lx6464es/lx6464es.c @@ -1,25 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* -*- linux-c -*- * * * ALSA driver for the digigram lx6464es interface * * Copyright (c) 2008, 2009 Tim Blechmann <tim@klingt.org> - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * */ #include <linux/module.h> @@ -277,9 +261,8 @@ static int lx_pcm_close(struct snd_pcm_substream *substream) { - int err = 0; dev_dbg(substream->pcm->card->dev, "->lx_pcm_close\n"); - return err; + return 0; } static snd_pcm_uframes_t lx_pcm_stream_pointer(struct snd_pcm_substream @@ -359,15 +342,10 @@ struct snd_pcm_hw_params *hw_params, int is_capture) { struct lx6464es *chip = snd_pcm_substream_chip(substream); - int err = 0; dev_dbg(chip->card->dev, "->lx_pcm_hw_params\n"); mutex_lock(&chip->setup_mutex); - - /* set dma buffer */ - err = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(hw_params)); if (is_capture) chip->capture_stream.stream = substream; @@ -375,7 +353,7 @@ chip->playback_stream.stream = substream; mutex_unlock(&chip->setup_mutex); - return err; + return 0; } static int lx_pcm_hw_params_playback(struct snd_pcm_substream *substream, @@ -416,8 +394,6 @@ chip->hardware_running[is_capture] = 0; } - - err = snd_pcm_lib_free_pages(substream); if (is_capture) chip->capture_stream.stream = NULL; @@ -815,7 +791,6 @@ static const struct snd_pcm_ops lx_ops_playback = { .open = lx_pcm_open, .close = lx_pcm_close, - .ioctl = snd_pcm_lib_ioctl, .prepare = lx_pcm_prepare, .hw_params = lx_pcm_hw_params_playback, .hw_free = lx_pcm_hw_free, @@ -826,7 +801,6 @@ static const struct snd_pcm_ops lx_ops_capture = { .open = lx_pcm_open, .close = lx_pcm_close, - .ioctl = snd_pcm_lib_ioctl, .prepare = lx_pcm_prepare, .hw_params = lx_pcm_hw_params_capture, .hw_free = lx_pcm_hw_free, @@ -862,11 +836,8 @@ pcm->nonatomic = true; strcpy(pcm->name, card_name); - err = snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, - snd_dma_pci_data(chip->pci), - size, size); - if (err < 0) - return err; + snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, + &chip->pci->dev, size, size); chip->pcm = pcm; chip->capture_stream.is_capture = 1; @@ -956,13 +927,7 @@ static int lx_proc_create(struct snd_card *card, struct lx6464es *chip) { - struct snd_info_entry *entry; - int err = snd_card_proc_new(card, "levels", &entry); - if (err < 0) - return err; - - snd_info_set_text_ops(entry, chip, lx_proc_levels_read); - return 0; + return snd_card_ro_proc_new(card, "levels", chip, lx_proc_levels_read); } @@ -973,7 +938,7 @@ struct lx6464es *chip; int err; - static struct snd_device_ops ops = { + static const struct snd_device_ops ops = { .dev_free = snd_lx6464es_dev_free, }; @@ -1037,6 +1002,7 @@ goto request_irq_failed; } chip->irq = pci->irq; + card->sync_irq = chip->irq; err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); if (err < 0) -- Gitblit v1.6.2