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/drivers/media/pci/ngene/ngene-core.c | 33 ++++++++------------------------- 1 files changed, 8 insertions(+), 25 deletions(-) diff --git a/kernel/drivers/media/pci/ngene/ngene-core.c b/kernel/drivers/media/pci/ngene/ngene-core.c index aa60559..e1a8c61 100644 --- a/kernel/drivers/media/pci/ngene/ngene-core.c +++ b/kernel/drivers/media/pci/ngene/ngene-core.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * ngene.c: nGene PCIe bridge driver * @@ -7,20 +8,6 @@ * Modifications for new nGene firmware, * support for EEPROM-copying, * support for new dual DVB-S2 card prototype - * - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * version 2 only, as published by the Free Software Foundation. - * - * - * 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. - * - * To obtain the license, point your browser to - * http://www.gnu.org/copyleft/gpl.html */ #include <linux/module.h> @@ -63,9 +50,9 @@ /* nGene interrupt handler **************************************************/ /****************************************************************************/ -static void event_tasklet(unsigned long data) +static void event_tasklet(struct tasklet_struct *t) { - struct ngene *dev = (struct ngene *)data; + struct ngene *dev = from_tasklet(dev, t, event_tasklet); while (dev->EventQueueReadIndex != dev->EventQueueWriteIndex) { struct EVENT_BUFFER Event = @@ -81,9 +68,9 @@ } } -static void demux_tasklet(unsigned long data) +static void demux_tasklet(struct tasklet_struct *t) { - struct ngene_channel *chan = (struct ngene_channel *)data; + struct ngene_channel *chan = from_tasklet(chan, t, demux_tasklet); struct device *pdev = &chan->dev->pci_dev->dev; struct SBufferHeader *Cur = chan->nextBuffer; @@ -867,8 +854,6 @@ if (!Head) return -ENOMEM; - memset(Head, 0, MemSize); - PARingBufferCur = PARingBufferHead; Cur = Head; @@ -919,8 +904,6 @@ PASCListMem = tmp; if (SCListMem == NULL) return -ENOMEM; - - memset(SCListMem, 0, SCListMemSize); pRingBuffer->SCListMem = SCListMem; pRingBuffer->PASCListMem = PASCListMem; @@ -1014,7 +997,7 @@ /* Point to first buffer entry */ struct SBufferHeader *Cur = pRingBuffer->Head; int i; - /* Loop thru all buffer and set Buffer 2 pointers to TSIdlebuffer */ + /* Loop through all buffer and set Buffer 2 pointers to TSIdlebuffer */ for (i = 0; i < n; i++) { Cur->Buffer2 = pIdleBuffer->Head->Buffer1; Cur->scList2 = pIdleBuffer->Head->scList1; @@ -1198,7 +1181,7 @@ struct device *pdev = &dev->pci_dev->dev; int i; - tasklet_init(&dev->event_tasklet, event_tasklet, (unsigned long)dev); + tasklet_setup(&dev->event_tasklet, event_tasklet); memset_io(dev->iomem + 0xc000, 0x00, 0x220); memset_io(dev->iomem + 0xc400, 0x00, 0x100); @@ -1462,7 +1445,7 @@ struct ngene_info *ni = dev->card_info; int io = ni->io_type[nr]; - tasklet_init(&chan->demux_tasklet, demux_tasklet, (unsigned long)chan); + tasklet_setup(&chan->demux_tasklet, demux_tasklet); chan->users = 0; chan->type = io; chan->mode = chan->type; /* for now only one mode */ -- Gitblit v1.6.2