Markus Rechberger wrote: > On 5/15/07, Oliver Endriss <o.endriss@xxxxxx> wrote: > > Markus Rechberger wrote: > > > to be more accurate where all the changes happened: > > > b/linux/drivers/media/tuners/Kconfig | 14 > > > b/linux/drivers/media/tuners/Makefile | 7 > > > b/linux/drivers/media/tuners/xc3028-tuner.c | 601 ++++ > > > b/linux/drivers/media/tuners/xc3028-tuner.h | 20 > > > b/linux/drivers/media/video/em28xx/em2880-dvb.c | 748 ++++ > > > b/linux/drivers/media/video/em28xx/em28xx-audio.c | 439 ++ > > > b/linux/drivers/media/video/em28xx/em28xx-webcam.c | 365 ++ > > > b/linux/include/media/v4l_dvb_tuner.h | 131 > > > linux/Documentation/video4linux/CARDLIST.cx88 | 3 > > > linux/Documentation/video4linux/CARDLIST.em28xx | 69 > > > linux/Documentation/video4linux/CARDLIST.tuner | 1 > > > linux/drivers/media/Kconfig | 2 > > > linux/drivers/media/Makefile | 1 > > > linux/drivers/media/common/ir-keymaps.c | 221 + > > > linux/drivers/media/dvb/b2c2/flexcop-fe-tuner.c | 21 > > > linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c | 34 > > > linux/drivers/media/dvb/dvb-core/dmxdev.c | 6 > > > linux/drivers/media/dvb/dvb-core/dmxdev.h | 1 > > > linux/drivers/media/dvb/dvb-core/dvb_demux.c | 3 > > > linux/drivers/media/dvb/dvb-core/dvb_demux.h | 3 > > > linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 29 > > > linux/drivers/media/dvb/dvb-core/dvb_frontend.h | 64 > > > linux/drivers/media/dvb/dvb-core/dvb_net.c | 29 > > > linux/drivers/media/dvb/dvb-core/dvb_net.h | 1 > > > linux/drivers/media/dvb/dvb-usb/af9005-fe.c | 12 > > > linux/drivers/media/dvb/dvb-usb/au6610.c | 3 > > > linux/drivers/media/dvb/dvb-usb/cxusb.c | 150 > > > linux/drivers/media/dvb/dvb-usb/cxusb.h | 2 > > > linux/drivers/media/dvb/dvb-usb/dib0700_devices.c | 7 > > > linux/drivers/media/dvb/dvb-usb/dibusb-common.c | 6 > > > linux/drivers/media/dvb/dvb-usb/dibusb-mb.c | 17 > > > linux/drivers/media/dvb/dvb-usb/digitv.c | 7 > > > linux/drivers/media/dvb/dvb-usb/dvb-usb-i2c.c | 11 > > > linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 2 > > > linux/drivers/media/dvb/dvb-usb/dvb-usb.h | 8 > > > linux/drivers/media/dvb/dvb-usb/gl861.c | 3 > > > linux/drivers/media/dvb/dvb-usb/m920x.c | 14 > > > linux/drivers/media/dvb/dvb-usb/opera1.c | 3 > > > linux/drivers/media/dvb/dvb-usb/ttusb2.c | 3 > > > linux/drivers/media/dvb/dvb-usb/umt-010.c | 3 > > > linux/drivers/media/dvb/frontends/at76c651.c | 2 > > > linux/drivers/media/dvb/frontends/bsbe1.h | 3 > > > linux/drivers/media/dvb/frontends/bsru6.h | 3 > > > linux/drivers/media/dvb/frontends/cx22700.c | 2 > > > linux/drivers/media/dvb/frontends/cx22702.c | 2 > > > linux/drivers/media/dvb/frontends/cx24110.c | 2 > > > linux/drivers/media/dvb/frontends/dib3000mb.c | 2 > > > linux/drivers/media/dvb/frontends/dib3000mc.c | 2 > > > linux/drivers/media/dvb/frontends/dib7000m.c | 2 > > > linux/drivers/media/dvb/frontends/dib7000p.c | 2 > > > linux/drivers/media/dvb/frontends/dvb-pll.c | 65 > > > linux/drivers/media/dvb/frontends/dvb-pll.h | 19 > > > linux/drivers/media/dvb/frontends/dvb_dummy_fe.c | 2 > > > linux/drivers/media/dvb/frontends/l64781.c | 2 > > > linux/drivers/media/dvb/frontends/lgdt330x.c | 6 > > > linux/drivers/media/dvb/frontends/mt2060.c | 43 > > > linux/drivers/media/dvb/frontends/mt2060.h | 6 > > > linux/drivers/media/dvb/frontends/mt312.c | 2 > > > linux/drivers/media/dvb/frontends/mt352.c | 15 > > > linux/drivers/media/dvb/frontends/mt352.h | 3 > > > linux/drivers/media/dvb/frontends/nxt200x.c | 2 > > > linux/drivers/media/dvb/frontends/nxt6000.c | 2 > > > linux/drivers/media/dvb/frontends/or51132.c | 2 > > > linux/drivers/media/dvb/frontends/qt1010.c | 59 > > > linux/drivers/media/dvb/frontends/qt1010.h | 4 > > > linux/drivers/media/dvb/frontends/s5h1420.c | 6 > > > linux/drivers/media/dvb/frontends/sp8870.c | 2 > > > linux/drivers/media/dvb/frontends/sp887x.c | 4 > > > linux/drivers/media/dvb/frontends/stv0297.c | 2 > > > linux/drivers/media/dvb/frontends/stv0299.c | 4 > > > linux/drivers/media/dvb/frontends/tda10021.c | 2 > > > linux/drivers/media/dvb/frontends/tda10023.c | 2 > > > linux/drivers/media/dvb/frontends/tda1004x.c | 2 > > > linux/drivers/media/dvb/frontends/tda10086.c | 4 > > > linux/drivers/media/dvb/frontends/tda8083.c | 2 > > > linux/drivers/media/dvb/frontends/tda80xx.c | 2 > > > linux/drivers/media/dvb/frontends/tda826x.c | 21 > > > linux/drivers/media/dvb/frontends/tda826x.h | 4 > > > linux/drivers/media/dvb/frontends/tda827x.c | 88 > > > linux/drivers/media/dvb/frontends/tda827x.h | 4 > > > linux/drivers/media/dvb/frontends/tua6100.c | 33 > > > linux/drivers/media/dvb/frontends/tua6100.h | 4 > > > linux/drivers/media/dvb/frontends/ves1820.c | 2 > > > linux/drivers/media/dvb/frontends/ves1x93.c | 2 > > > linux/drivers/media/dvb/frontends/zl10353.c | 24 > > > linux/drivers/media/dvb/frontends/zl10353.h | 7 > > > linux/drivers/media/dvb/frontends/zl10353_priv.h | 2 > > > linux/drivers/media/dvb/pluto2/pluto2.c | 7 > > > linux/drivers/media/dvb/ttpci/av7110.c | 50 > > > linux/drivers/media/dvb/ttpci/budget-av.c | 32 > > > linux/drivers/media/dvb/ttpci/budget-ci.c | 22 > > > linux/drivers/media/dvb/ttpci/budget-patch.c | 10 > > > linux/drivers/media/dvb/ttpci/budget.c | 28 > > > linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c | 35 > > > linux/drivers/media/video/cx88/cx88-cards.c | 105 > > > linux/drivers/media/video/cx88/cx88-dvb.c | 51 > > > linux/drivers/media/video/cx88/cx88-i2c.c | 72 > > > linux/drivers/media/video/cx88/cx88.h | 5 > > > linux/drivers/media/video/em28xx/Kconfig | 29 > > > linux/drivers/media/video/em28xx/Makefile | 6 > > > linux/drivers/media/video/em28xx/em28xx-cards.c | 1898 +++++++++++- > > > linux/drivers/media/video/em28xx/em28xx-core.c | 773 +++-- > > > linux/drivers/media/video/em28xx/em28xx-i2c.c | 344 ++ > > > linux/drivers/media/video/em28xx/em28xx-input.c | 158 + > > > linux/drivers/media/video/em28xx/em28xx-video.c | 2402 ++++++++++++---- > > > linux/drivers/media/video/em28xx/em28xx.h | 552 ++- > > > linux/drivers/media/video/saa7134/saa7134-cards.c | 85 > > > linux/drivers/media/video/saa7134/saa7134-dvb.c | 67 > > > linux/drivers/media/video/saa7134/saa7134-i2c.c | 44 > > > linux/drivers/media/video/saa7134/saa7134.h | 4 > > > linux/drivers/media/video/tuner-core.c | 171 + > > > linux/drivers/media/video/tveeprom.c | 2 > > > linux/include/media/ir-common.h | 6 > > > linux/include/media/tuner.h | 7 > > > linux/include/media/v4l2-common.h | 2 > > > v4l/Makefile | 4 > > > v4l/scripts/cardlist | 1 > > > v4l/scripts/em28xx.pl | 97 > > > v4l/scripts/gentree.pl | 1 > > > v4l/scripts/tuner.pl | 3 > > > 120 files changed, 9118 insertions(+), 1496 deletions(-) > > > > Sorry Markus, imho it is an offence to post a patchbomb like this. > > It does not help if you add support for 50+ devices while possibly > > breaking 25 other ones. > > > > I know this is quite an offence, but history lead to that and this is > just the result of it. > Because not dealing with the whole issue and pushing it away for a long time. > Many people know and knew that this project exist for a long time. > Also the 2-10 liners aren't hard to review so that would cut out alot already. > > > Please remember that the typical driver maintainer is not able to test > > all devices supported by the drivers which he is responsible for. > > (For example, I can only test 4 out of 52 devices of the dvb/ttpci.) > > > > > As from my side I don't have the time to do a major rewrite or doing > > > some reordering again, please try to make the best out of what's > > > available now. > > > > You don't have the time but you expect that all other maintainers take > > the time to review your patch monster. Sorry, my time is limited, too. > > Sure it will take some time but I expect that it won't get delayed anymore. > Every little patch might add some new dependencies to that patchbomb > which adds extra work. > The only options I see: > a.) freeze v4l-dvb development and work on the integration of that patchbomb > b.) fork off v4l-dvb, keep the tree uptodate and work with several > linux distributions directly > c.) don't expect that I will do any major changes, I did them 3 times > already for nothing. Sorry, from looking through your other replies, I get the impression that your favourite option is b) :-( Now to the technical side: I've applied all patches to a fresh copy of HG master and compared the result. I don't care what happens between patch #1 and patch #93. :-D After looking through dvb-core, frontend and ttpci changes I wonder why it should be necessary to touch the interface for DVB-only frontend drivers at all. It suggest to _add_ v4l_dvb_tuner_ops to 'struct dvb_frontend_ops'. This way most changes to frontend/card drivers can be dropped. dvb_frontend.c can be easily modified to use v4l_dvb_tuner_ops _or_ dvb_tuner_ops as required: + Only drivers for hybrid tuners need to be modified. And the new interface can be optimized without having to change all drivers. + This would avoid tons of ugly code introduced by the patchset.[*] - Wastes a few bytes in 'struct dvb_frontend_ops' and dvb_frontend.c. [*] For example: old: fe->ops.tuner_ops.set_params(fe, p); new: fe->ops.tuner_ops.set_params(&fe->ops.tuner_ops, V4L_OPS(p)); That's both hard to read and contains a nasty macro expansion. (Look at the definition of V4L_OPS!) Oliver -- -------------------------------------------------------- VDR Remote Plugin 0.3.9 available at http://www.escape-edv.de/endriss/vdr/ -------------------------------------------------------- _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb