linux/drivers/gpu/drm/i2c/sil164_drv.c

/*
 * Copyright (C) 2010 Francisco Jerez.
 * All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice (including the
 * next paragraph) shall be included in all copies or substantial
 * portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */

#include <linux/module.h>

#include <drm/drm_drv.h>
#include <drm/drm_encoder_slave.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
#include <drm/i2c/sil164.h>

struct sil164_priv {};

#define to_sil164_priv(x)

#define sil164_dbg(client, format, ...)
#define sil164_info(client, format, ...)
#define sil164_err(client, format, ...)

#define SIL164_I2C_ADDR_MASTER
#define SIL164_I2C_ADDR_SLAVE

/* HW register definitions */

#define SIL164_VENDOR_LO
#define SIL164_VENDOR_HI
#define SIL164_DEVICE_LO
#define SIL164_DEVICE_HI
#define SIL164_REVISION
#define SIL164_FREQ_MIN
#define SIL164_FREQ_MAX
#define SIL164_CONTROL0
#define SIL164_CONTROL0_POWER_ON
#define SIL164_CONTROL0_EDGE_RISING
#define SIL164_CONTROL0_INPUT_24BIT
#define SIL164_CONTROL0_DUAL_EDGE
#define SIL164_CONTROL0_HSYNC_ON
#define SIL164_CONTROL0_VSYNC_ON
#define SIL164_DETECT
#define SIL164_DETECT_INTR_STAT
#define SIL164_DETECT_HOTPLUG_STAT
#define SIL164_DETECT_RECEIVER_STAT
#define SIL164_DETECT_INTR_MODE_RECEIVER
#define SIL164_DETECT_INTR_MODE_HOTPLUG
#define SIL164_DETECT_OUT_MODE_HIGH
#define SIL164_DETECT_OUT_MODE_INTR
#define SIL164_DETECT_OUT_MODE_RECEIVER
#define SIL164_DETECT_OUT_MODE_HOTPLUG
#define SIL164_DETECT_VSWING_STAT
#define SIL164_CONTROL1
#define SIL164_CONTROL1_DESKEW_ENABLE
#define SIL164_CONTROL1_DESKEW_INCR_SHIFT
#define SIL164_GPIO
#define SIL164_CONTROL2
#define SIL164_CONTROL2_FILTER_ENABLE
#define SIL164_CONTROL2_FILTER_SETTING_SHIFT
#define SIL164_CONTROL2_DUALLINK_MASTER
#define SIL164_CONTROL2_SYNC_CONT
#define SIL164_DUALLINK
#define SIL164_DUALLINK_ENABLE
#define SIL164_DUALLINK_SKEW_SHIFT
#define SIL164_PLLZONE
#define SIL164_PLLZONE_STAT
#define SIL164_PLLZONE_FORCE_ON
#define SIL164_PLLZONE_FORCE_HIGH

/* HW access functions */

static void
sil164_write(struct i2c_client *client, uint8_t addr, uint8_t val)
{}

static uint8_t
sil164_read(struct i2c_client *client, uint8_t addr)
{}

static void
sil164_save_state(struct i2c_client *client, uint8_t *state)
{}

static void
sil164_restore_state(struct i2c_client *client, uint8_t *state)
{}

static void
sil164_set_power_state(struct i2c_client *client, bool on)
{}

static void
sil164_init_state(struct i2c_client *client,
		  struct sil164_encoder_params *config,
		  bool duallink)
{}

/* DRM encoder functions */

static void
sil164_encoder_set_config(struct drm_encoder *encoder, void *params)
{}

static void
sil164_encoder_dpms(struct drm_encoder *encoder, int mode)
{}

static void
sil164_encoder_save(struct drm_encoder *encoder)
{}

static void
sil164_encoder_restore(struct drm_encoder *encoder)
{}

static int
sil164_encoder_mode_valid(struct drm_encoder *encoder,
			  struct drm_display_mode *mode)
{}

static void
sil164_encoder_mode_set(struct drm_encoder *encoder,
			struct drm_display_mode *mode,
			struct drm_display_mode *adjusted_mode)
{}

static enum drm_connector_status
sil164_encoder_detect(struct drm_encoder *encoder,
		      struct drm_connector *connector)
{}

static int
sil164_encoder_get_modes(struct drm_encoder *encoder,
			 struct drm_connector *connector)
{}

static int
sil164_encoder_create_resources(struct drm_encoder *encoder,
				struct drm_connector *connector)
{}

static int
sil164_encoder_set_property(struct drm_encoder *encoder,
			    struct drm_connector *connector,
			    struct drm_property *property,
			    uint64_t val)
{}

static void
sil164_encoder_destroy(struct drm_encoder *encoder)
{}

static const struct drm_encoder_slave_funcs sil164_encoder_funcs =;

/* I2C driver functions */

static int
sil164_probe(struct i2c_client *client)
{}

static struct i2c_client *
sil164_detect_slave(struct i2c_client *client)
{}

static int
sil164_encoder_init(struct i2c_client *client,
		    struct drm_device *dev,
		    struct drm_encoder_slave *encoder)
{}

static const struct i2c_device_id sil164_ids[] =;
MODULE_DEVICE_TABLE(i2c, sil164_ids);

static struct drm_i2c_encoder_driver sil164_driver =;

/* Module initialization */

static int __init
sil164_init(void)
{}

static void __exit
sil164_exit(void)
{}

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

module_init();
module_exit(sil164_exit);