On 21/08/2020 14:58, Daniel W. S. Almeida wrote: > From: "Daniel W. S. Almeida" <dwlsalmeida@xxxxxxxxx> > > This series is work in progress. It represents the current work done on a > virtual DVB driver for the Linux media subsystem. I am new to the media > subsystem and to kernel development in general. > > This driver aims to: > - Serve as template for new DVB driver writers > - Help userspace application writers in general > - Push fake audio/video to userspace for testing > purposes > - Push debug information to userspace via debugfs > > Current state for this driver: > - Driver generates PSI information (PAT, PMT, SDT) > - Driver generates PCR packets > - Driver generates NULL packets for padding > - PCM audio stream is decoded by ffmpeg, but no audio is heard yet. > > > changes in v10: > s302m encoder got reworked Hi Daniel, Mauro, When compiling for a 32 bit system I get these warnings: linux-5.9-rc1-i686: WARNINGS In file included from ./include/linux/kernel.h:15, from ./include/asm-generic/bug.h:20, from ./arch/x86/include/asm/bug.h:93, from ./include/linux/bug.h:5, from ./include/linux/mmdebug.h:5, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/config-compat.h:12, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/compat.h:10, from <command-line>: /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_common.c: In function 'vidtv_memcpy': ./include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ ./include/linux/printk.h:508:10: note: in definition of macro 'printk_ratelimited' 508 | printk(fmt, ##__VA_ARGS__); \ | ^~~ ./include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH' 11 | #define KERN_ERR KERN_SOH "3" /* error conditions */ | ^~~~~~~~ ./include/linux/printk.h:522:21: note: in expansion of macro 'KERN_ERR' 522 | printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~ /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_common.c:46:3: note: in expansion of macro 'pr_err_ratelimited' 46 | pr_err_ratelimited("overflow detected, skipping. Try increasing the buffer size. Needed %lu, had %zu\n", | ^~~~~~~~~~~~~~~~~~ /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_common.c: In function 'vidtv_memset': ./include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ ./include/linux/printk.h:508:10: note: in definition of macro 'printk_ratelimited' 508 | printk(fmt, ##__VA_ARGS__); \ | ^~~ ./include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH' 11 | #define KERN_ERR KERN_SOH "3" /* error conditions */ | ^~~~~~~~ ./include/linux/printk.h:522:21: note: in expansion of macro 'KERN_ERR' 522 | printk_ratelimited(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~ /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_common.c:82:3: note: in expansion of macro 'pr_err_ratelimited' 82 | pr_err_ratelimited("overflow detected, skipping. Try increasing the buffer size. Needed %lu, had %zu\n", | ^~~~~~~~~~~~~~~~~~ In file included from ./include/linux/kernel.h:15, from ./include/asm-generic/bug.h:20, from ./arch/x86/include/asm/bug.h:93, from ./include/linux/bug.h:5, from ./include/linux/mmdebug.h:5, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/config-compat.h:12, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/compat.h:10, from <command-line>: /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_s302m.c: In function 'vidtv_s302m_write_frames': ./include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'u32' {aka 'unsigned int'} [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ ./include/linux/printk.h:508:10: note: in definition of macro 'printk_ratelimited' 508 | printk(fmt, ##__VA_ARGS__); \ | ^~~ ./include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH' 12 | #define KERN_WARNING KERN_SOH "4" /* warning conditions */ | ^~~~~~~~ ./include/linux/printk.h:524:21: note: in expansion of macro 'KERN_WARNING' 524 | printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~ /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_s302m.c:426:4: note: in expansion of macro 'pr_warn_ratelimited' 426 | pr_warn_ratelimited("write size was %d, expected %lu\n", | ^~~~~~~~~~~~~~~~~~~ In file included from ./include/linux/bitops.h:5, from ./include/linux/kernel.h:12, from ./include/asm-generic/bug.h:20, from ./arch/x86/include/asm/bug.h:93, from ./include/linux/bug.h:5, from ./include/linux/mmdebug.h:5, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/config-compat.h:12, from /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/compat.h:10, from <command-line>: /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_pes.c: In function 'vidtv_pes_write_pts_dts': ./include/linux/bits.h:36:11: warning: right shift count is negative [-Wshift-count-negative] 36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h)))) | ^~ ./include/linux/bits.h:38:31: note: in expansion of macro '__GENMASK' 38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) | ^~~~~~~~~ /home/hans/work/build/trees/i686/linux-5.9-rc1/media_build/v4l/vidtv_pes.c:99:10: note: in expansion of macro 'GENMASK' 99 | mask1 = GENMASK(32, 30); | ^~~~~~~ Please take a look at this. Regards, Hans