Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/dp_dual_mode: Pass drm_device to drm_lspcon_(get|set)_mode()

So that we can start using drm_dbg_*() throughout the DRM DP helpers.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210423184309.207645-13-lyude@redhat.com
Reviewed-by: Dave Airlie <airlied@redhat.com>

+14 -10
+5 -3
drivers/gpu/drm/drm_dp_dual_mode_helper.c
··· 430 430 /** 431 431 * drm_lspcon_get_mode: Get LSPCON's current mode of operation by 432 432 * reading offset (0x80, 0x41) 433 + * @dev: &drm_device to use 433 434 * @adapter: I2C-over-aux adapter 434 435 * @mode: current lspcon mode of operation output variable 435 436 * ··· 438 437 * 0 on success, sets the current_mode value to appropriate mode 439 438 * -error on failure 440 439 */ 441 - int drm_lspcon_get_mode(struct i2c_adapter *adapter, 440 + int drm_lspcon_get_mode(const struct drm_device *dev, struct i2c_adapter *adapter, 442 441 enum drm_lspcon_mode *mode) 443 442 { 444 443 u8 data; ··· 478 477 /** 479 478 * drm_lspcon_set_mode: Change LSPCON's mode of operation by 480 479 * writing offset (0x80, 0x40) 480 + * @dev: &drm_device to use 481 481 * @adapter: I2C-over-aux adapter 482 482 * @mode: required mode of operation 483 483 * 484 484 * Returns: 485 485 * 0 on success, -error on failure/timeout 486 486 */ 487 - int drm_lspcon_set_mode(struct i2c_adapter *adapter, 487 + int drm_lspcon_set_mode(const struct drm_device *dev, struct i2c_adapter *adapter, 488 488 enum drm_lspcon_mode mode) 489 489 { 490 490 u8 data = 0; ··· 510 508 * so wait and retry until time out or done. 511 509 */ 512 510 do { 513 - ret = drm_lspcon_get_mode(adapter, &current_mode); 511 + ret = drm_lspcon_get_mode(dev, adapter, &current_mode); 514 512 if (ret) { 515 513 DRM_ERROR("can't confirm LSPCON mode change\n"); 516 514 return ret;
+7 -5
drivers/gpu/drm/i915/display/intel_lspcon.c
··· 139 139 140 140 static enum drm_lspcon_mode lspcon_get_current_mode(struct intel_lspcon *lspcon) 141 141 { 142 + struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); 142 143 enum drm_lspcon_mode current_mode; 143 - struct i2c_adapter *adapter = &lspcon_to_intel_dp(lspcon)->aux.ddc; 144 + struct i2c_adapter *adapter = &intel_dp->aux.ddc; 144 145 145 - if (drm_lspcon_get_mode(adapter, &current_mode)) { 146 + if (drm_lspcon_get_mode(intel_dp->aux.drm_dev, adapter, &current_mode)) { 146 147 DRM_DEBUG_KMS("Error reading LSPCON mode\n"); 147 148 return DRM_LSPCON_MODE_INVALID; 148 149 } ··· 176 175 static int lspcon_change_mode(struct intel_lspcon *lspcon, 177 176 enum drm_lspcon_mode mode) 178 177 { 178 + struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); 179 179 int err; 180 180 enum drm_lspcon_mode current_mode; 181 - struct i2c_adapter *adapter = &lspcon_to_intel_dp(lspcon)->aux.ddc; 181 + struct i2c_adapter *adapter = &intel_dp->aux.ddc; 182 182 183 - err = drm_lspcon_get_mode(adapter, &current_mode); 183 + err = drm_lspcon_get_mode(intel_dp->aux.drm_dev, adapter, &current_mode); 184 184 if (err) { 185 185 DRM_ERROR("Error reading LSPCON mode\n"); 186 186 return err; ··· 192 190 return 0; 193 191 } 194 192 195 - err = drm_lspcon_set_mode(adapter, mode); 193 + err = drm_lspcon_set_mode(intel_dp->aux.drm_dev, adapter, mode); 196 194 if (err < 0) { 197 195 DRM_ERROR("LSPCON mode change failed\n"); 198 196 return err;
+2 -2
include/drm/drm_dp_dual_mode_helper.h
··· 114 114 struct i2c_adapter *adapter, bool enable); 115 115 const char *drm_dp_get_dual_mode_type_name(enum drm_dp_dual_mode_type type); 116 116 117 - int drm_lspcon_get_mode(struct i2c_adapter *adapter, 117 + int drm_lspcon_get_mode(const struct drm_device *dev, struct i2c_adapter *adapter, 118 118 enum drm_lspcon_mode *current_mode); 119 - int drm_lspcon_set_mode(struct i2c_adapter *adapter, 119 + int drm_lspcon_set_mode(const struct drm_device *dev, struct i2c_adapter *adapter, 120 120 enum drm_lspcon_mode reqd_mode); 121 121 #endif