Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery

This patch changes type of input parameter for
prepare/unprepare_recovery() callbacks from struct i2c_bus_recovery_info
* to struct i2c_adapter *. This allows to simplify implementation of
these callbacks and avoid type conversations from i2c_bus_recovery_info
to i2c_adapter. The i2c_bus_recovery_info can be simply retrieved from
struct i2c_adapter which contains pointer on it. There are no users
currently, so this is safe to do.

Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

authored by

Grygorii Strashko and committed by
Wolfram Sang
2b2190a3 623e4ecb

+4 -4
+2 -2
drivers/i2c/i2c-core.c
··· 561 561 int i = 0, val = 1, ret = 0; 562 562 563 563 if (bri->prepare_recovery) 564 - bri->prepare_recovery(bri); 564 + bri->prepare_recovery(adap); 565 565 566 566 /* 567 567 * By this time SCL is high, as we need to give 9 falling-rising edges ··· 586 586 } 587 587 588 588 if (bri->unprepare_recovery) 589 - bri->unprepare_recovery(bri); 589 + bri->unprepare_recovery(adap); 590 590 591 591 return ret; 592 592 }
+2 -2
include/linux/i2c.h
··· 435 435 void (*set_scl)(struct i2c_adapter *, int val); 436 436 int (*get_sda)(struct i2c_adapter *); 437 437 438 - void (*prepare_recovery)(struct i2c_bus_recovery_info *bri); 439 - void (*unprepare_recovery)(struct i2c_bus_recovery_info *bri); 438 + void (*prepare_recovery)(struct i2c_adapter *); 439 + void (*unprepare_recovery)(struct i2c_adapter *); 440 440 441 441 /* gpio recovery */ 442 442 int scl_gpio;