瀏覽代碼

gma500: Remove psb_intel_output from ddc_probe and ddc_get_modes

Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Patrik Jakobsson 13 年之前
父節點
當前提交
352b16a0e1
共有 2 個文件被更改,包括 10 次插入11 次删除
  1. 3 2
      drivers/gpu/drm/gma500/psb_intel_drv.h
  2. 7 9
      drivers/gpu/drm/gma500/psb_intel_modes.c

+ 3 - 2
drivers/gpu/drm/gma500/psb_intel_drv.h

@@ -166,8 +166,9 @@ struct psb_intel_crtc {
 struct psb_intel_i2c_chan *psb_intel_i2c_create(struct drm_device *dev,
 struct psb_intel_i2c_chan *psb_intel_i2c_create(struct drm_device *dev,
 					const u32 reg, const char *name);
 					const u32 reg, const char *name);
 void psb_intel_i2c_destroy(struct psb_intel_i2c_chan *chan);
 void psb_intel_i2c_destroy(struct psb_intel_i2c_chan *chan);
-int psb_intel_ddc_get_modes(struct psb_intel_output *psb_intel_output);
-extern bool psb_intel_ddc_probe(struct psb_intel_output *psb_intel_output);
+int psb_intel_ddc_get_modes(struct drm_connector *connector,
+			    struct i2c_adapter *adapter);
+extern bool psb_intel_ddc_probe(struct i2c_adapter *adapter);
 
 
 extern void psb_intel_crtc_init(struct drm_device *dev, int pipe,
 extern void psb_intel_crtc_init(struct drm_device *dev, int pipe,
 			    struct psb_intel_mode_device *mode_dev);
 			    struct psb_intel_mode_device *mode_dev);

+ 7 - 9
drivers/gpu/drm/gma500/psb_intel_modes.c

@@ -26,7 +26,7 @@
  * psb_intel_ddc_probe
  * psb_intel_ddc_probe
  *
  *
  */
  */
-bool psb_intel_ddc_probe(struct psb_intel_output *psb_intel_output)
+bool psb_intel_ddc_probe(struct i2c_adapter *adapter)
 {
 {
 	u8 out_buf[] = { 0x0, 0x0 };
 	u8 out_buf[] = { 0x0, 0x0 };
 	u8 buf[2];
 	u8 buf[2];
@@ -46,7 +46,7 @@ bool psb_intel_ddc_probe(struct psb_intel_output *psb_intel_output)
 		 }
 		 }
 	};
 	};
 
 
-	ret = i2c_transfer(&psb_intel_output->ddc_bus->adapter, msgs, 2);
+	ret = i2c_transfer(adapter, msgs, 2);
 	if (ret == 2)
 	if (ret == 2)
 		return true;
 		return true;
 
 
@@ -59,18 +59,16 @@ bool psb_intel_ddc_probe(struct psb_intel_output *psb_intel_output)
  *
  *
  * Fetch the EDID information from @connector using the DDC bus.
  * Fetch the EDID information from @connector using the DDC bus.
  */
  */
-int psb_intel_ddc_get_modes(struct psb_intel_output *psb_intel_output)
+int psb_intel_ddc_get_modes(struct drm_connector *connector,
+			    struct i2c_adapter *adapter)
 {
 {
 	struct edid *edid;
 	struct edid *edid;
 	int ret = 0;
 	int ret = 0;
 
 
-	edid =
-	    drm_get_edid(&psb_intel_output->base,
-			 &psb_intel_output->ddc_bus->adapter);
+	edid = drm_get_edid(connector, adapter);
 	if (edid) {
 	if (edid) {
-		drm_mode_connector_update_edid_property(&psb_intel_output->
-							base, edid);
-		ret = drm_add_edid_modes(&psb_intel_output->base, edid);
+		drm_mode_connector_update_edid_property(connector, edid);
+		ret = drm_add_edid_modes(connector, edid);
 		kfree(edid);
 		kfree(edid);
 	}
 	}
 	return ret;
 	return ret;