Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
Note: File does not exist in v3.1.
 1/*
 2 * Copyright (C) 2011 Samsung Electronics Co.Ltd
 3 * Authors:
 4 *	Seung-Woo Kim <sw0312.kim@samsung.com>
 5 *	Inki Dae <inki.dae@samsung.com>
 6 *
 7 * This program is free software; you can redistribute  it and/or modify it
 8 * under  the terms of  the GNU General  Public License as published by the
 9 * Free Software Foundation;  either version 2 of the  License, or (at your
10 * option) any later version.
11 *
12 */
13
14#include <drm/drmP.h>
15
16#include <linux/kernel.h>
17#include <linux/i2c.h>
18#include <linux/of.h>
19
20#include "exynos_drm_drv.h"
21#include "exynos_hdmi.h"
22
23static int s5p_ddc_probe(struct i2c_client *client,
24			const struct i2c_device_id *dev_id)
25{
26	hdmi_attach_ddc_client(client);
27
28	dev_info(&client->adapter->dev,
29		"attached %s into i2c adapter successfully\n",
30		client->name);
31
32	return 0;
33}
34
35static int s5p_ddc_remove(struct i2c_client *client)
36{
37	dev_info(&client->adapter->dev,
38		"detached %s from i2c adapter successfully\n",
39		client->name);
40
41	return 0;
42}
43
44static struct of_device_id hdmiddc_match_types[] = {
45	{
46		.compatible = "samsung,exynos5-hdmiddc",
47	}, {
48		.compatible = "samsung,exynos4210-hdmiddc",
49	}, {
50		/* end node */
51	}
52};
53
54struct i2c_driver ddc_driver = {
55	.driver = {
56		.name = "exynos-hdmiddc",
57		.owner = THIS_MODULE,
58		.of_match_table = hdmiddc_match_types,
59	},
60	.probe		= s5p_ddc_probe,
61	.remove		= s5p_ddc_remove,
62	.command		= NULL,
63};