[PATCH v7 6/6] drm/sprd: add Unisoc's drm mipi dsi&dphy driver

Maxime Ripard maxime at cerno.tech
Fri Dec 3 10:38:41 UTC 2021


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20211203/33cb688b/attachment.sig>


More information about the dri-devel mailing list