]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.19.7/i2c-core-export-bus-recovery-functions.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.19.7 / i2c-core-export-bus-recovery-functions.patch
1 From c1c21f4e60ed4523292f1a89ff45a208bddd3849 Mon Sep 17 00:00:00 2001
2 From: Mark Brown <broonie@kernel.org>
3 Date: Wed, 15 Apr 2015 19:18:39 +0100
4 Subject: i2c: core: Export bus recovery functions
5
6 From: Mark Brown <broonie@kernel.org>
7
8 commit c1c21f4e60ed4523292f1a89ff45a208bddd3849 upstream.
9
10 Current -next fails to link an ARM allmodconfig because drivers that use
11 the core recovery functions can be built as modules but those functions
12 are not exported:
13
14 ERROR: "i2c_generic_gpio_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined!
15 ERROR: "i2c_generic_scl_recovery" [drivers/i2c/busses/i2c-davinci.ko] undefined!
16 ERROR: "i2c_recover_bus" [drivers/i2c/busses/i2c-davinci.ko] undefined!
17
18 Add exports to fix this.
19
20 Fixes: 5f9296ba21b3c (i2c: Add bus recovery infrastructure)
21 Signed-off-by: Mark Brown <broonie@kernel.org>
22 Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
23 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24
25 ---
26 drivers/i2c/i2c-core.c | 3 +++
27 1 file changed, 3 insertions(+)
28
29 --- a/drivers/i2c/i2c-core.c
30 +++ b/drivers/i2c/i2c-core.c
31 @@ -596,6 +596,7 @@ int i2c_generic_scl_recovery(struct i2c_
32 adap->bus_recovery_info->set_scl(adap, 1);
33 return i2c_generic_recovery(adap);
34 }
35 +EXPORT_SYMBOL_GPL(i2c_generic_scl_recovery);
36
37 int i2c_generic_gpio_recovery(struct i2c_adapter *adap)
38 {
39 @@ -610,6 +611,7 @@ int i2c_generic_gpio_recovery(struct i2c
40
41 return ret;
42 }
43 +EXPORT_SYMBOL_GPL(i2c_generic_gpio_recovery);
44
45 int i2c_recover_bus(struct i2c_adapter *adap)
46 {
47 @@ -619,6 +621,7 @@ int i2c_recover_bus(struct i2c_adapter *
48 dev_dbg(&adap->dev, "Trying i2c bus recovery\n");
49 return adap->bus_recovery_info->recover_bus(adap);
50 }
51 +EXPORT_SYMBOL_GPL(i2c_recover_bus);
52
53 static int i2c_device_probe(struct device *dev)
54 {