tc358764.c (3eb66e91a25497065c5322b1268cbc3953642227) tc358764.c (fcd70cd36b9bf697122538c9e38e8cf954b2342b)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2018 Samsung Electronics Co., Ltd
4 *
5 * Authors:
6 * Andrzej Hajda <a.hajda@samsung.com>
7 * Maciej Purski <m.purski@samsung.com>
8 */
9
10#include <drm/drm_atomic_helper.h>
11#include <drm/drm_crtc.h>
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2018 Samsung Electronics Co., Ltd
4 *
5 * Authors:
6 * Andrzej Hajda <a.hajda@samsung.com>
7 * Maciej Purski <m.purski@samsung.com>
8 */
9
10#include <drm/drm_atomic_helper.h>
11#include <drm/drm_crtc.h>
12#include <drm/drm_crtc_helper.h>
13#include <drm/drm_fb_helper.h>
14#include <drm/drm_mipi_dsi.h>
15#include <drm/drm_of.h>
16#include <drm/drm_panel.h>
12#include <drm/drm_fb_helper.h>
13#include <drm/drm_mipi_dsi.h>
14#include <drm/drm_of.h>
15#include <drm/drm_panel.h>
16#include <drm/drm_probe_helper.h>
17#include <drm/drmP.h>
18#include <linux/gpio/consumer.h>
19#include <linux/of_graph.h>
20#include <linux/regulator/consumer.h>
21#include <video/mipi_display.h>
22
23#define FLD_MASK(start, end) (((1 << ((start) - (end) + 1)) - 1) << (end))
24#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))

--- 349 unchanged lines hidden (view full) ---

374{
375 struct tc358764 *ctx = bridge_to_tc358764(bridge);
376 struct drm_device *drm = bridge->dev;
377
378 drm_connector_unregister(&ctx->connector);
379 drm_fb_helper_remove_one_connector(drm->fb_helper, &ctx->connector);
380 drm_panel_detach(ctx->panel);
381 ctx->panel = NULL;
17#include <drm/drmP.h>
18#include <linux/gpio/consumer.h>
19#include <linux/of_graph.h>
20#include <linux/regulator/consumer.h>
21#include <video/mipi_display.h>
22
23#define FLD_MASK(start, end) (((1 << ((start) - (end) + 1)) - 1) << (end))
24#define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))

--- 349 unchanged lines hidden (view full) ---

374{
375 struct tc358764 *ctx = bridge_to_tc358764(bridge);
376 struct drm_device *drm = bridge->dev;
377
378 drm_connector_unregister(&ctx->connector);
379 drm_fb_helper_remove_one_connector(drm->fb_helper, &ctx->connector);
380 drm_panel_detach(ctx->panel);
381 ctx->panel = NULL;
382 drm_connector_unreference(&ctx->connector);
382 drm_connector_put(&ctx->connector);
383}
384
385static const struct drm_bridge_funcs tc358764_bridge_funcs = {
386 .disable = tc358764_disable,
387 .post_disable = tc358764_post_disable,
388 .enable = tc358764_enable,
389 .pre_enable = tc358764_pre_enable,
390 .attach = tc358764_attach,

--- 109 unchanged lines hidden ---
383}
384
385static const struct drm_bridge_funcs tc358764_bridge_funcs = {
386 .disable = tc358764_disable,
387 .post_disable = tc358764_post_disable,
388 .enable = tc358764_enable,
389 .pre_enable = tc358764_pre_enable,
390 .attach = tc358764_attach,

--- 109 unchanged lines hidden ---