diff options
author | Peter Rosin <peda@axentia.se> | 2016-05-04 23:15:33 +0300 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-05-04 23:40:02 +0300 |
commit | 1cf79db28ef53aeaa66a825e8f788d19fdd8648f (patch) | |
tree | 4305291ca3e397db16543db6ae61f94f976ab603 /drivers/media/dvb-frontends/rtl2832_sdr.h | |
parent | e6d7ffcdf15f40fc1cff7a3c2fd2720ce3d53e49 (diff) | |
download | linux-1cf79db28ef53aeaa66a825e8f788d19fdd8648f.tar.xz |
[media] rtl2832: change the i2c gate to be mux-locked
The root i2c adapter lock is then no longer held by the i2c mux during
accesses behind the i2c gate, and such accesses need to take that lock
just like any other ordinary i2c accesses do.
So, declare the i2c gate mux-locked, and zap the regmap overrides
that makes the i2c accesses unlocked and use plain old regmap
accesses. This also removes the need for the regmap wrappers used by
rtl2832_sdr, so deconvolute the code further and provide the regmap
handle directly instead of the wrapper functions.
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/media/dvb-frontends/rtl2832_sdr.h')
-rw-r--r-- | drivers/media/dvb-frontends/rtl2832_sdr.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.h b/drivers/media/dvb-frontends/rtl2832_sdr.h index 342ea84860df..d8fc7e7212e3 100644 --- a/drivers/media/dvb-frontends/rtl2832_sdr.h +++ b/drivers/media/dvb-frontends/rtl2832_sdr.h @@ -56,10 +56,7 @@ struct rtl2832_sdr_platform_data { #define RTL2832_SDR_TUNER_R828D 0x2b u8 tuner; - struct i2c_client *i2c_client; - int (*bulk_read)(struct i2c_client *, unsigned int, void *, size_t); - int (*bulk_write)(struct i2c_client *, unsigned int, const void *, size_t); - int (*update_bits)(struct i2c_client *, unsigned int, unsigned int, unsigned int); + struct regmap *regmap; struct dvb_frontend *dvb_frontend; struct v4l2_subdev *v4l2_subdev; struct dvb_usb_device *dvb_usb_device; |