Commit 0ce8ddd8 authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

drm/panel: add drm_connector argument to get_modes()



Today the bridge creates the drm_connector, but that is planned
to be moved to the display drivers.
To facilitate this, update drm_panel_funcs.get_modes() to
take drm_connector as an argument.
All panel drivers implementing get_modes() are updated.

v2:
  - drop accidental change (Laurent)
  - update docs for get_modes (Laurent)

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Stefan Mavrodiev <stefan@olimex.com>
Cc: Robert Chiras <robert.chiras@nxp.com>
Cc: "Guido Günther" <agx@sigxcpu.org>
Cc: Purism Kernel Team <kernel@puri.sm>
Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-6-sam@ravnborg.org
parent d383fb5f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -263,7 +263,7 @@ int drm_panel_get_modes(struct drm_panel *panel)
		return -EINVAL;

	if (panel->funcs && panel->funcs->get_modes)
		return panel->funcs->get_modes(panel);
		return panel->funcs->get_modes(panel, panel->connector);

	return -EOPNOTSUPP;
}
+2 −2
Original line number Diff line number Diff line
@@ -260,9 +260,9 @@ static int versatile_panel_enable(struct drm_panel *panel)
	return 0;
}

static int versatile_panel_get_modes(struct drm_panel *panel)
static int versatile_panel_get_modes(struct drm_panel *panel,
				     struct drm_connector *connector)
{
	struct drm_connector *connector = panel->connector;
	struct versatile_panel *vpanel = to_versatile_panel(panel);
	struct drm_display_mode *mode;

+2 −2
Original line number Diff line number Diff line
@@ -162,9 +162,9 @@ static const struct drm_display_mode feiyang_default_mode = {
	.type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED,
};

static int feiyang_get_modes(struct drm_panel *panel)
static int feiyang_get_modes(struct drm_panel *panel,
			     struct drm_connector *connector)
{
	struct drm_connector *connector = panel->connector;
	struct feiyang *ctx = panel_to_feiyang(panel);
	struct drm_display_mode *mode;

+2 −2
Original line number Diff line number Diff line
@@ -641,9 +641,9 @@ static const struct drm_display_mode itu_r_bt_656_720_mode = {
	.flags = 0,
};

static int ili9322_get_modes(struct drm_panel *panel)
static int ili9322_get_modes(struct drm_panel *panel,
			     struct drm_connector *connector)
{
	struct drm_connector *connector = panel->connector;
	struct ili9322 *ili = panel_to_ili9322(panel);
	struct drm_display_mode *mode;
	struct drm_display_info *info;
+4 −4
Original line number Diff line number Diff line
@@ -387,9 +387,9 @@ static const struct drm_display_mode bananapi_default_mode = {
	.vtotal		= 1280 + 10 + 10 + 20,
};

static int ili9881c_get_modes(struct drm_panel *panel)
static int ili9881c_get_modes(struct drm_panel *panel,
			      struct drm_connector *connector)
{
	struct drm_connector *connector = panel->connector;
	struct ili9881c *ctx = panel_to_ili9881c(panel);
	struct drm_display_mode *mode;

@@ -407,8 +407,8 @@ static int ili9881c_get_modes(struct drm_panel *panel)
	mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
	drm_mode_probed_add(connector, mode);

	panel->connector->display_info.width_mm = 62;
	panel->connector->display_info.height_mm = 110;
	connector->display_info.width_mm = 62;
	connector->display_info.height_mm = 110;

	return 1;
}
Loading