Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/dsi: Resolve MIPI DSI device from phandle

Add a function, of_find_mipi_dsi_device_by_node(), that can be used to
resolve a phandle to a MIPI DSI device.

Acked-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>

+24
+23
drivers/gpu/drm/drm_mipi_dsi.c
··· 67 67 .pm = &mipi_dsi_device_pm_ops, 68 68 }; 69 69 70 + static int of_device_match(struct device *dev, void *data) 71 + { 72 + return dev->of_node == data; 73 + } 74 + 75 + /** 76 + * of_find_mipi_dsi_device_by_node() - find the MIPI DSI device matching a 77 + * device tree node 78 + * @np: device tree node 79 + * 80 + * Return: A pointer to the MIPI DSI device corresponding to @np or NULL if no 81 + * such device exists (or has not been registered yet). 82 + */ 83 + struct mipi_dsi_device *of_find_mipi_dsi_device_by_node(struct device_node *np) 84 + { 85 + struct device *dev; 86 + 87 + dev = bus_find_device(&mipi_dsi_bus_type, NULL, np, of_device_match); 88 + 89 + return dev ? to_mipi_dsi_device(dev) : NULL; 90 + } 91 + EXPORT_SYMBOL(of_find_mipi_dsi_device_by_node); 92 + 70 93 static void mipi_dsi_dev_release(struct device *dev) 71 94 { 72 95 struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev);
+1
include/drm/drm_mipi_dsi.h
··· 163 163 return container_of(dev, struct mipi_dsi_device, dev); 164 164 } 165 165 166 + struct mipi_dsi_device *of_find_mipi_dsi_device_by_node(struct device_node *np); 166 167 int mipi_dsi_attach(struct mipi_dsi_device *dsi); 167 168 int mipi_dsi_detach(struct mipi_dsi_device *dsi); 168 169 int mipi_dsi_set_maximum_return_packet_size(struct mipi_dsi_device *dsi,