Re: [PATCH v10 3/4] drm/lsdc: add drm driver for loongson display controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2022/2/23 22:39, Maxime Ripard wrote:
On Tue, Feb 22, 2022 at 10:46:35PM +0800, Sui Jingfeng wrote:
On 2022/2/22 16:27, Maxime Ripard wrote:
+	if (!of_device_is_available(output)) {
+		of_node_put(output);
+		drm_info(ddev, "connector%d is not available\n", index);
+		return NULL;
+	}
+
+	disp_tims_np = of_get_child_by_name(output, "display-timings");
+	if (disp_tims_np) {
+		lsdc_get_display_timings_from_dtb(output, &lconn->disp_tim);
+		lconn->has_disp_tim = true;
+		of_node_put(disp_tims_np);
+		drm_info(ddev, "Found display timings provided by connector%d\n", index);
+	}
+
+	connector_type = lsdc_get_connector_type(ddev, output, index);
+
+	if (output) {
+		of_node_put(output);
+		output = NULL;
+	}
+
+DT_SKIPED:
+
+	/* Only create the i2c channel if display timing is not provided */
+	if (!lconn->has_disp_tim) {
+		const struct lsdc_chip_desc * const desc = ldev->desc;
+
+		if (desc->have_builtin_i2c)
+			lconn->ddc = lsdc_create_i2c_chan(ddev, index);
+		else
+			lconn->ddc = lsdc_get_i2c_adapter(ddev, index);
This looks weird: the connector bindings have a property to store the
i2c controller connected to the DDC lines, so you should use that
instead.

This is not  weird,  ast, mgag200, hibmc do the same thing.
And none of them have DT support.

Maxime
Ok, I have already correct this issue. see it at the next version.



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux