On Mon, Oct 25, 2021 at 05:34:18PM +0800, Kevin Tang wrote:
@@ -618,9 +619,25 @@ static void sprd_crtc_mode_set_nofb(struct drm_crtc *crtc) { struct sprd_dpu *dpu = to_sprd_crtc(crtc); struct drm_display_mode *mode = &crtc->state->adjusted_mode;
struct drm_encoder *encoder;
struct mipi_dsi_device *slave;
struct sprd_dsi *dsi;
drm_display_mode_to_videomode(mode, &dpu->ctx.vm);
drm_for_each_encoder(encoder, crtc->dev) {
if (encoder->crtc != crtc)
continue;
encoder->crtc is deprecated. You should be using encoder->drm_for_each_encoder_mask, using the encoder_mask in encoder->drm_crtc_state.
+static int sprd_dsi_probe(struct platform_device *pdev) +{
- struct device *dev = &pdev->dev;
- struct sprd_dsi *dsi;
- dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL);
- if (!dsi)
return -ENOMEM;
- dev_set_drvdata(dev, dsi);
- dsi->host.ops = &sprd_dsi_host_ops;
- dsi->host.dev = dev;
- mipi_dsi_host_register(&dsi->host);
- return component_add(&pdev->dev, &dsi_component_ops);
component_add must be run in the mipi_dsi_host.attach hook.
Maxime