[Linux-kernel-mentees] [RFC, WIP, v4 04/11] media: vidtv: move config structs into a separate header

Mauro Carvalho Chehab mchehab+huawei at kernel.org
Sat May 2 06:02:48 UTC 2020


Em Sat,  2 May 2020 00:22:09 -0300
"Daniel W. S. Almeida" <dwlsalmeida at gmail.com> escreveu:

> From: "Daniel W. S. Almeida" <dwlsalmeida at gmail.com>
> 
> Move config structs to a common header so they can be used by the bridge
> driver and by their respective drivers.
> 
> Signed-off-by: Daniel W. S. Almeida <dwlsalmeida at gmail.com>
> ---
>  .../media/test-drivers/vidtv/vidtv_config.h   | 35 +++++++++++++++++++
>  .../media/test-drivers/vidtv/vidtv_demod.c    |  1 +
>  .../media/test-drivers/vidtv/vidtv_demod.h    |  9 -----
>  .../media/test-drivers/vidtv/vidtv_tuner.c    | 12 ++-----

Hmm... We generally use "foo.h" for kAPI definitions (like config structs)
and "foo-priv.h" for internal structs used within the driver.

So, I would be expecting a "vidtv_tuner.h" with kAPI definitions for
"vid_tuner.c" and a "vidtv_demod.h" for kAPI definitions for the
"vidtv_demod.c" driver.


>  4 files changed, 38 insertions(+), 19 deletions(-)
>  create mode 100644 drivers/media/test-drivers/vidtv/vidtv_config.h
> 
> diff --git a/drivers/media/test-drivers/vidtv/vidtv_config.h b/drivers/media/test-drivers/vidtv/vidtv_config.h
> new file mode 100644
> index 0000000000000..7b95bf2444556
> --- /dev/null
> +++ b/drivers/media/test-drivers/vidtv/vidtv_config.h
> @@ -0,0 +1,35 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * The Virtual DTV 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.
> + *
> + * Written by Daniel W. S. Almeida <dwlsalmeida at gmail.com>
> + */
> +
> +#ifndef VIDTV_CONFIG_H
> +#define VIDTV_CONFIG_H
> +
> +#include <linux/types.h>
> +#include <media/dvb_frontend.h>
> +
> +struct vidtv_tuner_config {
> +	struct dvb_frontend *fe;
> +	u32 mock_power_up_delay_msec;
> +	u32 mock_tune_delay_msec;
> +	u32 vidtv_valid_dvb_t_freqs[8];
> +	u32 vidtv_valid_dvb_c_freqs[8];
> +	u32 vidtv_valid_dvb_s_freqs[8];
> +	u8  max_frequency_shift_hz;
> +};
> +
> +struct vidtv_demod_config {
> +	struct dvb_frontend *frontend;
> +	/* probability of losing the lock due to low snr */
> +	u8 drop_tslock_prob_on_low_snr;
> +	/* probability of recovering when the signal improves */
> +	u8 recover_tslock_prob_on_good_snr;
> +	u8 chosen_delsys;
> +};
> +
> +#endif //VIDTV_CONFIG_H
> diff --git a/drivers/media/test-drivers/vidtv/vidtv_demod.c b/drivers/media/test-drivers/vidtv/vidtv_demod.c
> index e5f157e4bbe48..15436e565a7b0 100644
> --- a/drivers/media/test-drivers/vidtv/vidtv_demod.c
> +++ b/drivers/media/test-drivers/vidtv/vidtv_demod.c
> @@ -19,6 +19,7 @@
>  #include <linux/i2c.h>
>  #include <media/dvb_frontend.h>
>  #include "vidtv_demod.h"
> +#include "vidtv_config.h"
>  
>  MODULE_DESCRIPTION("Virtual DVB Demodulator Driver");
>  MODULE_AUTHOR("Daniel W. S. Almeida");
> diff --git a/drivers/media/test-drivers/vidtv/vidtv_demod.h b/drivers/media/test-drivers/vidtv/vidtv_demod.h
> index 49c2a43f71661..269855efb77f3 100644
> --- a/drivers/media/test-drivers/vidtv/vidtv_demod.h
> +++ b/drivers/media/test-drivers/vidtv/vidtv_demod.h
> @@ -21,15 +21,6 @@ struct vidtv_demod_cnr_to_qual_s {
>  	u32 cnr_ok, cnr_good;
>  };
>  
> -struct vidtv_demod_config {
> -	struct dvb_frontend *frontend;
> -	/* probability of losing the lock due to low snr */
> -	u8 drop_tslock_prob_on_low_snr;
> -	/* probability of recovering when the signal improves */
> -	u8 recover_tslock_prob_on_good_snr;
> -	u8 chosen_delsys;
> -};
> -
>  struct vidtv_demod_state {
>  	struct dvb_frontend frontend;
>  	struct vidtv_demod_config config;
> diff --git a/drivers/media/test-drivers/vidtv/vidtv_tuner.c b/drivers/media/test-drivers/vidtv/vidtv_tuner.c
> index a790508f935b3..ece4a94b0c3ac 100644
> --- a/drivers/media/test-drivers/vidtv/vidtv_tuner.c
> +++ b/drivers/media/test-drivers/vidtv/vidtv_tuner.c
> @@ -17,20 +17,12 @@
>  #include <linux/types.h>
>  #include <media/dvb_frontend.h>
>  
> +#include "vidtv_config.h"
> +
>  MODULE_DESCRIPTION("Virtual DTV Tuner");
>  MODULE_AUTHOR("Daniel W. S. Almeida");
>  MODULE_LICENSE("GPL");
>  
> -struct vidtv_tuner_config {
> -	struct dvb_frontend *fe;
> -	u32 mock_power_up_delay_msec;
> -	u32 mock_tune_delay_msec;
> -	u32 vidtv_valid_dvb_t_freqs[8];
> -	u32 vidtv_valid_dvb_c_freqs[8];
> -	u32 vidtv_valid_dvb_s_freqs[8];
> -	u8  max_frequency_shift_hz;
> -};
> -
>  struct vidtv_tuner_cnr_to_qual_s {
>  	/* attempt to use the same values as libdvbv5 */
>  	u32 modulation;



Thanks,
Mauro


More information about the Linux-kernel-mentees mailing list