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
This commit is contained in:

committed by
Sam Ravnborg

parent
65abbda8ed
commit
6dbe0c4b0f
@@ -147,7 +147,8 @@ struct drm_panel {
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
void drm_panel_init(struct drm_panel *panel);
|
||||
void drm_panel_init(struct drm_panel *panel, struct device *dev,
|
||||
const struct drm_panel_funcs *funcs);
|
||||
|
||||
int drm_panel_add(struct drm_panel *panel);
|
||||
void drm_panel_remove(struct drm_panel *panel);
|
||||
|
Reference in New Issue
Block a user