From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
To: Shuah Khan <shuahkh@osg.samsung.com>
Cc: tiwai@suse.com, clemens@ladisch.de, hans.verkuil@cisco.com,
laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com,
javier@osg.samsung.com, pawel@osciak.com,
m.szyprowski@samsung.com, kyungmin.park@samsung.com,
perex@perex.cz, arnd@arndb.de, dan.carpenter@oracle.com,
tvboxspy@gmail.com, crope@iki.fi, ruchandani.tina@gmail.com,
corbet@lwn.net, chehabrafael@gmail.com, k.kozlowski@samsung.com,
stefanr@s5r6.in-berlin.de, inki.dae@samsung.com,
jh1009.sung@samsung.com, elfring@users.sourceforge.net,
prabhakar.csengg@gmail.com, sw0312.kim@samsung.com,
p.zabel@pengutronix.de, ricardo.ribalda@gmail.com,
labbott@fedoraproject.org, pierre-louis.bossart@linux.intel.com,
ricard.wanderlof@axis.com, julian@jusst.de,
takamichiho@gmail.com, dominic.sacre@gmx.de, misterpib@gmail.com,
daniel@zonque.org, gtmkramer@xs4all.nl, normalperson@yhbt.net,
joe@oampo.co.uk, linuxbugs@vittga
Subject: Re: [PATCH 08/31] media: v4l-core add v4l_enable/disable_media_tuner() helper functions
Date: Thu, 28 Jan 2016 13:26:51 -0200 [thread overview]
Message-ID: <20160128132651.748a1271@recife.lan> (raw)
In-Reply-To: <e642fee6e443170b33a8c69fbc21b409f7be5583.1452105878.git.shuahkh@osg.samsung.com>
Em Wed, 6 Jan 2016 13:26:57 -0700
Shuah Khan <shuahkh@osg.samsung.com> escreveu:
> Add a new interfaces to be used by v4l-core to invoke enable
> source and disable_source handlers in the media_device. The
> enable_source helper function invokes the enable_source handler
> to find tuner entity connected to the decoder and check is it
> is available or busy. If tuner is available, link is activated
> and pipeline is started. The disable_source helper function
> invokes the disable_source handler to deactivate and stop the
> pipeline.
>
> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
> ---
> drivers/media/v4l2-core/v4l2-dev.c | 27 +++++++++++++++++++++++++++
> include/media/v4l2-dev.h | 4 ++++
> 2 files changed, 31 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
> index d8e5994..f06da6e 100644
> --- a/drivers/media/v4l2-core/v4l2-dev.c
> +++ b/drivers/media/v4l2-core/v4l2-dev.c
> @@ -233,6 +233,33 @@ struct video_device *video_devdata(struct file *file)
> }
> EXPORT_SYMBOL(video_devdata);
>
> +int v4l_enable_media_tuner(struct video_device *vdev)
IMHO, the better is to put those MC ancillary routines on a separate file.
Hans suggested to add them at v4l2-mc.h and v4l2-mc.h.
> +{
> +#ifdef CONFIG_MEDIA_CONTROLLER
> + struct media_device *mdev = vdev->entity.graph_obj.mdev;
> + int ret;
> +
> + if (!mdev || !mdev->enable_source)
> + return 0;
> + ret = mdev->enable_source(&vdev->entity, &vdev->pipe);
> + if (ret)
> + return -EBUSY;
> + return 0;
> +#endif /* CONFIG_MEDIA_CONTROLLER */
> + return 0;
> +}
> +EXPORT_SYMBOL_GPL(v4l_enable_media_tuner);
> +
> +void v4l_disable_media_tuner(struct video_device *vdev)
> +{
> +#ifdef CONFIG_MEDIA_CONTROLLER
> + struct media_device *mdev = vdev->entity.graph_obj.mdev;
> +
> + if (mdev && mdev->disable_source)
> + mdev->disable_source(&vdev->entity);
> +#endif /* CONFIG_MEDIA_CONTROLLER */
> +}
> +EXPORT_SYMBOL_GPL(v4l_disable_media_tuner);
>
> /* Priority handling */
>
> diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
> index eeabf20..68999a3 100644
> --- a/include/media/v4l2-dev.h
> +++ b/include/media/v4l2-dev.h
> @@ -87,6 +87,7 @@ struct video_device
> #if defined(CONFIG_MEDIA_CONTROLLER)
> struct media_entity entity;
> struct media_intf_devnode *intf_devnode;
> + struct media_pipeline pipe;
> #endif
> /* device ops */
> const struct v4l2_file_operations *fops;
> @@ -176,6 +177,9 @@ void video_unregister_device(struct video_device *vdev);
> latter can also be used for video_device->release(). */
> struct video_device * __must_check video_device_alloc(void);
>
> +int v4l_enable_media_tuner(struct video_device *vdev);
> +void v4l_disable_media_tuner(struct video_device *vdev);
Documentation?
> +
> /* this release function frees the vdev pointer */
> void video_device_release(struct video_device *vdev);
>
next prev parent reply other threads:[~2016-01-28 15:26 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-06 20:26 [PATCH 00/31] Sharing media resources across ALSA and au0828 drivers Shuah Khan
2016-01-06 20:26 ` [PATCH 01/31] uapi/media.h: Declare interface types for ALSA Shuah Khan
2016-01-28 14:59 ` Mauro Carvalho Chehab
[not found] ` <20160128125941.143f67d0-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-02-01 16:07 ` Shuah Khan
[not found] ` <56AF82D7.1020900-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-02-01 16:18 ` Takashi Iwai
2016-02-01 17:04 ` Shuah Khan
2016-01-06 20:26 ` [PATCH 02/31] media: Add ALSA Media Controller function entities Shuah Khan
[not found] ` <ad778fbd7f61105b273d2a49dc91662c4bb255d7.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 15:02 ` Mauro Carvalho Chehab
2016-01-06 20:26 ` [PATCH 03/31] media: Media Controller register/unregister entity_notify API Shuah Khan
[not found] ` <01a8373c514c6728094056532e82f13192dcbb3f.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 15:13 ` Mauro Carvalho Chehab
2016-01-28 17:09 ` Shuah Khan
2016-01-06 20:26 ` [PATCH 04/31] media: Media Controller enable/disable source handler API Shuah Khan
2016-01-28 15:19 ` Mauro Carvalho Chehab
2016-01-28 16:28 ` Shuah Khan
2016-01-28 17:15 ` Mauro Carvalho Chehab
2016-01-28 20:33 ` Shuah Khan
2016-01-06 20:26 ` [PATCH 05/31] media: Media Controller fix to not let stream_count go negative Shuah Khan
2016-01-06 20:26 ` [PATCH 06/31] media: Media Controller export non locking __media_entity_setup_link() Shuah Khan
2016-01-06 20:26 ` [PATCH 07/31] media: Media Controller non-locking __media_entity_pipeline_start/stop() Shuah Khan
2016-01-06 20:26 ` [PATCH 08/31] media: v4l-core add v4l_enable/disable_media_tuner() helper functions Shuah Khan
2016-01-28 15:26 ` Mauro Carvalho Chehab [this message]
[not found] ` <20160128132651.748a1271-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 17:12 ` Shuah Khan
2016-01-06 20:26 ` [PATCH 09/31] media: v4l2-core add v4l_vb2q_enable_media_tuner() helper Shuah Khan
[not found] ` <ac1ad6fc9832cb922ac02eba1f916a6fb4ef97a8.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 15:29 ` Mauro Carvalho Chehab
[not found] ` <20160128132937.3305eff3-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 17:31 ` Shuah Khan
[not found] ` <56AA5069.4010402-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 17:34 ` Mauro Carvalho Chehab
2016-01-06 20:26 ` [PATCH 10/31] media: Move au8522_media_pads enum to au8522.h from au8522_priv.h Shuah Khan
2016-01-06 20:27 ` [PATCH 11/31] media: au8522 change to create MC pad for ALSA Audio Out Shuah Khan
2016-01-06 20:27 ` [PATCH 12/31] media: au0828 Use au8522_media_pads enum for pad defines Shuah Khan
2016-01-06 20:27 ` [PATCH 13/31] media: au0828 fix au0828_create_media_graph() entity checks Shuah Khan
2016-01-28 15:37 ` Mauro Carvalho Chehab
[not found] ` <20160128133728.5fa54fa3-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 18:57 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 14/31] media: Change v4l-core to check for tuner availability Shuah Khan
2016-01-06 20:27 ` [PATCH 15/31] media: dvb-frontend invoke enable/disable_source handlers Shuah Khan
[not found] ` <1591b6cf2025fa95a13e3b7dde52aa0e0bde0bb4.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 15:53 ` Mauro Carvalho Chehab
[not found] ` <20160128135304.3daa79f1-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 16:07 ` One Thousand Gnomes
[not found] ` <20160128160711.029f3faf-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2016-01-28 16:59 ` Shuah Khan
[not found] ` <56AA48FA.7070203-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 17:31 ` Mauro Carvalho Chehab
2016-01-06 20:27 ` [PATCH 16/31] media: au0828 video remove au0828_enable_analog_tuner() Shuah Khan
2016-01-06 20:27 ` [PATCH 17/31] media: au0828 video change to use v4l_enable_media_tuner() Shuah Khan
[not found] ` <2d2392f96a7f10a8d94a4d7fa6d5657b56b75593.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 15:57 ` Mauro Carvalho Chehab
2016-01-28 19:21 ` Shuah Khan
[not found] ` <56AA6A2A.1020801-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 19:33 ` Devin Heitmueller
2016-01-06 20:27 ` [PATCH 18/31] media: au0828 change to use Managed Media Controller API Shuah Khan
2016-01-06 20:27 ` [PATCH 19/31] media: au0828 handle media_init and media_register window Shuah Khan
2016-01-06 20:27 ` [PATCH 20/31] media: au0828 change to register/unregister entity_notify hook Shuah Khan
2016-01-28 16:36 ` Mauro Carvalho Chehab
[not found] ` <20160128143610.154ce103-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 20:05 ` Shuah Khan
2016-01-28 20:20 ` Mauro Carvalho Chehab
2016-01-06 20:27 ` [PATCH 21/31] media: au0828 create tuner to decoder link in deactivated state Shuah Khan
2016-01-06 20:27 ` [PATCH 22/31] media: dvb-core create tuner to demod pad link in disabled state Shuah Khan
2016-01-28 16:38 ` Mauro Carvalho Chehab
2016-01-28 20:09 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 23/31] media: au0828 implement enable_source and disable_source handlers Shuah Khan
[not found] ` <6d1f10b616fc3c8b016cf0e335de569012400de8.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 16:43 ` Mauro Carvalho Chehab
2016-01-28 20:14 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 24/31] media: au0828 fix null pointer reference in au0828_create_media_graph() Shuah Khan
2016-01-28 16:44 ` Mauro Carvalho Chehab
2016-01-28 20:15 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 29/31] media: track media device unregister in progress Shuah Khan
2016-01-28 17:01 ` Mauro Carvalho Chehab
2016-01-28 17:04 ` Shuah Khan
[not found] ` <56AA4A18.8030303-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 17:28 ` Mauro Carvalho Chehab
2016-01-28 20:42 ` Shuah Khan
2016-02-03 19:32 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 30/31] sound/usb: Check media device unregister progress state Shuah Khan
[not found] ` <cover.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-06 20:27 ` [PATCH 28/31] media: au0828 create link between ALSA Mixer and decoder Shuah Khan
2016-01-28 16:58 ` Mauro Carvalho Chehab
2016-01-28 20:17 ` Shuah Khan
2016-01-06 20:27 ` [PATCH 31/31] media: au0828 change to check media device unregister progress state Shuah Khan
2016-01-28 17:05 ` Mauro Carvalho Chehab
[not found] ` <20160128150538.1ba8fc7c-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 20:31 ` Shuah Khan
2016-01-06 21:01 ` [PATCH 25/31] media: au0828 fix to not call media_device_unregister_entity_notify() Shuah Khan
[not found] ` <19782c8250ea1297271506e6558c089d4b25e026.1452105878.git.shuahkh-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-01-28 16:45 ` Mauro Carvalho Chehab
[not found] ` <20160128144546.26eb3c4b-+RedX5hVuTR+urZeOPWqwQ@public.gmane.org>
2016-01-28 20:15 ` Shuah Khan
2016-01-06 21:05 ` [PATCH 26/31] sound/usb: Update ALSA driver to use Managed Media Controller API Shuah Khan
2016-01-07 15:44 ` Takashi Iwai
[not found] ` <s5ha8ohfl7f.wl-tiwai-l3A5Bk7waGM@public.gmane.org>
2016-01-07 20:27 ` Shuah Khan
2016-01-06 21:05 ` [PATCH 27/31] sound/usb: Create media mixer function and control interface entities Shuah Khan
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=20160128132651.748a1271@recife.lan \
--to=mchehab@osg.samsung.com \
--cc=arnd@arndb.de \
--cc=chehabrafael@gmail.com \
--cc=clemens@ladisch.de \
--cc=corbet@lwn.net \
--cc=crope@iki.fi \
--cc=dan.carpenter@oracle.com \
--cc=daniel@zonque.org \
--cc=dominic.sacre@gmx.de \
--cc=elfring@users.sourceforge.net \
--cc=gtmkramer@xs4all.nl \
--cc=hans.verkuil@cisco.com \
--cc=inki.dae@samsung.com \
--cc=javier@osg.samsung.com \
--cc=jh1009.sung@samsung.com \
--cc=joe@oampo.co.uk \
--cc=julian@jusst.de \
--cc=k.kozlowski@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=labbott@fedoraproject.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linuxbugs@vittga \
--cc=m.szyprowski@samsung.com \
--cc=misterpib@gmail.com \
--cc=normalperson@yhbt.net \
--cc=p.zabel@pengutronix.de \
--cc=pawel@osciak.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=prabhakar.csengg@gmail.com \
--cc=ricard.wanderlof@axis.com \
--cc=ricardo.ribalda@gmail.com \
--cc=ruchandani.tina@gmail.com \
--cc=sakari.ailus@linux.intel.com \
--cc=shuahkh@osg.samsung.com \
--cc=stefanr@s5r6.in-berlin.de \
--cc=sw0312.kim@samsung.com \
--cc=takamichiho@gmail.com \
--cc=tiwai@suse.com \
--cc=tvboxspy@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 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).