diff options
author | Peter Rosin <peda@axentia.se> | 2016-08-25 17:07:01 -0400 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-08-30 16:56:14 -0400 |
commit | d1ed7985b9a6b85ea38a330108c51ec83381c01b (patch) | |
tree | d97296b9891543fec4e2d1da28d154db8e8a6b04 /drivers/i2c/i2c-core.c | |
parent | 718917b9875fcfa6450e7274d2727c4680c3591a (diff) |
i2c: move locking operations to their own struct
This makes it trivial to constify them, so do that.
Signed-off-by: Peter Rosin <peda@axentia.se>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r-- | drivers/i2c/i2c-core.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 05794423e01f..0722713e5910 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -1768,6 +1768,12 @@ static int __process_new_adapter(struct device_driver *d, void *data) | |||
1768 | return i2c_do_add_adapter(to_i2c_driver(d), data); | 1768 | return i2c_do_add_adapter(to_i2c_driver(d), data); |
1769 | } | 1769 | } |
1770 | 1770 | ||
1771 | static const struct i2c_lock_operations i2c_adapter_lock_ops = { | ||
1772 | .lock_bus = i2c_adapter_lock_bus, | ||
1773 | .trylock_bus = i2c_adapter_trylock_bus, | ||
1774 | .unlock_bus = i2c_adapter_unlock_bus, | ||
1775 | }; | ||
1776 | |||
1771 | static int i2c_register_adapter(struct i2c_adapter *adap) | 1777 | static int i2c_register_adapter(struct i2c_adapter *adap) |
1772 | { | 1778 | { |
1773 | int res = -EINVAL; | 1779 | int res = -EINVAL; |
@@ -1787,11 +1793,8 @@ static int i2c_register_adapter(struct i2c_adapter *adap) | |||
1787 | goto out_list; | 1793 | goto out_list; |
1788 | } | 1794 | } |
1789 | 1795 | ||
1790 | if (!adap->lock_bus) { | 1796 | if (!adap->lock_ops) |
1791 | adap->lock_bus = i2c_adapter_lock_bus; | 1797 | adap->lock_ops = &i2c_adapter_lock_ops; |
1792 | adap->trylock_bus = i2c_adapter_trylock_bus; | ||
1793 | adap->unlock_bus = i2c_adapter_unlock_bus; | ||
1794 | } | ||
1795 | 1798 | ||
1796 | rt_mutex_init(&adap->bus_lock); | 1799 | rt_mutex_init(&adap->bus_lock); |
1797 | rt_mutex_init(&adap->mux_lock); | 1800 | rt_mutex_init(&adap->mux_lock); |