All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
To: Linux Media Mailing List <linux-media@vger.kernel.org>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Thierry Reding <thierry.reding@gmail.com>,
	linux-doc@vger.kernel.org
Subject: [PATCH 01/26] [media] DocBook: Document include/media/tuner.h
Date: Sat, 10 Oct 2015 10:35:44 -0300	[thread overview]
Message-ID: <07c68a7423c4e44cc4f85caa83bb7fae36367250.1444483819.git.mchehab@osg.samsung.com> (raw)
In-Reply-To: <cover.1444483819.git.mchehab@osg.samsung.com>
In-Reply-To: <cover.1444483819.git.mchehab@osg.samsung.com>

This is part of the V4L2 core, so its kABI should be
documented at device-drivers DocBook.

Add the meta-tags for that.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl
index 31cefc9af98e..2fc3bca44f49 100644
--- a/Documentation/DocBook/device-drivers.tmpl
+++ b/Documentation/DocBook/device-drivers.tmpl
@@ -221,6 +221,7 @@ X!Isound/sound_firmware.c
      <title>Media Devices</title>
 
      <sect1><title>Video2Linux devices</title>
+!Iinclude/media/tuner.h
 !Iinclude/media/v4l2-async.h
 !Iinclude/media/v4l2-ctrls.h
 !Iinclude/media/v4l2-dv-timings.h
diff --git a/include/media/tuner.h b/include/media/tuner.h
index b46ebb48fe74..4445dcbfdb80 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -166,33 +166,67 @@
 #define TDA9887_GAIN_NORMAL		(1<<20)
 #define TDA9887_RIF_41_3		(1<<21)  /* radio IF1 41.3 vs 33.3 */
 
+/**
+ * enum tuner_mode      - Mode of the tuner
+ *
+ * @T_RADIO:        Tuner core will work in radio mode
+ * @T_ANALOG_TV:    Tuner core will work in analog TV mode
+ *
+ * Older boards only had a single tuner device, but some devices have a
+ * separate tuner for radio. In any case, the tuner-core needs to know if
+ * the tuner chip(s) will be used in radio mode or analog TV mode, as, on
+ * radio mode, frequencies are specified on a different range than on TV
+ * mode. This enum is used by the tuner core in order to work with the
+ * proper tuner range and eventually use a different tuner chip while in
+ * radio mode.
+ */
 enum tuner_mode {
 	T_RADIO		= 1 << V4L2_TUNER_RADIO,
 	T_ANALOG_TV     = 1 << V4L2_TUNER_ANALOG_TV,
 	/* Don't need to map V4L2_TUNER_DIGITAL_TV, as tuner-core won't use it */
 };
 
-/* Older boards only had a single tuner device. Nowadays multiple tuner
-   devices may be present on a single board. Using TUNER_SET_TYPE_ADDR
-   to pass the tuner_setup structure it is possible to setup each tuner
-   device in turn.
-
-   Since multiple devices may be present it is no longer sufficient to
-   send a command to a single i2c device. Instead you should broadcast
-   the command to all i2c devices.
-
-   By setting the mode_mask correctly you can select which commands are
-   accepted by a specific tuner device. For example, set mode_mask to
-   T_RADIO if the device is a radio-only tuner. That specific tuner will
-   only accept commands when the tuner is in radio mode and ignore them
-   when the tuner is set to TV mode.
+/**
+ * struct tuner_setup   - setup the tuner chipsets
+ *
+ * @addr:		I2C address used to control the tuner device/chipset
+ * @type:		Type of the tuner, as defined at the TUNER_* macros.
+ *			Each different tuner model should have an unique
+ *			identifier.
+ * @mode_mask:		Mask with the allowed tuner modes: V4L2_TUNER_RADIO,
+ *			V4L2_TUNER_ANALOG_TV and/or V4L2_TUNER_DIGITAL_TV,
+ *			describing if the tuner should be used to support
+ *			Radio, analog TV and/or digital TV.
+ * @config:		Used to send tuner-specific configuration for complex
+ *			tuners that require extra parameters to be set.
+ *			Only a very few tuners require it and its usage on
+ *			newer tuners should be avoided.
+ * @tuner_callback:	Some tuners require to call back the bridge driver,
+ *			in order to do some tasks like rising a GPIO at the
+ *			bridge chipset, in order to do things like resetting
+ *			the device.
+ *
+ * Older boards only had a single tuner device. Nowadays multiple tuner
+ * devices may be present on a single board. Using TUNER_SET_TYPE_ADDR
+ * to pass the tuner_setup structure it is possible to setup each tuner
+ * device in turn.
+ *
+ * Since multiple devices may be present it is no longer sufficient to
+ * send a command to a single i2c device. Instead you should broadcast
+ * the command to all i2c devices.
+ *
+ * By setting the mode_mask correctly you can select which commands are
+ * accepted by a specific tuner device. For example, set mode_mask to
+ * T_RADIO if the device is a radio-only tuner. That specific tuner will
+ * only accept commands when the tuner is in radio mode and ignore them
+ * when the tuner is set to TV mode.
  */
 
 struct tuner_setup {
-	unsigned short	addr; 	/* I2C address */
-	unsigned int	type;   /* Tuner type */
-	unsigned int	mode_mask;  /* Allowed tuner modes */
-	void		*config;    /* configuraion for more complex tuners */
+	unsigned short	addr;
+	unsigned int	type;
+	unsigned int	mode_mask;
+	void		*config;
 	int (*tuner_callback) (void *dev, int component, int cmd, int arg);
 };
 
-- 
2.4.3



  reply	other threads:[~2015-10-10 13:36 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-10 13:35 [PATCH 00/26] Some improvements for the media API Mauro Carvalho Chehab
2015-10-10 13:35 ` Mauro Carvalho Chehab [this message]
2015-10-10 13:35 ` [PATCH 02/26] [media] tuner.h: Make checkpatch.pl happier Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 03/26] [media] DocBook: convert struct tuner_parms to doc-nano format Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 04/26] [media] DocBook: add documentation for tuner-types.h Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 05/26] [media] tveeprom: Remove two unused fields from struct Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 06/26] [media] DocBook: Document tveeprom.h Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 07/26] [media] DocBook: Convert struct lirc_driver to doc-nano format Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 08/26] [media] lirc_dev.h: Make checkpatch happy Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 09/26] [media] DocBook: document struct dvb_ca_en50221 Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 10/26] [media] dvb_ca_en50221.h: Make checkpatch.pl happy Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 11/26] [media] DocBook: Move struct dmx_demux kABI doc to demux.h Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 12/26] [media] DocBook: update documented fields at struct dmx_demux Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 13/26] [media] dvb: don't keep support for undocumented features Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 14/26] [media] DocBook: finish documenting struct dmx_demux Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 15/26] [media] dvb: get rid of enum dmx_success Mauro Carvalho Chehab
2015-10-10 13:35 ` [PATCH 16/26] [media] dvb: Remove unused frontend sources at demux.h and sync doc Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 17/26] [media] DocBook: document the other structs/enums of demux.h Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 18/26] [media] demux.h: make checkpatch.ph happy Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 19/26] kernel-doc: Add a parser for function typedefs Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 20/26] kernel-doc: better format typedef function output Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 21/26] [media] DocBook: document typedef dmx_ts_cb at demux.h Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 22/26] [media] DocBook: document typedef dmx_section_cb " Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 23/26] [media] demux.h: Convert TS filter type into enum Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 24/26] [media] demux.h: Convert MPEG-TS demux caps to an enum Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 25/26] [media] DocBook: Add documentation about the demux API Mauro Carvalho Chehab
2015-10-10 13:36 ` [PATCH 26/26] [media] DocBook: Remove kdapi.xml Mauro Carvalho Chehab

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=07c68a7423c4e44cc4f85caa83bb7fae36367250.1444483819.git.mchehab@osg.samsung.com \
    --to=mchehab@osg.samsung.com \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=thierry.reding@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.