Em Sun, 25 Jun 2017 19:52:59 +0200
Daniel Scheller <d.scheller....@gmail.com> escreveu:

> Am Sat, 24 Jun 2017 13:50:01 -0300
> schrieb Mauro Carvalho Chehab <mche...@s-opensource.com>:
> 
> > Em Thu, 22 Jun 2017 23:35:27 +0200
> > Ralph Metzler <r...@metzlerbros.de> escreveu:
> > 
> > Would it be possible to change things at the dddvb tree to make
> > it to use our coding style (for example, replacing CamelCase by the
> > kernel_style), in order to minimize the amount of work to sync from
> > your tree?  
> 
> Note that this mostly (if not only) applies to the demodulator drivers. 
> ddbridge itself is okay in this regard and has only some minors like indent, 
> whitespace and such. There's one bigger thing though I'm not sure of if it 
> needs to be changed: Beginning with the 0.9.9-tarball release, functionality 
> was split from ddbridge-core.c into ddbridge.c, ddbridge-i2c.c, 
> ddbridge-mod.c and ddbridge-ns.c (the two latter being modulator and 
> netstream/octonet related code, which we don't need at this time). The issue 
> is that this wasn't done by updating the build system to build multiple 
> objects, but rather build from ddbridge.c which then does '#include 
> "ddbridge-core.c"', and in that file '#include "ddbridge-i2c.c"'. See [1] for 
> how it actually looks like in the file. Mauro, do you think this is 
> acceptable?

Splitting it is OK. Including a *.c file no. It shouldn't be hard to
change the makefile to:
        obj-ddbridge = ddbridge-main.o ddbridge-core.o ddbridge-i2c.o \
                       ddbridge-modulator.o and ddbridge-ns.o

The only detail is that "ddbridge.c" should be renamed to 
ddbridge-core.c (or something similar) and some *.h files will
be needed.

I would also refrain for using ddbridge-mod, as the Kernel build
system generates file with ".mod.c" extension. Having a file
with "-mod.c" can be confusing.

> > > Regarding divergence in the tuner/demod drivers I see some concerns. 
> > > The TDA18212 driver as they are presently in kernel and Daniel's  github 
> > > tree still seems to be missing features
> > > like calibration and spur avoidance. This problem was already discussed 
> > > here a few years ago.
> > > I would not want to move to these versions if those features are still 
> > > missing.    
> > 
> > I don't see any issue on adding the missing features to the existing
> > tda18212 driver. Maybe Daniel can help adding the missing features there.
> > 
> > The best would be to make those new features opt-in, in order to allow 
> > drivers to gradually use them (after tests), avoiding regressions.  
> 
> I already started something when I searched for possible reasons for the 
> stv0367 I2C bus crashes and implemented the tuner calibration (this wasn't 
> the reason in the end, but still), see [2]. Guess a config flag like in [3] 
> will work. But I'd need advice in what parts are required to be ported over 
> if I should do this.

Yes, config flags work, but please don't use a config flag like this:

        if (initflags & TDA18212_INIT_DDSTV) 

The flags should identify the required functionality, not if the
caller is ddbridge driver. On a quick look at your patch, I suspect
that it would need two flags, like:

        TDA18212_FLAG_SLEEP - with would enable sleep/wakeup/standby
        TDA18212_FLAG_CALIBRATION - with would enable calibration


> 
> > > - adding SYS_DVBC2 to fe_delivery_system     
> > 
> > OK, we can do that, when adding a driver needing such feature.  
> 
> I might volunteer in adding DVB-C2 support to cxd2841er in porting needed 
> bits over from the cxd2843 driver, but someone else need to do testing on a 
> DVB-C2 enabled coax cable.

I can't volunteer myself for the tests, as it depends on how busy
I'll be with other things, but I have an universal standard generator,
and some ddbridge frontends. Not sure if the one I have has
cxd2341er. I won't be able to touch on it for the next month,
though.

I will need ~60 seconds of a DVB-C2 signal, in order to use the
generator, though.

> 
> Best regards,
> Daniel Scheller
> 
> [1] 
> https://github.com/herrnst/dddvb-linux-kernel/blob/17d60ca45dd0294120882af9abbbdf9e5a130cb5/drivers/media/pci/ddbridge/ddbridge.c#L50
> [2] 
> https://github.com/herrnst/dddvb-linux-kernel/commit/0788bd5e05fffdcd2d00d1fa2732c9712c6c759d
> [3] https://patchwork.linuxtv.org/patch/40710/



Thanks,
Mauro

Reply via email to