[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>
This commit is contained in:

committed by
Wolfram Sang

parent
e6d7ffcdf1
commit
1cf79db28e
@@ -57,9 +57,7 @@ struct rtl2832_platform_data {
|
||||
int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
|
||||
int (*pid_filter_ctrl)(struct dvb_frontend *, int);
|
||||
/* private: Register access for SDR module use only */
|
||||
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;
|
||||
};
|
||||
|
||||
#endif /* RTL2832_H */
|
||||
|
Reference in New Issue
Block a user