lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 25 Jun 2014 20:13:10 +0900
From:	Kukjin Kim <kgene.kim@...sung.com>
To:	'Doug Anderson' <dianders@...omium.org>,
	'Wolfram Sang' <wsa@...-dreams.de>
Cc:	'Tomasz Figa' <tomasz.figa@...il.com>,
	javier.martinez@...labora.co.uk, ch.naveen@...sung.com,
	jg1.han@...sung.com, jdelvare@...e.de, sjg@...gle.com,
	paul.gortmaker@...driver.com, standby24x7@...il.com,
	sachin.kamat@...aro.org, linux-i2c@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org,
	linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: RE: [PATCH v2] i2c: exynos5: Properly use the "noirq" variants of
 suspend/resume

Doug Anderson wrote:
> 
> The original code for the exynos i2c controller registered for the
> "noirq" variants.  However during review feedback it was moved to
> SIMPLE_DEV_PM_OPS without anyone noticing that it meant we were no
> longer actually "noirq" (despite functions named
> exynos5_i2c_suspend_noirq and exynos5_i2c_resume_noirq).
> 
> i2c controllers that might have wakeup sources on them seem to need to
> resume at noirq time so that the individual drivers can actually read
> the i2c bus to handle their wakeup.
> 
> NOTE: I took the original review feedback from Wolfram and added
> poweroff, thaw, freeze, restore.
> 
Yeah I'm not sure except .suspend_noirq and .resume_noirq but I'm fine if
Wolfram suggested ;-)

> This patch has only been compile-tested since I don't have all the
> patches needed to make my machine using this i2c driver actually
> suspend/resume.
> 
> Signed-off-by: Doug Anderson <dianders@...omium.org>
> ---
> Changes in v2:
> - Added missing CONFIG_PM_SLEEP
> 
>  drivers/i2c/busses/i2c-exynos5.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-exynos5.c b/drivers/i2c/busses/i2c-
> exynos5.c
> index 63d2292..348b1cd 100644
> --- a/drivers/i2c/busses/i2c-exynos5.c
> +++ b/drivers/i2c/busses/i2c-exynos5.c
> @@ -789,8 +789,16 @@ static int exynos5_i2c_resume_noirq(struct device *dev)
>  }
>  #endif
> 
> -static SIMPLE_DEV_PM_OPS(exynos5_i2c_dev_pm_ops, exynos5_i2c_suspend_noirq,
> -			 exynos5_i2c_resume_noirq);
> +const struct dev_pm_ops exynos5_i2c_dev_pm_ops = {

Maybe static const struct...?

> +#ifdef CONFIG_PM_SLEEP
> +	.suspend_noirq = exynos5_i2c_suspend_noirq,
> +	.resume_noirq = exynos5_i2c_resume_noirq,
> +	.freeze_noirq = exynos5_i2c_suspend_noirq,
> +	.thaw_noirq = exynos5_i2c_resume_noirq,
> +	.poweroff_noirq = exynos5_i2c_suspend_noirq,
> +	.restore_noirq = exynos5_i2c_resume_noirq,
> +#endif
> +};
> 
>  static struct platform_driver exynos5_i2c_driver = {
>  	.probe		= exynos5_i2c_probe,
> --
> 2.0.0.526.g5318336

Others look good to me,

Acked-by: Kukjin Kim <kgene.kim@...sung.com>

Thanks,
Kukjin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ