From b4a40fd7cc38e679da00859f5d235e88af15b41a Mon Sep 17 00:00:00 2001 From: CrazyCat Date: Sun, 6 Apr 2025 18:38:25 +0300 Subject: [PATCH] media: pci/tbscapture2: Compatibility fix for 6.14+ kernels. --- drivers/media/pci/tbscapture2/tbs_pcie2-reg.h | 2 +- drivers/media/pci/tbscapture2/tbs_pcie2.c | 17 ++++++++++++++--- drivers/media/pci/tbscapture2/tbs_pcie2.h | 4 ++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/media/pci/tbscapture2/tbs_pcie2-reg.h b/drivers/media/pci/tbscapture2/tbs_pcie2-reg.h index 4f5638f89149..da0665df3f19 100644 --- a/drivers/media/pci/tbscapture2/tbs_pcie2-reg.h +++ b/drivers/media/pci/tbscapture2/tbs_pcie2-reg.h @@ -1,5 +1,5 @@ /* - TurboSight PCIex2 HDMI capture cards driver + TurboSight PCIe 2.0 HDMI capture cards driver Copyright (C) 2024 www.tbsdtv.com */ diff --git a/drivers/media/pci/tbscapture2/tbs_pcie2.c b/drivers/media/pci/tbscapture2/tbs_pcie2.c index dde44ede690a..9f520569f13b 100644 --- a/drivers/media/pci/tbscapture2/tbs_pcie2.c +++ b/drivers/media/pci/tbscapture2/tbs_pcie2.c @@ -1,5 +1,5 @@ /* - TurboSight PCIex2 HDMI capture cards driver + TurboSight PCIe 2.0 HDMI capture cards driver Copyright (C) 2024 www.tbsdtv.com */ @@ -1670,7 +1670,7 @@ static int tbs_pcie_audio_copy_user(struct snd_pcm_substream *substream, ret = copy_to_user(dst,runtime->dma_area+pos,count); return 0; } -#else +#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 14, 0) static int tbs_pcie_audio_copy(struct snd_pcm_substream *substream, int channel, unsigned long pos, struct iov_iter *iter, unsigned long bytes) { @@ -1680,6 +1680,17 @@ static int tbs_pcie_audio_copy(struct snd_pcm_substream *substream, int channel, ret = copy_to_iter_fromio(iter,runtime->dma_area+pos,bytes); return 0; +}; +#else +static int tbs_pcie_audio_copy(struct snd_pcm_substream *substream, int channel, + unsigned long pos, struct iov_iter *iter, unsigned long bytes) +{ + struct snd_pcm_runtime *runtime = substream->runtime; + size_t ret; +// printk(KERN_INFO "%s() index:%x\n",__func__,chip->index); + ret = copy_to_iter_fromio(runtime->dma_area+pos,bytes,iter); + return 0; + }; #endif @@ -2261,7 +2272,7 @@ static __exit void pcie_tbs_exit(void) module_init(pcie_tbs_init); module_exit(pcie_tbs_exit); -MODULE_DESCRIPTION("TBS PCIEx2 HDMI capture driver"); +MODULE_DESCRIPTION("TBS PCIE 2.0 HDMI capture driver"); MODULE_AUTHOR("tbs"); MODULE_LICENSE("GPL"); MODULE_VERSION("1.0"); diff --git a/drivers/media/pci/tbscapture2/tbs_pcie2.h b/drivers/media/pci/tbscapture2/tbs_pcie2.h index 7495bb2bd30e..671ad451cbf5 100644 --- a/drivers/media/pci/tbscapture2/tbs_pcie2.h +++ b/drivers/media/pci/tbscapture2/tbs_pcie2.h @@ -1,6 +1,6 @@ /* - TurboSight PCIex2 HDMI capture cards driver - Copyright (C) 2024 www.tbsdtv.com + TurboSight PCIe 2.0 HDMI capture cards driver + Copyright (C) 2025 www.tbsdtv.com */ #ifndef _TBS_PCIE2_H_