summaryrefslogtreecommitdiff
path: root/drivers/media/dvb-frontends/rtl2832_sdr.h
diff options
context:
space:
mode:
authorPeter Rosin <peda@axentia.se>2016-05-04 23:15:33 +0300
committerWolfram Sang <wsa@the-dreams.de>2016-05-04 23:40:02 +0300
commit1cf79db28ef53aeaa66a825e8f788d19fdd8648f (patch)
tree4305291ca3e397db16543db6ae61f94f976ab603 /drivers/media/dvb-frontends/rtl2832_sdr.h
parente6d7ffcdf15f40fc1cff7a3c2fd2720ce3d53e49 (diff)
downloadlinux-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.h5
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;