Commit aa6c4364 authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

drm/panel: drop drm_device from drm_panel



The panel drivers used drm_panel.drm for two purposes:
1) Argument to drm_mode_duplicate()
2) drm->dev was used in error messages

The first usage is replaced with drm_connector.dev
- drm_connector is already connected to a drm_device
  and we have a valid connector

The second usage is replaced with drm_panel.dev
- this makes drivers more consistent in their dev argument
  used for dev_err() and friends

With these replacements there are no more uses of drm_panel.drm,
so it is removed from struct drm_panel.
With this change drm_panel_attach() and drm_panel_detach()
no longer have any use as they are empty functions.

v2:
  - editorial correction in changelog (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: Sam Ravnborg <sam@ravnborg.org>
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-8-sam@ravnborg.org
parent 06c4a9c2
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -114,11 +114,6 @@ EXPORT_SYMBOL(drm_panel_remove);
 */
int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector)
{
	if (panel->drm)
		return -EBUSY;

	panel->drm = connector->dev;

	return 0;
}
EXPORT_SYMBOL(drm_panel_attach);
@@ -135,7 +130,6 @@ EXPORT_SYMBOL(drm_panel_attach);
 */
void drm_panel_detach(struct drm_panel *panel)
{
	panel->drm = NULL;
}
EXPORT_SYMBOL(drm_panel_detach);

+1 −1
Original line number Diff line number Diff line
@@ -270,7 +270,7 @@ static int versatile_panel_get_modes(struct drm_panel *panel,
	connector->display_info.height_mm = vpanel->panel_type->height_mm;
	connector->display_info.bus_flags = vpanel->panel_type->bus_flags;

	mode = drm_mode_duplicate(panel->drm, &vpanel->panel_type->mode);
	mode = drm_mode_duplicate(connector->dev, &vpanel->panel_type->mode);
	drm_mode_set_name(mode);
	mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;

+1 −1
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ static int feiyang_get_modes(struct drm_panel *panel,
	struct feiyang *ctx = panel_to_feiyang(panel);
	struct drm_display_mode *mode;

	mode = drm_mode_duplicate(panel->drm, &feiyang_default_mode);
	mode = drm_mode_duplicate(connector->dev, &feiyang_default_mode);
	if (!mode) {
		DRM_DEV_ERROR(&ctx->dsi->dev, "failed to add mode %ux%ux@%u\n",
			      feiyang_default_mode.hdisplay,
+8 −7
Original line number Diff line number Diff line
@@ -645,6 +645,7 @@ static int ili9322_get_modes(struct drm_panel *panel,
			     struct drm_connector *connector)
{
	struct ili9322 *ili = panel_to_ili9322(panel);
	struct drm_device *drm = connector->dev;
	struct drm_display_mode *mode;
	struct drm_display_info *info;

@@ -663,26 +664,26 @@ static int ili9322_get_modes(struct drm_panel *panel,

	switch (ili->input) {
	case ILI9322_INPUT_SRGB_DUMMY_320X240:
		mode = drm_mode_duplicate(panel->drm, &srgb_320x240_mode);
		mode = drm_mode_duplicate(drm, &srgb_320x240_mode);
		break;
	case ILI9322_INPUT_SRGB_DUMMY_360X240:
		mode = drm_mode_duplicate(panel->drm, &srgb_360x240_mode);
		mode = drm_mode_duplicate(drm, &srgb_360x240_mode);
		break;
	case ILI9322_INPUT_PRGB_THROUGH:
	case ILI9322_INPUT_PRGB_ALIGNED:
		mode = drm_mode_duplicate(panel->drm, &prgb_320x240_mode);
		mode = drm_mode_duplicate(drm, &prgb_320x240_mode);
		break;
	case ILI9322_INPUT_YUV_640X320_YCBCR:
		mode = drm_mode_duplicate(panel->drm, &yuv_640x320_mode);
		mode = drm_mode_duplicate(drm, &yuv_640x320_mode);
		break;
	case ILI9322_INPUT_YUV_720X360_YCBCR:
		mode = drm_mode_duplicate(panel->drm, &yuv_720x360_mode);
		mode = drm_mode_duplicate(drm, &yuv_720x360_mode);
		break;
	case ILI9322_INPUT_ITU_R_BT656_720X360_YCBCR:
		mode = drm_mode_duplicate(panel->drm, &itu_r_bt_656_720_mode);
		mode = drm_mode_duplicate(drm, &itu_r_bt_656_720_mode);
		break;
	case ILI9322_INPUT_ITU_R_BT656_640X320_YCBCR:
		mode = drm_mode_duplicate(panel->drm, &itu_r_bt_656_640_mode);
		mode = drm_mode_duplicate(drm, &itu_r_bt_656_640_mode);
		break;
	default:
		mode = NULL;
+1 −1
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ static int ili9881c_get_modes(struct drm_panel *panel,
	struct ili9881c *ctx = panel_to_ili9881c(panel);
	struct drm_display_mode *mode;

	mode = drm_mode_duplicate(panel->drm, &bananapi_default_mode);
	mode = drm_mode_duplicate(connector->dev, &bananapi_default_mode);
	if (!mode) {
		dev_err(&ctx->dsi->dev, "failed to add mode %ux%ux@%u\n",
			bananapi_default_mode.hdisplay,
Loading