public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: "Németh Márton" <nm127@freemail.hu>
To: Huang Shijie <shijie8@gmail.com>
Cc: Kang Yong <kangyong@telegent.com>,
	Zhang Xiaobing <xbzhang@telegent.com>,
	Huang Shijie <zyziii@telegent.com>,
	V4L Mailing List <linux-media@vger.kernel.org>
Subject: Re: [PATCH] tlg2300: cleanups when power management is not configured
Date: Mon, 01 Mar 2010 07:39:25 +0100	[thread overview]
Message-ID: <4B8B611D.20705@freemail.hu> (raw)
In-Reply-To: <4B8B3EA1.3090806@gmail.com>

Hi,
Huang Shijie wrote:
> hi Marton, thanks a lot.
> 
>> From: Márton Németh<nm127@freemail.hu>
>>
>> When power management is not configured (CONFIG_PM) then some code is no longer
>> necessary.
>>
>> This patch will remove the following compiler warnings:
>>   * pd-dvb.c: In function 'poseidon_fe_release':
>>   * pd-dvb.c:101: warning: unused variable 'pd'
>>   * pd-video.c:14: warning: 'pm_video_suspend' declared 'static' but never defined
>>   * pd-video.c:15: warning: 'pm_video_resume' declared 'static' but never defined
>>
>> Signed-off-by: Márton Németh<nm127@freemail.hu>
>> ---
>> diff -r 37581bb7e6f1 linux/drivers/media/video/tlg2300/pd-dvb.c
>> --- a/linux/drivers/media/video/tlg2300/pd-dvb.c	Wed Feb 24 22:48:50 2010 -0300
>> +++ b/linux/drivers/media/video/tlg2300/pd-dvb.c	Sun Feb 28 15:13:05 2010 +0100
>> @@ -96,15 +96,17 @@
>>   	return ret;
>>   }
>>
>> +#ifdef CONFIG_PM
>>   static void poseidon_fe_release(struct dvb_frontend *fe)
>>   {
>>   	struct poseidon *pd = fe->demodulator_priv;
>>
>> -#ifdef CONFIG_PM
>>   	pd->pm_suspend = NULL;
>>   	pd->pm_resume  = NULL;
>> +}
>> +#else
>> +#define poseidon_fe_release NULL
>>   #endif
>> -}
>>
>>    
> I think the change here is a little more complicated.I prefer to change 
> it like this :
> 
> static void poseidon_fe_release(struct dvb_frontend *fe)
> {
> #ifdef CONFIG_PM
>      struct poseidon *pd = fe->demodulator_priv;
>      pd->pm_suspend = NULL;
>      pd->pm_resume  = NULL;
> #endif
> }
> 
> Could you change the patch, and resend it to me ?
> thanks.

I'm afraid in this case we'll get a warning saying that the parameter fe is unused.
Here is an example:

	$ gcc -Wall -O2 -Wextra test.c
	test.c: In function ‘foo’:
	test.c:2: warning: unused parameter ‘x’
	$ cat test.c
	
	static void foo(int x)
	{
	
	}
	
	int main()
	{
		foo(0);
		return 0;
	}

The second reason I modified the code like this is that the the .release
opreation is used with the following sequence:

	if (dvb->frontend->ops.release)
		dvb->frontend->ops.release(dvb->frontend);

If power management is not configured then the symbol poseidon_fe_release will be
NULL and the condition dvb->frontend->ops.release will be false. So the otherwise
empty function will not be called at all.

Regards,

	Márton Németh

  reply	other threads:[~2010-03-01  6:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-28 14:19 [PATCH] tlg2300: cleanups when power management is not configured Németh Márton
2010-03-01  4:12 ` Huang Shijie
2010-03-01  6:39   ` Németh Márton [this message]
2010-03-01  7:54 ` Huang Shijie

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=4B8B611D.20705@freemail.hu \
    --to=nm127@freemail.hu \
    --cc=kangyong@telegent.com \
    --cc=linux-media@vger.kernel.org \
    --cc=shijie8@gmail.com \
    --cc=xbzhang@telegent.com \
    --cc=zyziii@telegent.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