Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1326385 > unrolled thread

[PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()

Started byShuah Khan <shuahkh@osg.samsung.com>
First post2016-02-04 05:10 +0100
Last post2016-02-04 15:50 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner() Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-04 05:10 +0100
    Re: [PATCH v2 12/22] media: au0828 video remove  au0828_enable_analog_tuner() Mauro Carvalho Chehab <mchehab@osg.samsung.com> - 2016-02-04 10:40 +0100
      Re: [PATCH v2 12/22] media: au0828 video remove  au0828_enable_analog_tuner() Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-04 15:50 +0100

#1326385 — [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()

FromShuah Khan <shuahkh@osg.samsung.com>
Date2016-02-04 05:10 +0100
Subject[PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()
Message-ID<qYjp1-3uR-33@gated-at.bofh.it>
Remove au0828_enable_analog_tuner() as it is
no longer needed because v4l2-core implements
common interfaces to check for media source
availability.

In addition, queue_setup() no longer needs the
tuner availability check since v4l2-core does it.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
---
 drivers/media/usb/au0828/au0828-video.c | 61 ---------------------------------
 1 file changed, 61 deletions(-)

diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c
index 8c54fd2..81952c8 100644
--- a/drivers/media/usb/au0828/au0828-video.c
+++ b/drivers/media/usb/au0828/au0828-video.c
@@ -638,64 +638,6 @@ static inline int au0828_isoc_copy(struct au0828_dev *dev, struct urb *urb)
 	return rc;
 }
 
-static int au0828_enable_analog_tuner(struct au0828_dev *dev)
-{
-#ifdef CONFIG_MEDIA_CONTROLLER
-	struct media_device *mdev = dev->media_dev;
-	struct media_entity *source;
-	struct media_link *link, *found_link = NULL;
-	int ret, active_links = 0;
-
-	if (!mdev || !dev->decoder)
-		return 0;
-
-	/*
-	 * This will find the tuner that is connected into the decoder.
-	 * Technically, this is not 100% correct, as the device may be
-	 * using an analog input instead of the tuner. However, as we can't
-	 * do DVB streaming while the DMA engine is being used for V4L2,
-	 * this should be enough for the actual needs.
-	 */
-	list_for_each_entry(link, &dev->decoder->links, list) {
-		if (link->sink->entity == dev->decoder) {
-			found_link = link;
-			if (link->flags & MEDIA_LNK_FL_ENABLED)
-				active_links++;
-			break;
-		}
-	}
-
-	if (active_links == 1 || !found_link)
-		return 0;
-
-	source = found_link->source->entity;
-	list_for_each_entry(link, &source->links, list) {
-		struct media_entity *sink;
-		int flags = 0;
-
-		sink = link->sink->entity;
-
-		if (sink == dev->decoder)
-			flags = MEDIA_LNK_FL_ENABLED;
-
-		ret = media_entity_setup_link(link, flags);
-		if (ret) {
-			pr_err(
-				"Couldn't change link %s->%s to %s. Error %d\n",
-				source->name, sink->name,
-				flags ? "enabled" : "disabled",
-				ret);
-			return ret;
-		} else
-			au0828_isocdbg(
-				"link %s->%s was %s\n",
-				source->name, sink->name,
-				flags ? "ENABLED" : "disabled");
-	}
-#endif
-	return 0;
-}
-
 static int queue_setup(struct vb2_queue *vq,
 		       unsigned int *nbuffers, unsigned int *nplanes,
 		       unsigned int sizes[], void *alloc_ctxs[])
@@ -707,9 +649,6 @@ static int queue_setup(struct vb2_queue *vq,
 		return sizes[0] < size ? -EINVAL : 0;
 	*nplanes = 1;
 	sizes[0] = size;
-
-	au0828_enable_analog_tuner(dev);
-
 	return 0;
 }
 
-- 
2.5.0

[toc] | [next] | [standalone]


#1326522 — Re: [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()

FromMauro Carvalho Chehab <mchehab@osg.samsung.com>
Date2016-02-04 10:40 +0100
SubjectRe: [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()
Message-ID<qYoyn-6KS-27@gated-at.bofh.it>
In reply to#1326385
Em Wed, 03 Feb 2016 21:03:44 -0700
Shuah Khan <shuahkh@osg.samsung.com> escreveu:

> Remove au0828_enable_analog_tuner() as it is
> no longer needed because v4l2-core implements
> common interfaces to check for media source
> availability.

I didn't see such code at v4l2-core yet. Missing patch?

> 
> In addition, queue_setup() no longer needs the
> tuner availability check since v4l2-core does it.
> 
> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
> ---
>  drivers/media/usb/au0828/au0828-video.c | 61 ---------------------------------
>  1 file changed, 61 deletions(-)
> 
> diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c
> index 8c54fd2..81952c8 100644
> --- a/drivers/media/usb/au0828/au0828-video.c
> +++ b/drivers/media/usb/au0828/au0828-video.c
> @@ -638,64 +638,6 @@ static inline int au0828_isoc_copy(struct au0828_dev *dev, struct urb *urb)
>  	return rc;
>  }
>  
> -static int au0828_enable_analog_tuner(struct au0828_dev *dev)
> -{
> -#ifdef CONFIG_MEDIA_CONTROLLER
> -	struct media_device *mdev = dev->media_dev;
> -	struct media_entity *source;
> -	struct media_link *link, *found_link = NULL;
> -	int ret, active_links = 0;
> -
> -	if (!mdev || !dev->decoder)
> -		return 0;
> -
> -	/*
> -	 * This will find the tuner that is connected into the decoder.
> -	 * Technically, this is not 100% correct, as the device may be
> -	 * using an analog input instead of the tuner. However, as we can't
> -	 * do DVB streaming while the DMA engine is being used for V4L2,
> -	 * this should be enough for the actual needs.
> -	 */
> -	list_for_each_entry(link, &dev->decoder->links, list) {
> -		if (link->sink->entity == dev->decoder) {
> -			found_link = link;
> -			if (link->flags & MEDIA_LNK_FL_ENABLED)
> -				active_links++;
> -			break;
> -		}
> -	}
> -
> -	if (active_links == 1 || !found_link)
> -		return 0;
> -
> -	source = found_link->source->entity;
> -	list_for_each_entry(link, &source->links, list) {
> -		struct media_entity *sink;
> -		int flags = 0;
> -
> -		sink = link->sink->entity;
> -
> -		if (sink == dev->decoder)
> -			flags = MEDIA_LNK_FL_ENABLED;
> -
> -		ret = media_entity_setup_link(link, flags);
> -		if (ret) {
> -			pr_err(
> -				"Couldn't change link %s->%s to %s. Error %d\n",
> -				source->name, sink->name,
> -				flags ? "enabled" : "disabled",
> -				ret);
> -			return ret;
> -		} else
> -			au0828_isocdbg(
> -				"link %s->%s was %s\n",
> -				source->name, sink->name,
> -				flags ? "ENABLED" : "disabled");
> -	}
> -#endif
> -	return 0;
> -}
> -
>  static int queue_setup(struct vb2_queue *vq,
>  		       unsigned int *nbuffers, unsigned int *nplanes,
>  		       unsigned int sizes[], void *alloc_ctxs[])
> @@ -707,9 +649,6 @@ static int queue_setup(struct vb2_queue *vq,
>  		return sizes[0] < size ? -EINVAL : 0;
>  	*nplanes = 1;
>  	sizes[0] = size;
> -
> -	au0828_enable_analog_tuner(dev);
> -
>  	return 0;
>  }
>  

[toc] | [prev] | [next] | [standalone]


#1326884 — Re: [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()

FromShuah Khan <shuahkh@osg.samsung.com>
Date2016-02-04 15:50 +0100
SubjectRe: [PATCH v2 12/22] media: au0828 video remove au0828_enable_analog_tuner()
Message-ID<qYtol-3f9-3@gated-at.bofh.it>
In reply to#1326522
On 02/04/2016 02:37 AM, Mauro Carvalho Chehab wrote:
> Em Wed, 03 Feb 2016 21:03:44 -0700
> Shuah Khan <shuahkh@osg.samsung.com> escreveu:
> 
>> Remove au0828_enable_analog_tuner() as it is
>> no longer needed because v4l2-core implements
>> common interfaces to check for media source
>> availability.
> 
> I didn't see such code at v4l2-core yet. Missing patch?

Removed linux-api from cc:

Please see Patch 10/22 for v4l2-core changes.
[PATCH v2 10/22] media: Change v4l-core to check if source is free

thanks,
-- Shuah

> 
>>
>> In addition, queue_setup() no longer needs the
>> tuner availability check since v4l2-core does it.
>>
>> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
>> ---
>>  drivers/media/usb/au0828/au0828-video.c | 61 ---------------------------------
>>  1 file changed, 61 deletions(-)
>>
>> diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c
>> index 8c54fd2..81952c8 100644
>> --- a/drivers/media/usb/au0828/au0828-video.c
>> +++ b/drivers/media/usb/au0828/au0828-video.c
>> @@ -638,64 +638,6 @@ static inline int au0828_isoc_copy(struct au0828_dev *dev, struct urb *urb)
>>  	return rc;
>>  }
>>  
>> -static int au0828_enable_analog_tuner(struct au0828_dev *dev)
>> -{
>> -#ifdef CONFIG_MEDIA_CONTROLLER
>> -	struct media_device *mdev = dev->media_dev;
>> -	struct media_entity *source;
>> -	struct media_link *link, *found_link = NULL;
>> -	int ret, active_links = 0;
>> -
>> -	if (!mdev || !dev->decoder)
>> -		return 0;
>> -
>> -	/*
>> -	 * This will find the tuner that is connected into the decoder.
>> -	 * Technically, this is not 100% correct, as the device may be
>> -	 * using an analog input instead of the tuner. However, as we can't
>> -	 * do DVB streaming while the DMA engine is being used for V4L2,
>> -	 * this should be enough for the actual needs.
>> -	 */
>> -	list_for_each_entry(link, &dev->decoder->links, list) {
>> -		if (link->sink->entity == dev->decoder) {
>> -			found_link = link;
>> -			if (link->flags & MEDIA_LNK_FL_ENABLED)
>> -				active_links++;
>> -			break;
>> -		}
>> -	}
>> -
>> -	if (active_links == 1 || !found_link)
>> -		return 0;
>> -
>> -	source = found_link->source->entity;
>> -	list_for_each_entry(link, &source->links, list) {
>> -		struct media_entity *sink;
>> -		int flags = 0;
>> -
>> -		sink = link->sink->entity;
>> -
>> -		if (sink == dev->decoder)
>> -			flags = MEDIA_LNK_FL_ENABLED;
>> -
>> -		ret = media_entity_setup_link(link, flags);
>> -		if (ret) {
>> -			pr_err(
>> -				"Couldn't change link %s->%s to %s. Error %d\n",
>> -				source->name, sink->name,
>> -				flags ? "enabled" : "disabled",
>> -				ret);
>> -			return ret;
>> -		} else
>> -			au0828_isocdbg(
>> -				"link %s->%s was %s\n",
>> -				source->name, sink->name,
>> -				flags ? "ENABLED" : "disabled");
>> -	}
>> -#endif
>> -	return 0;
>> -}
>> -
>>  static int queue_setup(struct vb2_queue *vq,
>>  		       unsigned int *nbuffers, unsigned int *nplanes,
>>  		       unsigned int sizes[], void *alloc_ctxs[])
>> @@ -707,9 +649,6 @@ static int queue_setup(struct vb2_queue *vq,
>>  		return sizes[0] < size ? -EINVAL : 0;
>>  	*nplanes = 1;
>>  	sizes[0] = size;
>> -
>> -	au0828_enable_analog_tuner(dev);
>> -
>>  	return 0;
>>  }
>>  
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@osg.samsung.com | (970) 217-8978

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web