drm/panel: Initialise panel dev and funcs through drm_panel_init()
Instead of requiring all drivers to set the dev and funcs fields of drm_panel manually after calling drm_panel_init(), pass the data as arguments to the function. This simplifies the panel drivers, and will help future refactoring when adding new arguments to drm_panel_init(). The panel drivers have been updated with the following Coccinelle semantic patch, with manual inspection to verify that no call to drm_panel_init() with a single argument still exists. @@ expression panel; expression device; identifier ops; @@ drm_panel_init(&panel + , device, &ops ); ... ( -panel.dev = device; -panel.funcs = &ops; | -panel.funcs = &ops; -panel.dev = device; ) Suggested-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20190823193245.23876-3-laurent.pinchart@ideasonboard.com
这个提交包含在:
@@ -260,9 +260,7 @@ static int panel_lvds_probe(struct platform_device *pdev)
|
||||
*/
|
||||
|
||||
/* Register the panel. */
|
||||
drm_panel_init(&lvds->panel);
|
||||
lvds->panel.dev = lvds->dev;
|
||||
lvds->panel.funcs = &panel_lvds_funcs;
|
||||
drm_panel_init(&lvds->panel, lvds->dev, &panel_lvds_funcs);
|
||||
|
||||
ret = drm_panel_add(&lvds->panel);
|
||||
if (ret < 0)
|
||||
|
在新工单中引用
屏蔽一个用户