-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Somebody in the thread at some point said:
| I had another look and no why the SECOND interrupt is firing. If we
resume by
| something else than a keypress we do not end up in:
|
| if (pcfirq[1] & PCF50633_INT2_ONKEYR) {
| }
|
| and this means we willnot set the interrupt mask for SECOND and let the
| interrupt fire.
Holger I can't test this right this second, but I think this is the
actual fix. Maybe you can give it a go or I'll try it in a couple of days.
- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkhzpBQACgkQOjLpvpq7dMqGeACcDQTTlWsoQ9g/RZghT448pMng
x+EAn20onlwHsTFbMTkDYLSxb7NuEOaf
=0231
-----END PGP SIGNATURE-----
fix-pcf50633-mask-second-on-resume.patch
From: Andy Green <[EMAIL PROTECTED]>
We leave SECOND unmasked on resume, it's like the
situation at probe() time, but there it makes us
turn SECOND off after coldplug action. So we need
to act like after that has happened, not exactly
like what we do at probe / init time.
Signed-off-by: Andy Green <[EMAIL PROTECTED]>
---
drivers/i2c/chips/pcf50633.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index 10934f7..d971d0f 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -2552,6 +2552,8 @@ static int pcf50633_resume(struct device *dev)
dev_err(dev, "Failed to restore LDOs :-( %d\n", ret);
memset(res, 0, sizeof(res));
+ /* not interested in second on resume */
+ res[0] = PCF50633_INT1_SECOND;
ret = i2c_smbus_write_i2c_block_data(&pcf->client,
PCF50633_REG_INT1M,
5, &res[0]);