| From b12764695c3fcade145890b67f82f8b139174cc7 Mon Sep 17 00:00:00 2001 |
| From: Aaro Koskinen <aaro.koskinen@iki.fi> |
| Date: Sat, 27 Nov 2021 21:42:14 +0200 |
| Subject: i2c: cbus-gpio: set atomic transfer callback |
| |
| From: Aaro Koskinen <aaro.koskinen@iki.fi> |
| |
| commit b12764695c3fcade145890b67f82f8b139174cc7 upstream. |
| |
| CBUS transfers have always been atomic, but after commit 63b96983a5dd |
| ("i2c: core: introduce callbacks for atomic transfers") we started to see |
| warnings during e.g. poweroff as the atomic callback is not explicitly set. |
| Fix that. |
| |
| Fixes the following WARNING seen during Nokia N810 power down: |
| |
| [ 786.570617] reboot: Power down |
| [ 786.573913] ------------[ cut here ]------------ |
| [ 786.578826] WARNING: CPU: 0 PID: 672 at drivers/i2c/i2c-core.h:40 i2c_smbus_xfer+0x100/0x110 |
| [ 786.587799] No atomic I2C transfer handler for 'i2c-2' |
| |
| Fixes: 63b96983a5dd ("i2c: core: introduce callbacks for atomic transfers") |
| Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> |
| Signed-off-by: Wolfram Sang <wsa@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/i2c/busses/i2c-cbus-gpio.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/i2c/busses/i2c-cbus-gpio.c |
| +++ b/drivers/i2c/busses/i2c-cbus-gpio.c |
| @@ -195,8 +195,9 @@ static u32 cbus_i2c_func(struct i2c_adap |
| } |
| |
| static const struct i2c_algorithm cbus_i2c_algo = { |
| - .smbus_xfer = cbus_i2c_smbus_xfer, |
| - .functionality = cbus_i2c_func, |
| + .smbus_xfer = cbus_i2c_smbus_xfer, |
| + .smbus_xfer_atomic = cbus_i2c_smbus_xfer, |
| + .functionality = cbus_i2c_func, |
| }; |
| |
| static int cbus_i2c_remove(struct platform_device *pdev) |