On 07/10/2013 04:43 PM, Peter H?we wrote:
> Hi,
>
> thanks for your patch
>> static struct pnp_device_id tpm_pnp_tbl[] = {
>> {"PNP0C31", 0}, /* TPM */
>> {"ATM1200", 0}, /* Atmel */
>> @@ -835,9 +834,12 @@ static struct pnp_driver tis_pnp_driver = {
>> .name = "tpm_tis",
>> .id_table = tpm_pnp_tbl,
>> .probe = tpm_tis_pnp_init,
>> - .suspend = tpm_tis_pnp_suspend,
>> - .resume = tpm_tis_pnp_resume,
>> .remove = tpm_tis_pnp_remove,
>> +#ifdef CONFIG_PM_SLEEP
>> + .driver = {
>> + .pm = &tpm_tis_pm,
>> + },
>> +#endif
>> };
>
>
> I don't think the #if CONFIG_PM_SLEEP is required here.
>
> Thanks,
> Peter
>
tpm_tis_resume() is defined originally in CONFIG_PM_SLEEP scope. I can
make the change to have tpm_tis_resume() not be in CONFIG_PM_SLEEP scope
and remove this CONFIG_PM_SLEEP when defining .pm. That does make sense
looking at tpm_pm_suspend() and tpm_pm_resume() which are defined
without CONFIG_PM_SLEEP scope. Sounds like the right approach? I will
redo the patch and send v2.
I find that the use of CONFIG_PM, CONFIG_PM_SLEEP, and CONFIG_PM_RUNTIME
are not very consistent. :)
-- Shuah
Shuah Khan, Linux Kernel Developer - Open Source Group Samsung Research
America (Silicon Valley) [email protected] | (970) 672-0658
Hi Shuah,
thanks for your reply.
> >> +#ifdef CONFIG_PM_SLEEP
> >> + .driver = {
> >> + .pm = &tpm_tis_pm,
> >> + },
> >> +#endif
> >>
> >> };
> >
> > I don't think the #if CONFIG_PM_SLEEP is required here.
In this case, the SIMPLE_DEV_PM_OPS macro handles the case internally - i.e.
no matter whether CONFIG_PM_SLEEP is set or not, the correct structure is set
up and thus no ifdef needed.
>
> tpm_tis_resume() is defined originally in CONFIG_PM_SLEEP scope. I can
> make the change to have tpm_tis_resume() not be in CONFIG_PM_SLEEP scope
> and remove this CONFIG_PM_SLEEP when defining .pm.
> That does make sense looking at tpm_pm_suspend() and tpm_pm_resume() which
> are defined ithout CONFIG_PM_SLEEP scope. Sounds like the right approach?
> I will redo the patch and send v2.
Hmm,
at first I thought that would be a good idea, however scrolling to the git
history I found:
commit 07368d32f1a67e797def08cf2ee3ea1647b204b6
Author: Rafael J. Wysocki <[email protected]>
Date: Thu Aug 9 23:00:35 2012 +0200
tpm_tis / PM: Fix unused function warning for CONFIG_PM_SLEEP
According to a compiler warning, the tpm_tis_resume() function is not
used for CONFIG_PM_SLEEP unset, so add a #ifdef to prevent it from
being built in that case.
Signed-off-by: Rafael J. Wysocki <[email protected]>
So removing it there would effectively revert the patch and re-enable the
warning.
> I find that the use of CONFIG_PM, CONFIG_PM_SLEEP, and CONFIG_PM_RUNTIME
> are not very consistent. :)
Yes.
Maybe the better idea is to add the correct CONFIG_PM ifdefs for all code
paths related to PM.
Or leave the CONFIG_PM for tpm_tis_resume as it is.
Thanks,
Peter