stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH 4.9 101/191] media: dvb/frontend.h: document the uAPI file
Date: Mon, 29 Jun 2020 11:38:37 -0400	[thread overview]
Message-ID: <20200629154007.2495120-102-sashal@kernel.org> (raw)
In-Reply-To: <20200629154007.2495120-1-sashal@kernel.org>

From: Mauro Carvalho Chehab <mchehab@s-opensource.com>

commit 8220ead805b6bab4ade2839857a198e9708b07de upstream

Most of the stuff at the Digital TV frontend header file
are documented only at the Documentation. However, a few
kernel-doc markups are there, several of them with parsing
issues.

Add the missing documentation, copying definitions from the
Documentation when it applies, fixing some bugs.

Please notice that DVBv3 stuff that were deprecated weren't
commented by purpose. Instead, they were clearly tagged as
such.

This patch prepares to move part of the documentation from
Documentation/ to kernel-doc comments.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/uapi/linux/dvb/frontend.h | 580 +++++++++++++++++++++++++-----
 1 file changed, 498 insertions(+), 82 deletions(-)

diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h
index 3a80f3d1da1cd..16a318fc469a8 100644
--- a/include/uapi/linux/dvb/frontend.h
+++ b/include/uapi/linux/dvb/frontend.h
@@ -28,13 +28,46 @@
 
 #include <linux/types.h>
 
-enum fe_type {
-	FE_QPSK,
-	FE_QAM,
-	FE_OFDM,
-	FE_ATSC
-};
-
+/**
+ * enum fe_caps - Frontend capabilities
+ *
+ * @FE_IS_STUPID:			There's something wrong at the
+ *					frontend, and it can't report its
+ *					capabilities.
+ * @FE_CAN_INVERSION_AUTO:		Can auto-detect frequency spectral
+ *					band inversion
+ * @FE_CAN_FEC_1_2:			Supports FEC 1/2
+ * @FE_CAN_FEC_2_3:			Supports FEC 2/3
+ * @FE_CAN_FEC_3_4:			Supports FEC 3/4
+ * @FE_CAN_FEC_4_5:			Supports FEC 4/5
+ * @FE_CAN_FEC_5_6:			Supports FEC 5/6
+ * @FE_CAN_FEC_6_7:			Supports FEC 6/7
+ * @FE_CAN_FEC_7_8:			Supports FEC 7/8
+ * @FE_CAN_FEC_8_9:			Supports FEC 8/9
+ * @FE_CAN_FEC_AUTO:			Can auto-detect FEC
+ * @FE_CAN_QPSK:			Supports QPSK modulation
+ * @FE_CAN_QAM_16:			Supports 16-QAM modulation
+ * @FE_CAN_QAM_32:			Supports 32-QAM modulation
+ * @FE_CAN_QAM_64:			Supports 64-QAM modulation
+ * @FE_CAN_QAM_128:			Supports 128-QAM modulation
+ * @FE_CAN_QAM_256:			Supports 256-QAM modulation
+ * @FE_CAN_QAM_AUTO:			Can auto-detect QAM modulation
+ * @FE_CAN_TRANSMISSION_MODE_AUTO:	Can auto-detect transmission mode
+ * @FE_CAN_BANDWIDTH_AUTO:		Can auto-detect bandwidth
+ * @FE_CAN_GUARD_INTERVAL_AUTO:		Can auto-detect guard interval
+ * @FE_CAN_HIERARCHY_AUTO:		Can auto-detect hierarchy
+ * @FE_CAN_8VSB:			Supports 8-VSB modulation
+ * @FE_CAN_16VSB:			Supporta 16-VSB modulation
+ * @FE_HAS_EXTENDED_CAPS:		Unused
+ * @FE_CAN_MULTISTREAM:			Supports multistream filtering
+ * @FE_CAN_TURBO_FEC:			Supports "turbo FEC" modulation
+ * @FE_CAN_2G_MODULATION:		Supports "2nd generation" modulation,
+ *					e. g. DVB-S2, DVB-T2, DVB-C2
+ * @FE_NEEDS_BENDING:			Unused
+ * @FE_CAN_RECOVER:			Can recover from a cable unplug
+ *					automatically
+ * @FE_CAN_MUTE_TS:			Can stop spurious TS data output
+ */
 enum fe_caps {
 	FE_IS_STUPID			= 0,
 	FE_CAN_INVERSION_AUTO		= 0x1,
@@ -60,15 +93,55 @@ enum fe_caps {
 	FE_CAN_HIERARCHY_AUTO		= 0x100000,
 	FE_CAN_8VSB			= 0x200000,
 	FE_CAN_16VSB			= 0x400000,
-	FE_HAS_EXTENDED_CAPS		= 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
-	FE_CAN_MULTISTREAM		= 0x4000000,  /* frontend supports multistream filtering */
-	FE_CAN_TURBO_FEC		= 0x8000000,  /* frontend supports "turbo fec modulation" */
-	FE_CAN_2G_MODULATION		= 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
-	FE_NEEDS_BENDING		= 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
-	FE_CAN_RECOVER			= 0x40000000, /* frontend can recover from a cable unplug automatically */
-	FE_CAN_MUTE_TS			= 0x80000000  /* frontend can stop spurious TS data output */
+	FE_HAS_EXTENDED_CAPS		= 0x800000,
+	FE_CAN_MULTISTREAM		= 0x4000000,
+	FE_CAN_TURBO_FEC		= 0x8000000,
+	FE_CAN_2G_MODULATION		= 0x10000000,
+	FE_NEEDS_BENDING		= 0x20000000,
+	FE_CAN_RECOVER			= 0x40000000,
+	FE_CAN_MUTE_TS			= 0x80000000
+};
+
+/*
+ * DEPRECATED: Should be kept just due to backward compatibility.
+ */
+enum fe_type {
+	FE_QPSK,
+	FE_QAM,
+	FE_OFDM,
+	FE_ATSC
 };
 
+/**
+ * struct dvb_frontend_info - Frontend properties and capabilities
+ *
+ * @name:			Name of the frontend
+ * @type:			**DEPRECATED**.
+ *				Should not be used on modern programs,
+ *				as a frontend may have more than one type.
+ *				In order to get the support types of a given
+ *				frontend, use :c:type:`DTV_ENUM_DELSYS`
+ *				instead.
+ * @frequency_min:		Minimal frequency supported by the frontend.
+ * @frequency_max:		Minimal frequency supported by the frontend.
+ * @frequency_stepsize:		All frequencies are multiple of this value.
+ * @frequency_tolerance:	Frequency tolerance.
+ * @symbol_rate_min:		Minimal symbol rate, in bauds
+ *				(for Cable/Satellite systems).
+ * @symbol_rate_max:		Maximal symbol rate, in bauds
+ *				(for Cable/Satellite systems).
+ * @symbol_rate_tolerance:	Maximal symbol rate tolerance, in ppm
+ *				(for Cable/Satellite systems).
+ * @notifier_delay:		**DEPRECATED**. Not used by any driver.
+ * @caps:			Capabilities supported by the frontend,
+ *				as specified in &enum fe_caps.
+ *
+ * .. note:
+ *
+ *    #. The frequencies are specified in Hz for Terrestrial and Cable
+ *       systems.
+ *    #. The frequencies are specified in kHz for Satellite systems.
+ */
 struct dvb_frontend_info {
 	char       name[128];
 	enum fe_type type;	/* DEPRECATED. Use DTV_ENUM_DELSYS instead */
@@ -78,53 +151,102 @@ struct dvb_frontend_info {
 	__u32      frequency_tolerance;
 	__u32      symbol_rate_min;
 	__u32      symbol_rate_max;
-	__u32      symbol_rate_tolerance;	/* ppm */
+	__u32      symbol_rate_tolerance;
 	__u32      notifier_delay;		/* DEPRECATED */
 	enum fe_caps caps;
 };
 
-
 /**
- *  Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for
- *  the meaning of this struct...
+ * struct dvb_diseqc_master_cmd - DiSEqC master command
+ *
+ * @msg:
+ *	DiSEqC message to be sent. It contains a 3 bytes header with:
+ *	framing + address + command, and an optional argument
+ *	of up to 3 bytes of data.
+ * @msg_len:
+ *	Length of the DiSEqC message. Valid values are 3 to 6.
+ *
+ * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for
+ * the possible messages that can be used.
  */
 struct dvb_diseqc_master_cmd {
-	__u8 msg [6];	/*  { framing, address, command, data [3] } */
-	__u8 msg_len;	/*  valid values are 3...6  */
+	__u8 msg[6];
+	__u8 msg_len;
 };
 
+/**
+ * struct dvb_diseqc_slave_reply - DiSEqC received data
+ *
+ * @msg:
+ *	DiSEqC message buffer to store a message received via DiSEqC.
+ *	It contains one byte header with: framing and
+ *	an optional argument of up to 3 bytes of data.
+ * @msg_len:
+ *	Length of the DiSEqC message. Valid values are 0 to 4,
+ *	where 0 means no message.
+ * @timeout:
+ *	Return from ioctl after timeout ms with errorcode when
+ *	no message was received.
+ *
+ * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for
+ * the possible messages that can be used.
+ */
 struct dvb_diseqc_slave_reply {
-	__u8 msg [4];	/*  { framing, data [3] } */
-	__u8 msg_len;	/*  valid values are 0...4, 0 means no msg  */
-	int  timeout;	/*  return from ioctl after timeout ms with */
-};			/*  errorcode when no message was received  */
+	__u8 msg[4];
+	__u8 msg_len;
+	int  timeout;
+};
 
+/**
+ * enum fe_sec_voltage - DC Voltage used to feed the LNBf
+ *
+ * @SEC_VOLTAGE_13:	Output 13V to the LNBf
+ * @SEC_VOLTAGE_18:	Output 18V to the LNBf
+ * @SEC_VOLTAGE_OFF:	Don't feed the LNBf with a DC voltage
+ */
 enum fe_sec_voltage {
 	SEC_VOLTAGE_13,
 	SEC_VOLTAGE_18,
 	SEC_VOLTAGE_OFF
 };
 
+/**
+ * enum fe_sec_tone_mode - Type of tone to be send to the LNBf.
+ * @SEC_TONE_ON:	Sends a 22kHz tone burst to the antenna.
+ * @SEC_TONE_OFF:	Don't send a 22kHz tone to the antenna (except
+ *			if the ``FE_DISEQC_*`` ioctls are called).
+ */
 enum fe_sec_tone_mode {
 	SEC_TONE_ON,
 	SEC_TONE_OFF
 };
 
+/**
+ * enum fe_sec_mini_cmd - Type of mini burst to be sent
+ *
+ * @SEC_MINI_A:		Sends a mini-DiSEqC 22kHz '0' Tone Burst to select
+ *			satellite-A
+ * @SEC_MINI_B:		Sends a mini-DiSEqC 22kHz '1' Data Burst to select
+ *			satellite-B
+ */
 enum fe_sec_mini_cmd {
 	SEC_MINI_A,
 	SEC_MINI_B
 };
 
 /**
- * enum fe_status - enumerates the possible frontend status
- * @FE_HAS_SIGNAL:	found something above the noise level
- * @FE_HAS_CARRIER:	found a DVB signal
- * @FE_HAS_VITERBI:	FEC is stable
- * @FE_HAS_SYNC:	found sync bytes
- * @FE_HAS_LOCK:	everything's working
- * @FE_TIMEDOUT:	no lock within the last ~2 seconds
- * @FE_REINIT:		frontend was reinitialized, application is recommended
- *			to reset DiSEqC, tone and parameters
+ * enum fe_status - Enumerates the possible frontend status.
+ * @FE_NONE:		The frontend doesn't have any kind of lock.
+ *			That's the initial frontend status
+ * @FE_HAS_SIGNAL:	Has found something above the noise level.
+ * @FE_HAS_CARRIER:	Has found a DVB signal.
+ * @FE_HAS_VITERBI:	FEC inner coding (Viterbi, LDPC or other inner code).
+ *			is stable.
+ * @FE_HAS_SYNC:	Synchronization bytes was found.
+ * @FE_HAS_LOCK:	DVB were locked and everything is working.
+ * @FE_TIMEDOUT:	Fo lock within the last about 2 seconds.
+ * @FE_REINIT:		Frontend was reinitialized, application is recommended
+ *			to reset DiSEqC, tone and parameters.
  */
 enum fe_status {
 	FE_NONE			= 0x00,
@@ -137,12 +259,45 @@ enum fe_status {
 	FE_REINIT		= 0x40,
 };
 
+/**
+ * enum fe_spectral_inversion - Type of inversion band
+ *
+ * @INVERSION_OFF:	Don't do spectral band inversion.
+ * @INVERSION_ON:	Do spectral band inversion.
+ * @INVERSION_AUTO:	Autodetect spectral band inversion.
+ *
+ * This parameter indicates if spectral inversion should be presumed or
+ * not. In the automatic setting (``INVERSION_AUTO``) the hardware will try
+ * to figure out the correct setting by itself. If the hardware doesn't
+ * support, the DVB core will try to lock at the carrier first with
+ * inversion off. If it fails, it will try to enable inversion.
+ */
 enum fe_spectral_inversion {
 	INVERSION_OFF,
 	INVERSION_ON,
 	INVERSION_AUTO
 };
 
+/**
+ * enum fe_code_rate - Type of Forward Error Correction (FEC)
+ *
+ *
+ * @FEC_NONE: No Forward Error Correction Code
+ * @FEC_1_2:  Forward Error Correction Code 1/2
+ * @FEC_2_3:  Forward Error Correction Code 2/3
+ * @FEC_3_4:  Forward Error Correction Code 3/4
+ * @FEC_4_5:  Forward Error Correction Code 4/5
+ * @FEC_5_6:  Forward Error Correction Code 5/6
+ * @FEC_6_7:  Forward Error Correction Code 6/7
+ * @FEC_7_8:  Forward Error Correction Code 7/8
+ * @FEC_8_9:  Forward Error Correction Code 8/9
+ * @FEC_AUTO: Autodetect Error Correction Code
+ * @FEC_3_5:  Forward Error Correction Code 3/5
+ * @FEC_9_10: Forward Error Correction Code 9/10
+ * @FEC_2_5:  Forward Error Correction Code 2/5
+ *
+ * Please note that not all FEC types are supported by a given standard.
+ */
 enum fe_code_rate {
 	FEC_NONE = 0,
 	FEC_1_2,
@@ -159,6 +314,26 @@ enum fe_code_rate {
 	FEC_2_5,
 };
 
+/**
+ * enum fe_modulation - Type of modulation/constellation
+ * @QPSK:	QPSK modulation
+ * @QAM_16:	16-QAM modulation
+ * @QAM_32:	32-QAM modulation
+ * @QAM_64:	64-QAM modulation
+ * @QAM_128:	128-QAM modulation
+ * @QAM_256:	256-QAM modulation
+ * @QAM_AUTO:	Autodetect QAM modulation
+ * @VSB_8:	8-VSB modulation
+ * @VSB_16:	16-VSB modulation
+ * @PSK_8:	8-PSK modulation
+ * @APSK_16:	16-APSK modulation
+ * @APSK_32:	32-APSK modulation
+ * @DQPSK:	DQPSK modulation
+ * @QAM_4_NR:	4-QAM-NR modulation
+ *
+ * Please note that not all modulations are supported by a given standard.
+ *
+ */
 enum fe_modulation {
 	QPSK,
 	QAM_16,
@@ -176,6 +351,32 @@ enum fe_modulation {
 	QAM_4_NR,
 };
 
+/**
+ * enum fe_transmit_mode - Transmission mode
+ *
+ * @TRANSMISSION_MODE_AUTO:
+ *	Autodetect transmission mode. The hardware will try to find the
+ *	correct FFT-size (if capable) to fill in the missing parameters.
+ * @TRANSMISSION_MODE_1K:
+ *	Transmission mode 1K
+ * @TRANSMISSION_MODE_2K:
+ *	Transmission mode 2K
+ * @TRANSMISSION_MODE_8K:
+ *	Transmission mode 8K
+ * @TRANSMISSION_MODE_4K:
+ *	Transmission mode 4K
+ * @TRANSMISSION_MODE_16K:
+ *	Transmission mode 16K
+ * @TRANSMISSION_MODE_32K:
+ *	Transmission mode 32K
+ * @TRANSMISSION_MODE_C1:
+ *	Single Carrier (C=1) transmission mode (DTMB only)
+ * @TRANSMISSION_MODE_C3780:
+ *	Multi Carrier (C=3780) transmission mode (DTMB only)
+ *
+ * Please note that not all transmission modes are supported by a given
+ * standard.
+ */
 enum fe_transmit_mode {
 	TRANSMISSION_MODE_2K,
 	TRANSMISSION_MODE_8K,
@@ -188,6 +389,23 @@ enum fe_transmit_mode {
 	TRANSMISSION_MODE_C3780,
 };
 
+/**
+ * enum fe_guard_interval - Guard interval
+ *
+ * @GUARD_INTERVAL_AUTO:	Autodetect the guard interval
+ * @GUARD_INTERVAL_1_128:	Guard interval 1/128
+ * @GUARD_INTERVAL_1_32:	Guard interval 1/32
+ * @GUARD_INTERVAL_1_16:	Guard interval 1/16
+ * @GUARD_INTERVAL_1_8:		Guard interval 1/8
+ * @GUARD_INTERVAL_1_4:		Guard interval 1/4
+ * @GUARD_INTERVAL_19_128:	Guard interval 19/128
+ * @GUARD_INTERVAL_19_256:	Guard interval 19/256
+ * @GUARD_INTERVAL_PN420:	PN length 420 (1/4)
+ * @GUARD_INTERVAL_PN595:	PN length 595 (1/6)
+ * @GUARD_INTERVAL_PN945:	PN length 945 (1/9)
+ *
+ * Please note that not all guard intervals are supported by a given standard.
+ */
 enum fe_guard_interval {
 	GUARD_INTERVAL_1_32,
 	GUARD_INTERVAL_1_16,
@@ -202,6 +420,16 @@ enum fe_guard_interval {
 	GUARD_INTERVAL_PN945,
 };
 
+/**
+ * enum fe_hierarchy - Hierarchy
+ * @HIERARCHY_NONE:	No hierarchy
+ * @HIERARCHY_AUTO:	Autodetect hierarchy (if supported)
+ * @HIERARCHY_1:	Hierarchy 1
+ * @HIERARCHY_2:	Hierarchy 2
+ * @HIERARCHY_4:	Hierarchy 4
+ *
+ * Please note that not all hierarchy types are supported by a given standard.
+ */
 enum fe_hierarchy {
 	HIERARCHY_NONE,
 	HIERARCHY_1,
@@ -210,6 +438,15 @@ enum fe_hierarchy {
 	HIERARCHY_AUTO
 };
 
+/**
+ * enum fe_interleaving - Interleaving
+ * @INTERLEAVING_NONE:	No interleaving.
+ * @INTERLEAVING_AUTO:	Auto-detect interleaving.
+ * @INTERLEAVING_240:	Interleaving of 240 symbols.
+ * @INTERLEAVING_720:	Interleaving of 720 symbols.
+ *
+ * Please note that, currently, only DTMB uses it.
+ */
 enum fe_interleaving {
 	INTERLEAVING_NONE,
 	INTERLEAVING_AUTO,
@@ -217,7 +454,8 @@ enum fe_interleaving {
 	INTERLEAVING_720,
 };
 
-/* S2API Commands */
+/* DVBv5 property Commands */
+
 #define DTV_UNDEFINED		0
 #define DTV_TUNE		1
 #define DTV_CLEAR		2
@@ -310,19 +548,79 @@ enum fe_interleaving {
 
 #define DTV_MAX_COMMAND		DTV_STAT_TOTAL_BLOCK_COUNT
 
+/**
+ * enum fe_pilot - Type of pilot tone
+ *
+ * @PILOT_ON:	Pilot tones enabled
+ * @PILOT_OFF:	Pilot tones disabled
+ * @PILOT_AUTO:	Autodetect pilot tones
+ */
 enum fe_pilot {
 	PILOT_ON,
 	PILOT_OFF,
 	PILOT_AUTO,
 };
 
+/**
+ * enum fe_rolloff - Rolloff factor (also known as alpha)
+ * @ROLLOFF_35:		Roloff factor: 35%
+ * @ROLLOFF_20:		Roloff factor: 20%
+ * @ROLLOFF_25:		Roloff factor: 25%
+ * @ROLLOFF_AUTO:	Auto-detect the roloff factor.
+ *
+ * .. note:
+ *
+ *    Roloff factor of 35% is implied on DVB-S. On DVB-S2, it is default.
+ */
 enum fe_rolloff {
-	ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */
+	ROLLOFF_35,
 	ROLLOFF_20,
 	ROLLOFF_25,
 	ROLLOFF_AUTO,
 };
 
+/**
+ * enum fe_delivery_system - Type of the delivery system
+ *
+ * @SYS_UNDEFINED:
+ *	Undefined standard. Generally, indicates an error
+ * @SYS_DVBC_ANNEX_A:
+ *	Cable TV: DVB-C following ITU-T J.83 Annex A spec
+ * @SYS_DVBC_ANNEX_B:
+ *	Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM)
+ * @SYS_DVBC_ANNEX_C:
+ *	Cable TV: DVB-C following ITU-T J.83 Annex C spec
+ * @SYS_ISDBC:
+ *	Cable TV: ISDB-C (no drivers yet)
+ * @SYS_DVBT:
+ *	Terrestrial TV: DVB-T
+ * @SYS_DVBT2:
+ *	Terrestrial TV: DVB-T2
+ * @SYS_ISDBT:
+ *	Terrestrial TV: ISDB-T
+ * @SYS_ATSC:
+ *	Terrestrial TV: ATSC
+ * @SYS_ATSCMH:
+ *	Terrestrial TV (mobile): ATSC-M/H
+ * @SYS_DTMB:
+ *	Terrestrial TV: DTMB
+ * @SYS_DVBS:
+ *	Satellite TV: DVB-S
+ * @SYS_DVBS2:
+ *	Satellite TV: DVB-S2
+ * @SYS_TURBO:
+ *	Satellite TV: DVB-S Turbo
+ * @SYS_ISDBS:
+ *	Satellite TV: ISDB-S
+ * @SYS_DAB:
+ *	Digital audio: DAB (not fully supported)
+ * @SYS_DSS:
+ *	Satellite TV: DSS (not fully supported)
+ * @SYS_CMMB:
+ *	Terrestrial TV (mobile): CMMB (not fully supported)
+ * @SYS_DVBH:
+ *	Terrestrial TV (mobile): DVB-H (standard deprecated)
+ */
 enum fe_delivery_system {
 	SYS_UNDEFINED,
 	SYS_DVBC_ANNEX_A,
@@ -345,35 +643,85 @@ enum fe_delivery_system {
 	SYS_DVBC_ANNEX_C,
 };
 
-/* backward compatibility */
+/* backward compatibility definitions for delivery systems */
 #define SYS_DVBC_ANNEX_AC	SYS_DVBC_ANNEX_A
-#define SYS_DMBTH SYS_DTMB /* DMB-TH is legacy name, use DTMB instead */
+#define SYS_DMBTH		SYS_DTMB /* DMB-TH is legacy name, use DTMB */
 
-/* ATSC-MH */
+/* ATSC-MH specific parameters */
 
+/**
+ * enum atscmh_sccc_block_mode - Type of Series Concatenated Convolutional
+ *				 Code Block Mode.
+ *
+ * @ATSCMH_SCCC_BLK_SEP:
+ *	Separate SCCC: the SCCC outer code mode shall be set independently
+ *	for each Group Region (A, B, C, D)
+ * @ATSCMH_SCCC_BLK_COMB:
+ *	Combined SCCC: all four Regions shall have the same SCCC outer
+ *	code mode.
+ * @ATSCMH_SCCC_BLK_RES:
+ *	Reserved. Shouldn't be used.
+ */
 enum atscmh_sccc_block_mode {
 	ATSCMH_SCCC_BLK_SEP      = 0,
 	ATSCMH_SCCC_BLK_COMB     = 1,
 	ATSCMH_SCCC_BLK_RES      = 2,
 };
 
+/**
+ * enum atscmh_sccc_code_mode - Type of Series Concatenated Convolutional
+ *				Code Rate.
+ *
+ * @ATSCMH_SCCC_CODE_HLF:
+ *	The outer code rate of a SCCC Block is 1/2 rate.
+ * @ATSCMH_SCCC_CODE_QTR:
+ *	The outer code rate of a SCCC Block is 1/4 rate.
+ * @ATSCMH_SCCC_CODE_RES:
+ *	Reserved. Should not be used.
+ */
 enum atscmh_sccc_code_mode {
 	ATSCMH_SCCC_CODE_HLF     = 0,
 	ATSCMH_SCCC_CODE_QTR     = 1,
 	ATSCMH_SCCC_CODE_RES     = 2,
 };
 
+/**
+ * enum atscmh_rs_frame_ensemble - Reed Solomon(RS) frame ensemble.
+ *
+ * @ATSCMH_RSFRAME_ENS_PRI:	Primary Ensemble.
+ * @ATSCMH_RSFRAME_ENS_SEC:	Secondary Ensemble.
+ */
 enum atscmh_rs_frame_ensemble {
 	ATSCMH_RSFRAME_ENS_PRI   = 0,
 	ATSCMH_RSFRAME_ENS_SEC   = 1,
 };
 
+/**
+ * enum atscmh_rs_frame_mode - Reed Solomon (RS) frame mode.
+ *
+ * @ATSCMH_RSFRAME_PRI_ONLY:
+ *	Single Frame: There is only a primary RS Frame for all Group
+ *	Regions.
+ * @ATSCMH_RSFRAME_PRI_SEC:
+ *	Dual Frame: There are two separate RS Frames: Primary RS Frame for
+ *	Group Region A and B and Secondary RS Frame for Group Region C and
+ *	D.
+ * @ATSCMH_RSFRAME_RES:
+ *	Reserved. Shouldn't be used.
+ */
 enum atscmh_rs_frame_mode {
 	ATSCMH_RSFRAME_PRI_ONLY  = 0,
 	ATSCMH_RSFRAME_PRI_SEC   = 1,
 	ATSCMH_RSFRAME_RES       = 2,
 };
 
+/**
+ * enum atscmh_rs_code_mode
+ * @ATSCMH_RSCODE_211_187:	Reed Solomon code (211,187).
+ * @ATSCMH_RSCODE_223_187:	Reed Solomon code (223,187).
+ * @ATSCMH_RSCODE_235_187:	Reed Solomon code (235,187).
+ * @ATSCMH_RSCODE_RES:		Reserved. Shouldn't be used.
+ */
 enum atscmh_rs_code_mode {
 	ATSCMH_RSCODE_211_187    = 0,
 	ATSCMH_RSCODE_223_187    = 1,
@@ -385,16 +733,17 @@ enum atscmh_rs_code_mode {
 #define LNA_AUTO                (~0U)
 
 /**
- * Scale types for the quality parameters.
+ * enum fecap_scale_params - scale types for the quality parameters.
+ *
  * @FE_SCALE_NOT_AVAILABLE: That QoS measure is not available. That
  *			    could indicate a temporary or a permanent
  *			    condition.
  * @FE_SCALE_DECIBEL: The scale is measured in 0.001 dB steps, typically
- *		  used on signal measures.
+ *		      used on signal measures.
  * @FE_SCALE_RELATIVE: The scale is a relative percentual measure,
- *			ranging from 0 (0%) to 0xffff (100%).
+ *		       ranging from 0 (0%) to 0xffff (100%).
  * @FE_SCALE_COUNTER: The scale counts the occurrence of an event, like
- *			bit error, block error, lapsed time.
+ *		      bit error, block error, lapsed time.
  */
 enum fecap_scale_params {
 	FE_SCALE_NOT_AVAILABLE = 0,
@@ -406,24 +755,38 @@ enum fecap_scale_params {
 /**
  * struct dtv_stats - Used for reading a DTV status property
  *
- * @value:	value of the measure. Should range from 0 to 0xffff;
  * @scale:	Filled with enum fecap_scale_params - the scale
  *		in usage for that parameter
  *
+ * The ``{unnamed_union}`` may have either one of the values below:
+ *
+ * %svalue
+ *	integer value of the measure, for %FE_SCALE_DECIBEL,
+ *	used for dB measures. The unit is 0.001 dB.
+ *
+ * %uvalue
+ *	unsigned integer value of the measure, used when @scale is
+ *	either %FE_SCALE_RELATIVE or %FE_SCALE_COUNTER.
+ *
  * For most delivery systems, this will return a single value for each
  * parameter.
+ *
  * It should be noticed, however, that new OFDM delivery systems like
  * ISDB can use different modulation types for each group of carriers.
  * On such standards, up to 8 groups of statistics can be provided, one
  * for each carrier group (called "layer" on ISDB).
+ *
  * In order to be consistent with other delivery systems, the first
  * value refers to the entire set of carriers ("global").
- * dtv_status:scale should use the value FE_SCALE_NOT_AVAILABLE when
+ *
+ * @scale should use the value %FE_SCALE_NOT_AVAILABLE when
  * the value for the entire group of carriers or from one specific layer
  * is not provided by the hardware.
- * st.len should be filled with the latest filled status + 1.
  *
- * In other words, for ISDB, those values should be filled like:
+ * @len should be filled with the latest filled status + 1.
+ *
+ * In other words, for ISDB, those values should be filled like::
+ *
  *	u.st.stat.svalue[0] = global statistics;
  *	u.st.stat.scale[0] = FE_SCALE_DECIBEL;
  *	u.st.stat.value[1] = layer A statistics;
@@ -445,11 +808,39 @@ struct dtv_stats {
 
 #define MAX_DTV_STATS   4
 
+/**
+ * struct dtv_fe_stats - store Digital TV frontend statistics
+ *
+ * @len:	length of the statistics - if zero, stats is disabled.
+ * @stat:	array with digital TV statistics.
+ *
+ * On most standards, @len can either be 0 or 1. However, for ISDB, each
+ * layer is modulated in separate. So, each layer may have its own set
+ * of statistics. If so, stat[0] carries on a global value for the property.
+ * Indexes 1 to 3 means layer A to B.
+ */
 struct dtv_fe_stats {
 	__u8 len;
 	struct dtv_stats stat[MAX_DTV_STATS];
 } __attribute__ ((packed));
 
+/**
+ * struct dtv_property - store one of frontend command and its value
+ *
+ * @cmd:	Digital TV command.
+ * @reserved:	Not used.
+ * @u:		Union with the values for the command.
+ * @result:	Result of the command set (currently unused).
+ *
+ * The @u union may have either one of the values below:
+ *
+ * %data
+ *	an unsigned 32-bits number.
+ * %st
+ *	a &struct dtv_fe_stats array of statistics.
+ * %buffer
+ *	a buffer of up to 32 characters (currently unused).
+ */
 struct dtv_property {
 	__u32 cmd;
 	__u32 reserved[3];
@@ -469,17 +860,70 @@ struct dtv_property {
 /* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
 #define DTV_IOCTL_MAX_MSGS 64
 
+/**
+ * struct dtv_properties - a set of command/value pairs.
+ *
+ * @num:	amount of commands stored at the struct.
+ * @props:	a pointer to &struct dtv_property.
+ */
 struct dtv_properties {
 	__u32 num;
 	struct dtv_property *props;
 };
 
+/*
+ * When set, this flag will disable any zigzagging or other "normal" tuning
+ * behavior. Additionally, there will be no automatic monitoring of the lock
+ * status, and hence no frontend events will be generated. If a frontend device
+ * is closed, this flag will be automatically turned off when the device is
+ * reopened read-write.
+ */
+#define FE_TUNE_MODE_ONESHOT 0x01
+
+/* Digital TV Frontend API calls */
+
+#define FE_GET_INFO		   _IOR('o', 61, struct dvb_frontend_info)
+
+#define FE_DISEQC_RESET_OVERLOAD   _IO('o', 62)
+#define FE_DISEQC_SEND_MASTER_CMD  _IOW('o', 63, struct dvb_diseqc_master_cmd)
+#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
+#define FE_DISEQC_SEND_BURST       _IO('o', 65)  /* fe_sec_mini_cmd_t */
+
+#define FE_SET_TONE		   _IO('o', 66)  /* fe_sec_tone_mode_t */
+#define FE_SET_VOLTAGE		   _IO('o', 67)  /* fe_sec_voltage_t */
+#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68)  /* int */
+
+#define FE_READ_STATUS		   _IOR('o', 69, fe_status_t)
+#define FE_READ_BER		   _IOR('o', 70, __u32)
+#define FE_READ_SIGNAL_STRENGTH    _IOR('o', 71, __u16)
+#define FE_READ_SNR		   _IOR('o', 72, __u16)
+#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
+
+#define FE_SET_FRONTEND_TUNE_MODE  _IO('o', 81) /* unsigned int */
+#define FE_GET_EVENT		   _IOR('o', 78, struct dvb_frontend_event)
+
+#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
+
+#define FE_SET_PROPERTY		   _IOW('o', 82, struct dtv_properties)
+#define FE_GET_PROPERTY		   _IOR('o', 83, struct dtv_properties)
+
 #if defined(__DVB_CORE__) || !defined (__KERNEL__)
 
 /*
- * DEPRECATED: The DVBv3 ioctls, structs and enums should not be used on
- * newer programs, as it doesn't support the second generation of digital
- * TV standards, nor supports newer delivery systems.
+ * DEPRECATED: Everything below is deprecated in favor of DVBv5 API
+ *
+ * The DVBv3 only ioctls, structs and enums should not be used on
+ * newer programs, as it doesn't support the second generation of
+ * digital TV standards, nor supports newer delivery systems.
+ * They also don't support modern frontends with usually support multiple
+ * delivery systems.
+ *
+ * Drivers shouldn't use them.
+ *
+ * New applications should use DVBv5 delivery system instead
+ */
+
+/*
  */
 
 enum fe_bandwidth {
@@ -492,7 +936,7 @@ enum fe_bandwidth {
 	BANDWIDTH_1_712_MHZ,
 };
 
-/* This is needed for legacy userspace support */
+/* This is kept for legacy userspace support */
 typedef enum fe_sec_voltage fe_sec_voltage_t;
 typedef enum fe_caps fe_caps_t;
 typedef enum fe_type fe_type_t;
@@ -510,6 +954,8 @@ typedef enum fe_pilot fe_pilot_t;
 typedef enum fe_rolloff fe_rolloff_t;
 typedef enum fe_delivery_system fe_delivery_system_t;
 
+/* DVBv3 structs */
+
 struct dvb_qpsk_parameters {
 	__u32		symbol_rate;  /* symbol rate in Symbols per second */
 	fe_code_rate_t	fec_inner;    /* forward error correction (see above) */
@@ -551,42 +997,12 @@ struct dvb_frontend_event {
 	fe_status_t status;
 	struct dvb_frontend_parameters parameters;
 };
-#endif
-
-#define FE_SET_PROPERTY		   _IOW('o', 82, struct dtv_properties)
-#define FE_GET_PROPERTY		   _IOR('o', 83, struct dtv_properties)
-
-/**
- * When set, this flag will disable any zigzagging or other "normal" tuning
- * behaviour. Additionally, there will be no automatic monitoring of the lock
- * status, and hence no frontend events will be generated. If a frontend device
- * is closed, this flag will be automatically turned off when the device is
- * reopened read-write.
- */
-#define FE_TUNE_MODE_ONESHOT 0x01
 
-#define FE_GET_INFO		   _IOR('o', 61, struct dvb_frontend_info)
-
-#define FE_DISEQC_RESET_OVERLOAD   _IO('o', 62)
-#define FE_DISEQC_SEND_MASTER_CMD  _IOW('o', 63, struct dvb_diseqc_master_cmd)
-#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
-#define FE_DISEQC_SEND_BURST       _IO('o', 65)  /* fe_sec_mini_cmd_t */
-
-#define FE_SET_TONE		   _IO('o', 66)  /* fe_sec_tone_mode_t */
-#define FE_SET_VOLTAGE		   _IO('o', 67)  /* fe_sec_voltage_t */
-#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68)  /* int */
-
-#define FE_READ_STATUS		   _IOR('o', 69, fe_status_t)
-#define FE_READ_BER		   _IOR('o', 70, __u32)
-#define FE_READ_SIGNAL_STRENGTH    _IOR('o', 71, __u16)
-#define FE_READ_SNR		   _IOR('o', 72, __u16)
-#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
+/* DVBv3 API calls */
 
 #define FE_SET_FRONTEND		   _IOW('o', 76, struct dvb_frontend_parameters)
 #define FE_GET_FRONTEND		   _IOR('o', 77, struct dvb_frontend_parameters)
-#define FE_SET_FRONTEND_TUNE_MODE  _IO('o', 81) /* unsigned int */
-#define FE_GET_EVENT		   _IOR('o', 78, struct dvb_frontend_event)
 
-#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
+#endif
 
 #endif /*_DVBFRONTEND_H_*/
-- 
2.25.1


  parent reply	other threads:[~2020-06-29 20:18 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-29 15:36 [PATCH 4.9 000/191] 4.9.229-rc1 review Sasha Levin
2020-06-29 15:36 ` [PATCH 4.9 001/191] power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select Sasha Levin
2020-06-29 15:36 ` [PATCH 4.9 002/191] clk: sunxi: Fix incorrect usage of round_down() Sasha Levin
2020-06-29 15:36 ` [PATCH 4.9 003/191] i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 004/191] iio: pressure: bmp280: Tolerate IRQ before registering Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 005/191] clk: qcom: msm8916: Fix the address location of pll->config_reg Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 006/191] backlight: lp855x: Ensure regulators are disabled on probe failure Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 007/191] ARM: integrator: Add some Kconfig selections Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 008/191] ALSA: isa/wavefront: prevent out of bounds write in ioctl Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 009/191] scsi: qla2xxx: Fix issue with adapter's stopping state Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 010/191] iio: bmp280: fix compensation of humidity Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 011/191] i2c: pxa: clear all master action bits in i2c_pxa_stop_message() Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 012/191] usblp: poison URBs upon disconnect Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 013/191] PCI: aardvark: Don't blindly enable ASPM L0s and don't write to read-only register Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 014/191] ps3disk: use the default segment boundary Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 015/191] vfio/pci: fix memory leaks in alloc_perm_bits() Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 016/191] mfd: wm8994: Fix driver operation if loaded as modules Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 017/191] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 018/191] clk: clk-flexgen: fix clock-critical handling Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 019/191] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 020/191] nfsd: Fix svc_xprt refcnt leak when setup callback client failed Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 021/191] powerpc/crashkernel: Take "mem=" option into account Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 022/191] yam: fix possible memory leak in yam_init_driver Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 023/191] mksysmap: Fix the mismatch of '.L' symbols in System.map Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 024/191] scsi: sr: Fix sr_probe() missing deallocate of device minor Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 025/191] scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 026/191] ALSA: usb-audio: Improve frames size computation Sasha Levin
2020-06-30 10:49   ` Alexander Tsoy
2020-06-30 16:54     ` Sasha Levin
2020-06-30 18:33       ` Greg KH
2020-07-01  6:45         ` Takashi Iwai
2020-06-29 15:37 ` [PATCH 4.9 027/191] s390/qdio: put thinint indicator after early error Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 028/191] tty: hvc: Fix data abort due to race in hvc_open Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 029/191] staging: sm750fb: add missing case while setting FB_VISUAL Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 030/191] i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 031/191] serial: amba-pl011: Make sure we initialize the port.lock spinlock Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 032/191] drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 033/191] PCI: rcar: Fix incorrect programming of OB windows Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 034/191] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 035/191] power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()' Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 036/191] power: supply: smb347-charger: IRQSTAT_D is volatile Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 037/191] scsi: mpt3sas: Fix double free warnings Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 038/191] dlm: remove BUG() before panic() Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 039/191] clk: ti: composite: fix memory leak Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 040/191] tty: n_gsm: Fix SOF skipping Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 041/191] tty: n_gsm: Fix waking up upper tty layer when room available Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 042/191] powerpc/pseries/ras: Fix FWNMI_VALID off by one Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 043/191] powerpc/ps3: Fix kexec shutdown hang Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 044/191] vfio-pci: Mask cap zero Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 045/191] usb/ohci-platform: Fix a warning when hibernating Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 046/191] drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 047/191] USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe() Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 048/191] tty: n_gsm: Fix bogus i++ in gsm_data_kick Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 049/191] clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1 Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 050/191] powerpc/64s/pgtable: fix an undefined behaviour Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 051/191] PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 052/191] IB/cma: Fix ports memory leak in cma_configfs Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 053/191] watchdog: da9062: No need to ping manually before setting timeout Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 054/191] usb: dwc2: gadget: move gadget resume after the core is in L0 state Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 055/191] USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 056/191] usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 057/191] usb: gadget: fix potential double-free in m66592_probe Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 058/191] usb: gadget: Fix issue with config_ep_by_speed function Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 059/191] clk: bcm2835: Fix return type of bcm2835_register_gate Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 060/191] net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 061/191] NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 062/191] extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()' Sasha Levin
2020-06-29 15:37 ` [PATCH 4.9 063/191] ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 064/191] openrisc: Fix issue with argument clobbering for clone/fork Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 065/191] gfs2: Allow lock_nolock mount to specify jid=X Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 066/191] scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 067/191] pinctrl: imxl: Fix an error handling path in 'imx1_pinctrl_core_probe()' Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 068/191] crypto: omap-sham - add proper load balancing support for multicore Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 069/191] lib/zlib: remove outdated and incorrect pre-increment optimization Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 070/191] include/linux/bitops.h: avoid clang shift-count-overflow warnings Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 071/191] elfnote: mark all .note sections SHF_ALLOC Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 072/191] selftests/vm/pkeys: fix alloc_random_pkey() to make it really random Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 073/191] selftests/net: in timestamping, strncpy needs to preserve null byte Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 074/191] scsi: acornscsi: Fix an error handling path in acornscsi_probe() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 075/191] usb/xhci-plat: Set PM runtime as active on resume Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 076/191] usb/ehci-platform: " Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 077/191] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 078/191] bcache: fix potential deadlock problem in btree_gc_coalesce Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 079/191] block: Fix use-after-free in blkdev_get() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 080/191] libata: Use per port sync for detach Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 081/191] drm: encoder_slave: fix refcouting error for modules Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 082/191] drm/dp_mst: Reformat drm_dp_check_act_status() a bit Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 083/191] drm/qxl: Use correct notify port address when creating cursor ring Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 084/191] selinux: fix double free Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 085/191] ext4: fix partial cluster initialization when splitting extent Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 086/191] drm/dp_mst: Increase ACT retry timeout to 3s Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 087/191] x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 088/191] block: nr_sects_write(): Disable preemption on seqcount write Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 089/191] s390: fix syscall_get_error for compat processes Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 090/191] drm/i915: Whitelist context-local timestamp in the gen9 cmdparser Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 091/191] crypto: algboss - don't wait during notifier callback Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 092/191] kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 093/191] powerpc/kprobes: Fixes for kprobe_lookup_name() on BE Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 094/191] x86/kprobes: Avoid kretprobe recursion bug Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 095/191] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 096/191] e1000e: Do not wake up the system via WOL if device wakeup is disabled Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 097/191] sched/rt, net: Use CONFIG_PREEMPTION.patch Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 098/191] net: core: device_rename: Use rwsem instead of a seqcount Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 099/191] media: dvb_frontend: initialize variable s with FE_NONE instead of 0 Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 100/191] media: dvb/frontend.h: move out a private internal structure Sasha Levin
2020-06-29 15:38 ` Sasha Levin [this message]
2020-06-29 15:38 ` [PATCH 4.9 102/191] media: dvb_frontend: get rid of get_property() callback Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 103/191] media: stv0288: get rid of set_property boilerplate Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 104/191] media: stv6110: get rid of a srate dead code Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 105/191] media: friio-fe: get rid of set_property() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 106/191] media: dvb_frontend: get rid of set_property() callback Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 107/191] media: dvb_frontend: cleanup dvb_frontend_ioctl_properties() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 108/191] media: dvb_frontend: cleanup ioctl handling logic Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 109/191] media: dvb_frontend: get rid of property cache's state Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 110/191] media: dvb_frontend: better document the -EPERM condition Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 111/191] media: dvb_frontend: fix return values for FE_SET_PROPERTY Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 112/191] media: dvb_frontend: dtv_property_process_set() cleanups Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 113/191] media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl() return code Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 114/191] media: dvb_frontend: Add unlocked_ioctl in dvb_frontend.c Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 115/191] media: dvb_frontend: Add compat_ioctl callback Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 116/191] media: dvb_frontend: Add commands implementation for compat ioct Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 117/191] media: dvb_frontend: fix wrong cast in compat_ioctl Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 118/191] media: dvb_frontend: fix return error code Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 119/191] mtd: rawnand: Pass a nand_chip object to nand_release() Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 120/191] mtd: rawnand: diskonchip: Fix the probe error path Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 121/191] mtd: rawnand: sharpsl: " Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 122/191] mtd: rawnand: xway: " Sasha Levin
2020-06-29 15:38 ` [PATCH 4.9 123/191] mtd: rawnand: orion: " Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 124/191] mtd: rawnand: socrates: " Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 125/191] mtd: rawnand: plat_nand: " Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 126/191] mtd: rawnand: mtk: " Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 127/191] mtd: rawnand: tmio: " Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 128/191] scsi: scsi_devinfo: handle non-terminated strings Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 129/191] l2tp: Allow duplicate session creation with UDP Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 130/191] net: sched: export __netdev_watchdog_up() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 131/191] fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()" Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 132/191] mld: fix memory leak in ipv6_mc_destroy_dev() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 133/191] net: fix memleak in register_netdevice() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 134/191] net: usb: ax88179_178a: fix packet alignment padding Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 135/191] rocker: fix incorrect error handling in dma_rings_init Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 136/191] rxrpc: Fix notification call on completion of discarded calls Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 137/191] tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 138/191] ip_tunnel: fix use-after-free in ip_tunnel_lookup() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 139/191] tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 140/191] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 141/191] tcp: grow window for OOO packets only for SACK flows Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 142/191] sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 143/191] net: Fix the arp error in some cases Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 144/191] net: Do not clear the sock TX queue in sk_set_socket() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 145/191] net: core: reduce recursion limit value Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 146/191] USB: ohci-sm501: Add missed iounmap() in remove Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 147/191] usb: dwc2: Postponed gadget registration to the udc class driver Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 148/191] usb: add USB_QUIRK_DELAY_INIT for Logitech C922 Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 149/191] USB: ehci: reopen solution for Synopsys HC bug Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 150/191] usb: host: ehci-exynos: Fix error check in exynos_ehci_probe() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 151/191] ALSA: usb-audio: add quirk for Denon DCD-1500RE Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 152/191] xhci: Fix incorrect EP_STATE_MASK Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 153/191] xhci: Fix enumeration issue when setting max packet size for FS devices Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 154/191] cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 155/191] ALSA: usb-audio: uac1: Invalidate ctl on interrupt Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 156/191] ALSA: usb-audio: Clean up mixer element list traverse Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 157/191] ALSA: usb-audio: Fix OOB access of mixer element list Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 158/191] xhci: Poll for U0 after disabling USB2 LPM Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 159/191] cifs/smb3: Fix data inconsistent when punch hole Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 160/191] cifs/smb3: Fix data inconsistent when zero file range Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 161/191] efi/esrt: Fix reference count leak in esre_create_sysfs_entry Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 162/191] RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 163/191] net: qed: fix left elements count calculation Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 164/191] net: qed: fix NVMe login fails over VFs Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 165/191] net: qed: fix excessive QM ILT lines consumption Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 166/191] ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 167/191] usb: gadget: udc: Potential Oops in error handling code Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 168/191] netfilter: ipset: fix unaligned atomic access Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 169/191] sched/core: Fix PI boosting between RT and DEADLINE tasks Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 170/191] ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 171/191] net: alx: fix race condition in alx_remove Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 172/191] s390/ptrace: fix setting syscall number Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 173/191] kbuild: improve cc-option to clean up all temporary files Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 174/191] blktrace: break out of blktrace setup on concurrent calls Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 175/191] ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 176/191] ACPI: sysfs: Fix pm_profile_attr type Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 177/191] KVM: X86: Fix MSR range of APIC registers in X2APIC mode Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 178/191] mm/slab: use memzero_explicit() in kzfree() Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 179/191] ocfs2: load global_inode_alloc Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 180/191] ocfs2: fix value of OCFS2_INVALID_SLOT Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 181/191] ocfs2: fix panic on nfs server over ocfs2 Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 182/191] arm64: perf: Report the PC value in REGS_ABI_32 mode Sasha Levin
2020-06-29 15:39 ` [PATCH 4.9 183/191] tracing: Fix event trigger to accept redundant spaces Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 184/191] drm/radeon: fix fb_div check in ni_init_smc_spll_table() Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 185/191] sunrpc: fixed rollback in rpc_gssd_dummy_populate() Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 186/191] SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 187/191] pNFS/flexfiles: Fix list corruption if the mirror count changes Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 188/191] NFSv4 fix CLOSE not waiting for direct IO compeletion Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 189/191] ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 190/191] xfs: add agf freeblocks verify in xfs_agf_verify Sasha Levin
2020-06-29 15:40 ` [PATCH 4.9 191/191] Linux 4.9.229-rc1 Sasha Levin
2020-06-30  7:45 ` [PATCH 4.9 000/191] 4.9.229-rc1 review Naresh Kamboju
2020-06-30  9:13 ` Jon Hunter
2020-06-30 17:20 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200629154007.2495120-102-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@s-opensource.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).