We are currently restricted when it comes to supporting DSI on devices that have a non-DSI control bus. For example, DSI encoder chips are available in the market that are configured via i2c. Configuring their registers via DSI bus is either optional or not available at all. These devices still need to pass DSI parameters (data lanes, mode flags etc) to the DSI host they are connected to. We don't have a way to do that at the moment. After some discussions on the previous RFC[1], we decided to support this by providing additional API in drm_mipi_dsi.c which lets us create new DSI devices without the need of them to have a DT node. [1]: https://lkml.org/lkml/2015/6/30/42 Changes in v5: - Simplify refactoring as suggested by Thierry. - Use abbreviations correctly. - Drop "drm/dsi: Check for used channels" - Return the correct encoded error code for of_mipi_dsi_device_add when CONFIG_OF is disabled. - Use mipi_dsi_device_unregister to implement mipi_dsi_remove_device_fn() too. Changes in v4: - Added a new patch that fixes build issues when CONFIG_OF is not set. Changes in v3: - Incorporated misc comments by Andrzej. Changed from RFC to a PATCH set. - Fixed htmldocs warnings. Archit Taneja (5): drm/dsi: check for CONFIG_OF when defining of_mipi_dsi_device_add drm/dsi: Use mipi_dsi_device_register_full for DSI device creation drm/dsi: Try to match non-DT DSI devices drm/dsi: Add routine to unregister a DSI device drm/dsi: Get DSI host by DT device node drivers/gpu/drm/drm_mipi_dsi.c | 127 +++++++++++++++++++++++++++++++++++++---- include/drm/drm_mipi_dsi.h | 26 +++++++++ 2 files changed, 141 insertions(+), 12 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel