linux/drivers/gpu/drm/sun4i/sun4i_rgb.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2015 Free Electrons
 * Copyright (C) 2015 NextThing Co
 *
 * Maxime Ripard <[email protected]>
 */

#include <linux/clk.h>

#include <drm/drm_atomic_helper.h>
#include <drm/drm_bridge.h>
#include <drm/drm_of.h>
#include <drm/drm_panel.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>

#include "sun4i_crtc.h"
#include "sun4i_tcon.h"
#include "sun4i_rgb.h"

struct sun4i_rgb {};

static inline struct sun4i_rgb *
drm_connector_to_sun4i_rgb(struct drm_connector *connector)
{}

static inline struct sun4i_rgb *
drm_encoder_to_sun4i_rgb(struct drm_encoder *encoder)
{}

static int sun4i_rgb_get_modes(struct drm_connector *connector)
{}

/*
 * VESA DMT defines a tolerance of 0.5% on the pixel clock, while the
 * CVT spec reuses that tolerance in its examples, so it looks to be a
 * good default tolerance for the EDID-based modes. Define it to 5 per
 * mille to avoid floating point operations.
 */
#define SUN4I_RGB_DOTCLOCK_TOLERANCE_PER_MILLE

static enum drm_mode_status sun4i_rgb_mode_valid(struct drm_encoder *crtc,
						 const struct drm_display_mode *mode)
{}

static const struct drm_connector_helper_funcs sun4i_rgb_con_helper_funcs =;

static void
sun4i_rgb_connector_destroy(struct drm_connector *connector)
{}

static const struct drm_connector_funcs sun4i_rgb_con_funcs =;

static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
{}

static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
{}

static const struct drm_encoder_helper_funcs sun4i_rgb_enc_helper_funcs =;

int sun4i_rgb_init(struct drm_device *drm, struct sun4i_tcon *tcon)
{}
EXPORT_SYMBOL();