Re: [PATCH] media: ttpci/ttusb: add extra parameter to filter callbacks
Hi Mauro, I love your patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v4.16-rc3 next-20180223] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/media-ttpci-ttusb-add-extra-parameter-to-filter-callbacks/20180226-144150 base: git://linuxtv.org/media_tree.git master config: i386-randconfig-x019-201808 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/media/usb/ttusb-dec/ttusb_dec.c: In function 'ttusb_dec_audio_pes2ts_cb': >> drivers/media/usb/ttusb-dec/ttusb_dec.c:430:2: error: too many arguments to >> function 'dec->audio_filter->feed->cb.ts' dec->audio_filter->feed->cb.ts(data, 188, NULL, 0, ^~~ drivers/media/usb/ttusb-dec/ttusb_dec.c: In function 'ttusb_dec_video_pes2ts_cb': >> drivers/media/usb/ttusb-dec/ttusb_dec.c:440:2: error: too many arguments to >> function 'dec->video_filter->feed->cb.ts' dec->video_filter->feed->cb.ts(data, 188, NULL, 0, ^~~ drivers/media/usb/ttusb-dec/ttusb_dec.c: In function 'ttusb_dec_process_pva': drivers/media/usb/ttusb-dec/ttusb_dec.c:492:4: error: too many arguments to function 'dec->video_filter->feed->cb.ts' dec->video_filter->feed->cb.ts(pva, length, NULL, 0, ^~~ drivers/media/usb/ttusb-dec/ttusb_dec.c:553:4: error: too many arguments to function 'dec->audio_filter->feed->cb.ts' dec->audio_filter->feed->cb.ts(pva, length, NULL, 0, ^~~ drivers/media/usb/ttusb-dec/ttusb_dec.c: In function 'ttusb_dec_process_filter': >> drivers/media/usb/ttusb-dec/ttusb_dec.c:591:3: error: too many arguments to >> function 'filter->feed->cb.sec' filter->feed->cb.sec(&packet[2], length - 2, NULL, 0, ^~ vim +430 drivers/media/usb/ttusb-dec/ttusb_dec.c ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 425 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 426 static int ttusb_dec_audio_pes2ts_cb(void *priv, unsigned char *data) ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 427 { f961e71a0 drivers/media/dvb/ttusb-dec/ttusb_dec.c Alex Woods 2006-01-09 428 struct ttusb_dec *dec = priv; ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 429 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 @430 dec->audio_filter->feed->cb.ts(data, 188, NULL, 0, daaf93025 drivers/media/usb/ttusb-dec/ttusb_dec.c Mauro Carvalho Chehab 2018-02-23 431 &dec->audio_filter->feed->feed.ts, NULL); ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 432 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 433 return 0; ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 434 } ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 435 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 436 static int ttusb_dec_video_pes2ts_cb(void *priv, unsigned char *data) ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 437 { f961e71a0 drivers/media/dvb/ttusb-dec/ttusb_dec.c Alex Woods 2006-01-09 438 struct ttusb_dec *dec = priv; ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 439 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 @440 dec->video_filter->feed->cb.ts(data, 188, NULL, 0, daaf93025 drivers/media/usb/ttusb-dec/ttusb_dec.c Mauro Carvalho Chehab 2018-02-23 441 &dec->video_filter->feed->feed.ts, NULL); ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 442 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 443 return 0; ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 444 } ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 445 ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 446 static void ttusb_dec_set_pids(struct ttusb_dec *dec) ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 447 { ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 448 u8 b[] = { 0x00, 0x00, 0x00, 0x00, ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_dec.c Linus Torvalds 2005-04-16 4490x00, 0x00, 0xff, 0xff, ^1da177e4 drivers/media/dvb/ttusb-dec/ttusb_
Re: [PATCH] media: ttpci/ttusb: add extra parameter to filter callbacks
Hi Mauro, I love your patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v4.16-rc3 next-20180223] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mauro-Carvalho-Chehab/media-ttpci-ttusb-add-extra-parameter-to-filter-callbacks/20180226-144150 base: git://linuxtv.org/media_tree.git master config: x86_64-randconfig-x004-201808 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/media/pci/ttpci/av7110_av.c: In function 'av7110_record_cb': >> drivers/media/pci/ttpci/av7110_av.c:101:10: error: too many arguments to >> function 'dvbdmxfeed->cb.ts' return dvbdmxfeed->cb.ts(buf, len, NULL, 0, ^~ drivers/media/pci/ttpci/av7110_av.c: In function 'dvb_filter_pes2ts_cb': drivers/media/pci/ttpci/av7110_av.c:111:2: error: too many arguments to function 'dvbdmxfeed->cb.ts' dvbdmxfeed->cb.ts(data, 188, NULL, 0, ^~ drivers/media/pci/ttpci/av7110_av.c: In function 'p_to_t': >> drivers/media/pci/ttpci/av7110_av.c:817:3: error: too many arguments to >> function 'feed->cb.ts' feed->cb.ts(obuf, 188, NULL, 0, &feed->feed.ts, NULL); ^~~~ -- drivers/media/pci/ttpci/av7110.c: In function 'DvbDmxFilterCallback': >> drivers/media/pci/ttpci/av7110.c:325:10: error: too many arguments to >> function 'dvbdmxfilter->feed->cb.sec' return dvbdmxfilter->feed->cb.sec(buffer1, buffer1_len, ^~~~ >> drivers/media/pci/ttpci/av7110.c:332:11: error: too many arguments to >> function 'dvbdmxfilter->feed->cb.ts' return dvbdmxfilter->feed->cb.ts(buffer1, buffer1_len, ^~~~ vim +101 drivers/media/pci/ttpci/av7110_av.c ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 90 ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 91 ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 92 int av7110_record_cb(struct dvb_filter_pes2ts *p2t, u8 *buf, size_t len) ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 93 { ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 94 struct dvb_demux_feed *dvbdmxfeed = (struct dvb_demux_feed *) p2t->priv; ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 95 ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 96 if (!(dvbdmxfeed->ts_type & TS_PACKET)) ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 97 return 0; ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 98 if (buf[3] == 0xe0) // video PES do not have a length in TS ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 99 buf[4] = buf[5] = 0; ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 100 if (dvbdmxfeed->ts_type & TS_PAYLOAD_ONLY) ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 @101 return dvbdmxfeed->cb.ts(buf, len, NULL, 0, daaf9302 drivers/media/pci/ttpci/av7110_av.c Mauro Carvalho Chehab 2018-02-23 102 &dvbdmxfeed->feed.ts, NULL); ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 103 else ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 104 return dvb_filter_pes2ts(p2t, buf, len, 1); ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 105 } ^1da177e drivers/media/dvb/ttpci/av7110_av.c Linus Torvalds2005-04-16 106 :: The code at line 101 was first introduced by commit :: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :: TO: Linus Torvalds :: CC: Linus Torvalds --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] media: ttpci/ttusb: add extra parameter to filter callbacks
Em Fri, 23 Feb 2018 19:52:48 +0200 Laurent Pinchart escreveu: > Hi Mauro, > > Thank you for the patch. > > On Friday, 23 February 2018 18:43:48 EET Mauro Carvalho Chehab wrote: > > The filter callbaks now have an optional extra argument, > > meant to allow reporting statistics to userspace via mmap. > > > > Set those to NULL, in order to avoid those build errors: > > + drivers/media/pci/ttpci/av7110.c: error: too few arguments to function > > 'dvbdmxfilter->feed->cb.sec': => 325:10 + > > drivers/media/pci/ttpci/av7110.c: error: too few arguments to function > > 'dvbdmxfilter->feed->cb.ts': => 332:11 + > > drivers/media/pci/ttpci/av7110_av.c: error: too few arguments to function > > 'feed->cb.ts': => 817:3 > > > > I think this misses a Fixes: line. Apart from that it looks good to me. > > With the Fixes: line, > > Acked-by: Laurent Pinchart Thanks for review. While not too late, I actually decided in favor of merging it with the original patch, in order to avoid git bisect issues, as the other patch was applied today on my fixes branch. Regards, Mauro
Re: [PATCH] media: ttpci/ttusb: add extra parameter to filter callbacks
Hi Mauro, Thank you for the patch. On Friday, 23 February 2018 18:43:48 EET Mauro Carvalho Chehab wrote: > The filter callbaks now have an optional extra argument, > meant to allow reporting statistics to userspace via mmap. > > Set those to NULL, in order to avoid those build errors: > + drivers/media/pci/ttpci/av7110.c: error: too few arguments to function > 'dvbdmxfilter->feed->cb.sec': => 325:10 + > drivers/media/pci/ttpci/av7110.c: error: too few arguments to function > 'dvbdmxfilter->feed->cb.ts': => 332:11 + > drivers/media/pci/ttpci/av7110_av.c: error: too few arguments to function > 'feed->cb.ts': => 817:3 > I think this misses a Fixes: line. Apart from that it looks good to me. With the Fixes: line, Acked-by: Laurent Pinchart > Signed-off-by: Mauro Carvalho Chehab > --- > drivers/media/pci/ttpci/av7110.c| 5 +++-- > drivers/media/pci/ttpci/av7110_av.c | 6 +++--- > drivers/media/usb/ttusb-dec/ttusb_dec.c | 10 +- > 3 files changed, 11 insertions(+), 10 deletions(-) > > diff --git a/drivers/media/pci/ttpci/av7110.c > b/drivers/media/pci/ttpci/av7110.c index dc8e577b2f74..d6816effb878 100644 > --- a/drivers/media/pci/ttpci/av7110.c > +++ b/drivers/media/pci/ttpci/av7110.c > @@ -324,14 +324,15 @@ static int DvbDmxFilterCallback(u8 *buffer1, size_t > buffer1_len, } > return dvbdmxfilter->feed->cb.sec(buffer1, buffer1_len, > buffer2, buffer2_len, > - &dvbdmxfilter->filter); > + &dvbdmxfilter->filter, NULL); > case DMX_TYPE_TS: > if (!(dvbdmxfilter->feed->ts_type & TS_PACKET)) > return 0; > if (dvbdmxfilter->feed->ts_type & TS_PAYLOAD_ONLY) > return dvbdmxfilter->feed->cb.ts(buffer1, buffer1_len, >buffer2, buffer2_len, > - > &dvbdmxfilter->feed->feed.ts); > + > &dvbdmxfilter->feed->feed.ts, > + NULL); > else > av7110_p2t_write(buffer1, buffer1_len, >dvbdmxfilter->feed->pid, > diff --git a/drivers/media/pci/ttpci/av7110_av.c > b/drivers/media/pci/ttpci/av7110_av.c index 4daba76ec240..ef1bc17cdc4d > 100644 > --- a/drivers/media/pci/ttpci/av7110_av.c > +++ b/drivers/media/pci/ttpci/av7110_av.c > @@ -99,7 +99,7 @@ int av7110_record_cb(struct dvb_filter_pes2ts *p2t, u8 > *buf, size_t len) buf[4] = buf[5] = 0; > if (dvbdmxfeed->ts_type & TS_PAYLOAD_ONLY) > return dvbdmxfeed->cb.ts(buf, len, NULL, 0, > - &dvbdmxfeed->feed.ts); > + &dvbdmxfeed->feed.ts, NULL); > else > return dvb_filter_pes2ts(p2t, buf, len, 1); > } > @@ -109,7 +109,7 @@ static int dvb_filter_pes2ts_cb(void *priv, unsigned > char *data) struct dvb_demux_feed *dvbdmxfeed = (struct dvb_demux_feed *) > priv; > > dvbdmxfeed->cb.ts(data, 188, NULL, 0, > - &dvbdmxfeed->feed.ts); > + &dvbdmxfeed->feed.ts, NULL); > return 0; > } > > @@ -814,7 +814,7 @@ static void p_to_t(u8 const *buf, long int length, u16 > pid, u8 *counter, memcpy(obuf + l, buf + c, TS_SIZE - l); > c = length; > } > - feed->cb.ts(obuf, 188, NULL, 0, &feed->feed.ts); > + feed->cb.ts(obuf, 188, NULL, 0, &feed->feed.ts, NULL); > pes_start = 0; > } > } > diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c > b/drivers/media/usb/ttusb-dec/ttusb_dec.c index a8900f5571f7..44ca66cb9b8f > 100644 > --- a/drivers/media/usb/ttusb-dec/ttusb_dec.c > +++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c > @@ -428,7 +428,7 @@ static int ttusb_dec_audio_pes2ts_cb(void *priv, > unsigned char *data) struct ttusb_dec *dec = priv; > > dec->audio_filter->feed->cb.ts(data, 188, NULL, 0, > -&dec->audio_filter->feed->feed.ts); > +&dec->audio_filter->feed->feed.ts, NULL); > > return 0; > } > @@ -438,7 +438,7 @@ static int ttusb_dec_video_pes2ts_cb(void *priv, > unsigned char *data) struct ttusb_dec *dec = priv; > > dec->video_filter->feed->cb.ts(data, 188, NULL, 0, > -&dec->video_filter->feed->feed.ts); > +&dec->video_filter->feed->feed.ts, NULL); > > return 0; > } > @@ -490,7 +490,7 @@ static void ttusb_dec_process_pva(struct ttusb_dec *dec, > u8 *pva, int length) > > if (output_pva) { > dec->video_filter->feed->cb.ts(pva, length, NULL, 0, > - &dec->video_filter->feed->feed.ts)