diff options
Diffstat (limited to 'drivers/gpu/drm/i915/dvo_tfp410.c')
| -rw-r--r-- | drivers/gpu/drm/i915/dvo_tfp410.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/gpu/drm/i915/dvo_tfp410.c b/drivers/gpu/drm/i915/dvo_tfp410.c index 207fda806ebf..9ecc907384ec 100644 --- a/drivers/gpu/drm/i915/dvo_tfp410.c +++ b/drivers/gpu/drm/i915/dvo_tfp410.c | |||
| @@ -101,19 +101,20 @@ struct tfp410_priv { | |||
| 101 | static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) | 101 | static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) |
| 102 | { | 102 | { |
| 103 | struct tfp410_priv *tfp = dvo->dev_priv; | 103 | struct tfp410_priv *tfp = dvo->dev_priv; |
| 104 | struct intel_i2c_chan *i2cbus = dvo->i2c_bus; | 104 | struct i2c_adapter *adapter = dvo->i2c_bus; |
| 105 | struct intel_i2c_chan *i2cbus = container_of(adapter, struct intel_i2c_chan, adapter); | ||
| 105 | u8 out_buf[2]; | 106 | u8 out_buf[2]; |
| 106 | u8 in_buf[2]; | 107 | u8 in_buf[2]; |
| 107 | 108 | ||
| 108 | struct i2c_msg msgs[] = { | 109 | struct i2c_msg msgs[] = { |
| 109 | { | 110 | { |
| 110 | .addr = i2cbus->slave_addr, | 111 | .addr = dvo->slave_addr, |
| 111 | .flags = 0, | 112 | .flags = 0, |
| 112 | .len = 1, | 113 | .len = 1, |
| 113 | .buf = out_buf, | 114 | .buf = out_buf, |
| 114 | }, | 115 | }, |
| 115 | { | 116 | { |
| 116 | .addr = i2cbus->slave_addr, | 117 | .addr = dvo->slave_addr, |
| 117 | .flags = I2C_M_RD, | 118 | .flags = I2C_M_RD, |
| 118 | .len = 1, | 119 | .len = 1, |
| 119 | .buf = in_buf, | 120 | .buf = in_buf, |
| @@ -130,7 +131,7 @@ static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) | |||
| 130 | 131 | ||
| 131 | if (!tfp->quiet) { | 132 | if (!tfp->quiet) { |
| 132 | DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", | 133 | DRM_DEBUG("Unable to read register 0x%02x from %s:%02x.\n", |
| 133 | addr, i2cbus->adapter.name, i2cbus->slave_addr); | 134 | addr, i2cbus->adapter.name, dvo->slave_addr); |
| 134 | } | 135 | } |
| 135 | return false; | 136 | return false; |
| 136 | } | 137 | } |
| @@ -138,10 +139,11 @@ static bool tfp410_readb(struct intel_dvo_device *dvo, int addr, uint8_t *ch) | |||
| 138 | static bool tfp410_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) | 139 | static bool tfp410_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) |
| 139 | { | 140 | { |
| 140 | struct tfp410_priv *tfp = dvo->dev_priv; | 141 | struct tfp410_priv *tfp = dvo->dev_priv; |
| 141 | struct intel_i2c_chan *i2cbus = dvo->i2c_bus; | 142 | struct i2c_adapter *adapter = dvo->i2c_bus; |
| 143 | struct intel_i2c_chan *i2cbus = container_of(adapter, struct intel_i2c_chan, adapter); | ||
| 142 | uint8_t out_buf[2]; | 144 | uint8_t out_buf[2]; |
| 143 | struct i2c_msg msg = { | 145 | struct i2c_msg msg = { |
| 144 | .addr = i2cbus->slave_addr, | 146 | .addr = dvo->slave_addr, |
| 145 | .flags = 0, | 147 | .flags = 0, |
| 146 | .len = 2, | 148 | .len = 2, |
| 147 | .buf = out_buf, | 149 | .buf = out_buf, |
| @@ -155,7 +157,7 @@ static bool tfp410_writeb(struct intel_dvo_device *dvo, int addr, uint8_t ch) | |||
| 155 | 157 | ||
| 156 | if (!tfp->quiet) { | 158 | if (!tfp->quiet) { |
| 157 | DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", | 159 | DRM_DEBUG("Unable to write register 0x%02x to %s:%d.\n", |
| 158 | addr, i2cbus->adapter.name, i2cbus->slave_addr); | 160 | addr, i2cbus->adapter.name, dvo->slave_addr); |
| 159 | } | 161 | } |
| 160 | 162 | ||
| 161 | return false; | 163 | return false; |
| @@ -174,7 +176,7 @@ static int tfp410_getid(struct intel_dvo_device *dvo, int addr) | |||
| 174 | 176 | ||
| 175 | /* Ti TFP410 driver for chip on i2c bus */ | 177 | /* Ti TFP410 driver for chip on i2c bus */ |
| 176 | static bool tfp410_init(struct intel_dvo_device *dvo, | 178 | static bool tfp410_init(struct intel_dvo_device *dvo, |
| 177 | struct intel_i2c_chan *i2cbus) | 179 | struct i2c_adapter *adapter) |
| 178 | { | 180 | { |
| 179 | /* this will detect the tfp410 chip on the specified i2c bus */ | 181 | /* this will detect the tfp410 chip on the specified i2c bus */ |
| 180 | struct tfp410_priv *tfp; | 182 | struct tfp410_priv *tfp; |
| @@ -184,20 +186,19 @@ static bool tfp410_init(struct intel_dvo_device *dvo, | |||
| 184 | if (tfp == NULL) | 186 | if (tfp == NULL) |
| 185 | return false; | 187 | return false; |
| 186 | 188 | ||
| 187 | dvo->i2c_bus = i2cbus; | 189 | dvo->i2c_bus = adapter; |
| 188 | dvo->i2c_bus->slave_addr = dvo->slave_addr; | ||
| 189 | dvo->dev_priv = tfp; | 190 | dvo->dev_priv = tfp; |
| 190 | tfp->quiet = true; | 191 | tfp->quiet = true; |
| 191 | 192 | ||
| 192 | if ((id = tfp410_getid(dvo, TFP410_VID_LO)) != TFP410_VID) { | 193 | if ((id = tfp410_getid(dvo, TFP410_VID_LO)) != TFP410_VID) { |
| 193 | DRM_DEBUG("tfp410 not detected got VID %X: from %s Slave %d.\n", | 194 | DRM_DEBUG("tfp410 not detected got VID %X: from %s Slave %d.\n", |
| 194 | id, i2cbus->adapter.name, i2cbus->slave_addr); | 195 | id, adapter->name, dvo->slave_addr); |
| 195 | goto out; | 196 | goto out; |
| 196 | } | 197 | } |
| 197 | 198 | ||
| 198 | if ((id = tfp410_getid(dvo, TFP410_DID_LO)) != TFP410_DID) { | 199 | if ((id = tfp410_getid(dvo, TFP410_DID_LO)) != TFP410_DID) { |
| 199 | DRM_DEBUG("tfp410 not detected got DID %X: from %s Slave %d.\n", | 200 | DRM_DEBUG("tfp410 not detected got DID %X: from %s Slave %d.\n", |
| 200 | id, i2cbus->adapter.name, i2cbus->slave_addr); | 201 | id, adapter->name, dvo->slave_addr); |
| 201 | goto out; | 202 | goto out; |
| 202 | } | 203 | } |
| 203 | tfp->quiet = false; | 204 | tfp->quiet = false; |
