Log in
Register
Menu
Log in
Register
Home
What's new
Latest activity
Authors
Forums
New posts
Search forums
What's new
New posts
Latest activity
Members
Current visitors
New posts
Search forums
Menu
Log in
Register
Install the app
Install
Forums
Satellite TV receivers & systems support forums
Satellite PC Card Receivers, Internet by Satellite
neumoDVB
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="RyLe" data-source="post: 1150649" data-attributes="member: 377555"><p>Ok, so, a few 6.4.X FC38 kernel updates went by and I was tired of having to go back to the old 6.3.X kernel each time, so I looked at this one more time.</p><p>The "technique" link I mentioned above is wrong as it gives the wrong parameter to class_create, I should have looked into the <a href="https://github.com/torvalds/linux/blob/master/drivers/media/dvb-core/dvbdev.c" target="_blank">updated kernel sources</a> sooner.</p><p>I can now build the modified drivers and have a functionnal setup using a 6.4.X kernel <img src="https://www.satellites.co.uk/styles/default/xenforo/smilies/smile.png" class="smilie" loading="lazy" alt=":)" title="Smile :)" data-shortname=":)" /></p><p></p><p>Here are my modifications to be able to compile and use blindscan_kernel on a 6.4.X kernel:</p><p></p><p>in</p><p>[ICODE]~/blindscan_kernel/media_build/v4l/Makefile :[/ICODE]</p><p>add</p><p>[ICODE]EXTRA_CFLAGS += -Wno-error=incompatible-pointer-types[/ICODE]</p><p>near to other EXTRA_CFLAGS</p><p></p><p>in</p><p>[ICODE]~/blindscan_kernel/media/drivers/media/dvb-core/dvbdec.c :[/ICODE]</p><p>change </p><p>[ICODE]dvb_class = class_create(THIS_MODULE, "dvb");[/ICODE]</p><p>to</p><p>[ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)</p><p>dvb_class = class_create(THIS_MODULE, "dvb");</p><p>#else</p><p>dvb_class = class_create("dvb");</p><p>#endif[/ICODE]</p><p></p><p>in</p><p>[ICODE]~/blindscan_kernel/media/drivers/media/pci/ddbridge/ddbridge-core.c[/ICODE]</p><p>near [ICODE]class ddb_class[/ICODE], change</p><p>[ICODE].owner = THIS_MODULE,[/ICODE]</p><p>to</p><p>[ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)</p><p>.owner = THIS_MODULE,</p><p>#else</p><p>//</p><p>#endif[/ICODE]</p><p>/!\warning/!\, as I don't have a Digital Devices card, I don't know if this modification is working.</p><p></p><p></p><p>in</p><p>[ICODE]~/blindscan_kernel/media/drivers/media/pci/tbsmod/tbsmod.c[/ICODE]</p><p>change</p><p>[ICODE]mod_cdev_class = class_create(THIS_MODULE, "tbsmod");[/ICODE]</p><p>to</p><p>[ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0)</p><p>mod_cdev_class = class_create(THIS_MODULE, "tbsmod");</p><p>#else</p><p>mod_cdev_class = class_create("tbsmod");</p><p>#endif[/ICODE]</p><p></p><p>And that's all <img src="https://www.satellites.co.uk/styles/default/xenforo/smilies/smile.png" class="smilie" loading="lazy" alt=":)" title="Smile :)" data-shortname=":)" /></p></blockquote><p></p>
[QUOTE="RyLe, post: 1150649, member: 377555"] Ok, so, a few 6.4.X FC38 kernel updates went by and I was tired of having to go back to the old 6.3.X kernel each time, so I looked at this one more time. The "technique" link I mentioned above is wrong as it gives the wrong parameter to class_create, I should have looked into the [URL='https://github.com/torvalds/linux/blob/master/drivers/media/dvb-core/dvbdev.c']updated kernel sources[/URL] sooner. I can now build the modified drivers and have a functionnal setup using a 6.4.X kernel :) Here are my modifications to be able to compile and use blindscan_kernel on a 6.4.X kernel: in [ICODE]~/blindscan_kernel/media_build/v4l/Makefile :[/ICODE] add [ICODE]EXTRA_CFLAGS += -Wno-error=incompatible-pointer-types[/ICODE] near to other EXTRA_CFLAGS in [ICODE]~/blindscan_kernel/media/drivers/media/dvb-core/dvbdec.c :[/ICODE] change [ICODE]dvb_class = class_create(THIS_MODULE, "dvb");[/ICODE] to [ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) dvb_class = class_create(THIS_MODULE, "dvb"); #else dvb_class = class_create("dvb"); #endif[/ICODE] in [ICODE]~/blindscan_kernel/media/drivers/media/pci/ddbridge/ddbridge-core.c[/ICODE] near [ICODE]class ddb_class[/ICODE], change [ICODE].owner = THIS_MODULE,[/ICODE] to [ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) .owner = THIS_MODULE, #else // #endif[/ICODE] /!\warning/!\, as I don't have a Digital Devices card, I don't know if this modification is working. in [ICODE]~/blindscan_kernel/media/drivers/media/pci/tbsmod/tbsmod.c[/ICODE] change [ICODE]mod_cdev_class = class_create(THIS_MODULE, "tbsmod");[/ICODE] to [ICODE]#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) mod_cdev_class = class_create(THIS_MODULE, "tbsmod"); #else mod_cdev_class = class_create("tbsmod"); #endif[/ICODE] And that's all :) [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Satellite TV receivers & systems support forums
Satellite PC Card Receivers, Internet by Satellite
neumoDVB
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top