Skip to contentSkip to conversation

I2C media binding model

DISCUSSION Mauro Carvalho Chehab 2 participants 3 messages Mar 7, 2018 – Mar 16, 2018 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi Akihiro-san,

There are a number of patches that you sent with a proposal for a new I2C binding model:

1. [v3,1/4] dvb: qm1d1c0042: use dvb-core i2c binding model template

        http://patchwork.linuxtv.org/patch/27923
2. dvb: mxl301rf: use dvb-core i2c binding model template
        http://patchwork.linuxtv.org/patch/27924
3. [v3,3/4] dvb: tc90522: use dvb-core i2c binding model template
        http://patchwork.linuxtv.org/patch/27925  
4. [v3,4/4] dvb: earth-pt3: use dvb-core i2c binding model template
        http://patchwork.linuxtv.org/patch/27926 
5. Jan,16 2015: [v2,1/2] dvb: tua6034: add a new driver for Infineon tua6034 tuner
        http://patchwork.linuxtv.org/patch/27927 
6. Jan,16 2015: [v2,2/2] dvb-usb-friio: split and merge into dvb-usbv2-gl861
        http://patchwork.linuxtv.org/patch/27928 
7. Mar,25 2015: [RESEND] media: dmxdev: fix possible race condition
        http://patchwork.linuxtv.org/patch/28968 

Yet, at the end of the day, we opted to use Antti's proposal, with has been implemented on several drivers.

The only missing part were an easy way to bind to it, with was provided last week with this patch:

	https://git.linuxtv.org/media_tree.git/commit/?id=8f569c0b4e6b6bd5db1d09551b2df87d912f124e

And an example about how to use it:

	https://git.linuxtv.org/media_tree.git/commit/?id=ad32495b1513fe8cbab717411b9cd8d2d285de30

So, could you please modify the drivers you submitted to use this?

I'll mark them at patchwork as "Changes Requested".

Thank you!
Mauro

Thanks,
Mauro

#1 lore raw

Hi,

As the new i2c binding helper was introduced,
I am now re-writing the following patches to use new helper functions.

Quoted 4 lines

5. Jan,16 2015: [v2,1/2] dvb: tua6034: add a new driver for Infineon tua6034 tuner

        http://patchwork.linuxtv.org/patch/27927 
6. Jan,16 2015: [v2,2/2] dvb-usb-friio: split and merge into dvb-usbv2-gl861
        http://patchwork.linuxtv.org/patch/27928 

But I noticed that the tua6034 (used in Friio devices) can be supported by "tuner-simple" driver.
Since "tuner-simple" is not an i2c driver,
I am wondering if
1) I should use/modify "tuner-simple" driver without adding new one but with one more dvb_attach un-replaced, or,
2) I should make a new i2c driver as my previous patch #27927 but with the duplicated function with tuner-simple.

Re-writing tuner-simple into a new i2c driver does not seem to be an option to me, because that would affect lots of dvb/v4l drivers, and I cannot test them.

In addition, I also intend to re-write "earth-pt1" driver in the future by decomposing the current monolithic module into component drivers:
bridge: earth-pt1 (cut down one)
demod: tc90522
TERR-tuner: tda6654 (NEW?)
SAT-tuner: qm1d1b0004 (NEW)

There exists a "tda665x" tuner driver (in dvb-frontends/), but it does not use the new i2c binding helpers either, and it seems that it can be supported by "tuner-simple" as well. So the similar situation here, though the tda665x driver is used only by "mantis" currently.

So, which way should I go?
modify/use "tuner-simple" for now and update to a i2c driver later? or introduce a new & redundant i2c driver?

regards,
Akihiro

#2 lore raw

Em Fri, 16 Mar 2018 23:50:31 +0900
Akihiro TSUKADA <[email protected]> escreveu:

Quoted 9 lines

Hi,

As the new i2c binding helper was introduced,
I am now re-writing the following patches to use new helper functions.

Quoted 4 lines

5. Jan,16 2015: [v2,1/2] dvb: tua6034: add a new driver for Infineon tua6034 tuner

        http://patchwork.linuxtv.org/patch/27927 
6. Jan,16 2015: [v2,2/2] dvb-usb-friio: split and merge into dvb-usbv2-gl861
        http://patchwork.linuxtv.org/patch/27928   

Thank you!

Quoted 9 lines

But I noticed that the tua6034 (used in Friio devices) can be supported by "tuner-simple" driver.
Since "tuner-simple" is not an i2c driver,
I am wondering if
1) I should use/modify "tuner-simple" driver without adding new one but with one more dvb_attach un-replaced, or,
2) I should make a new i2c driver as my previous patch #27927 but with the duplicated function with tuner-simple.

Quoted 3 lines

Re-writing tuner-simple into a new i2c driver does not seem to be an option to me, because that would affect lots of dvb/v4l drivers, and I cannot test them.

If the driver is pure DVB, then maybe the best would be to add support for it at:

./drivers/media/dvb-frontends/dvb-pll.c

It basically does the same as a "tuner-simple" driver, but without all the complexity required to handle V4L2 calls.

It should be simple to convert it to also accept the new I2C binding and use the new I2C binding at the caller drivers.

Quoted 6 lines

In addition, I also intend to re-write "earth-pt1" driver in the future by decomposing the current monolithic module into component drivers:
bridge: earth-pt1 (cut down one)
demod: tc90522
TERR-tuner: tda6654 (NEW?)
SAT-tuner: qm1d1b0004 (NEW)

Sounds nice!

Quoted 5 lines

There exists a "tda665x" tuner driver (in dvb-frontends/), but it does not use the new i2c binding helpers either, and it seems that it can be supported by "tuner-simple" as well. So the similar situation here, though the tda665x driver is used only by "mantis" currently.

It it is just a PLL, then it could also be converted to use dvb-pll.h at the Mantis driver, and we could get rid of the driver.

Regards,
Mauro