[Linux-kernel-mentees] [RFC 1/3] media: dvb_dummy_tuner: implement driver skeleton

Mauro Carvalho Chehab mchehab at kernel.org
Wed Mar 18 09:13:43 UTC 2020


Em Wed, 18 Mar 2020 08:54:18 +0000
Kieran Bingham <kieran.bingham+renesas at ideasonboard.com> escreveu:

> Hi Daniel,
> 
> On 18/03/2020 06:00, Daniel W. S. Almeida wrote:
> > From: "Daniel W. S. Almeida" <dwlsalmeida at gmail.com>
> > 
> > The virtual DVB test driver serves as a reference DVB driver and helps
> > validate the existing APIs in the media subsystem. It can also aid developers
> > working on userspace applications.
> > 
> > This dummy tuner should support common TV standards such as DVB-T/T2/S/S2,
> > ISDB-T and ATSC when completed.  

...

> > +static struct i2c_driver dvb_dummy_tuner_i2c_driver = {
> > +	.driver = {
> > +		.name = "dvb_dummy_tuner",
> > +		.suppress_bind_attrs = true,
> > +	},
> > +	.probe		= dvb_dummy_tuner_i2c_probe,
> > +	.remove		= dvb_dummy_tuner_i2c_remove,
> > +	.id_table	= dvb_dummy_tuner_i2c_id_table,
> > +};
> > +module_i2c_driver(dvb_dummy_tuner_i2c_driver);  
> 
> I suspect as a dummy tuner, this should be a platform driver or such
> rather than an I2C driver, as I assume there is not actual bus or device
> to bind to, and it would then require 'hogging' an available I2C address.

Interesting point. Yet, I guess that the best it to keep it as i2c. 

The DVB framework splits the driver on 3 parts:

	- a frontend driver;
	- a tuner driver;
	- a bridge driver.

on all real hardware, the frontend and bridge drivers are i2c (with
very few exceptions, where it is integrated on the same chipset and
don't use an i2c-like bus internally).

Keeping it as an I2C driver helps to keep it closer to a real hardware,
with would help driver developers to use it as a reference for their
projects.

Thanks,
Mauro


More information about the Linux-kernel-mentees mailing list