blob: 37e6ec704e1d05117324922ff31da960928be536 [file] [log] [blame]
Seung-Woo Kimd8408322011-12-21 17:39:39 +09001/*
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
David Howells760285e2012-10-02 18:01:07 +010014#include <drm/drmP.h>
Seung-Woo Kimd8408322011-12-21 17:39:39 +090015
16#include <linux/kernel.h>
17#include <linux/i2c.h>
18#include <linux/module.h>
19
20
21#include "exynos_drm_drv.h"
22#include "exynos_hdmi.h"
23
24static int s5p_ddc_probe(struct i2c_client *client,
25 const struct i2c_device_id *dev_id)
26{
27 hdmi_attach_ddc_client(client);
28
Rahul Sharma9ff15942012-10-04 20:48:49 +053029 dev_info(&client->adapter->dev,
30 "attached %s into i2c adapter successfully\n",
31 client->name);
Seung-Woo Kimd8408322011-12-21 17:39:39 +090032
33 return 0;
34}
35
36static int s5p_ddc_remove(struct i2c_client *client)
37{
Rahul Sharma9ff15942012-10-04 20:48:49 +053038 dev_info(&client->adapter->dev,
39 "detached %s from i2c adapter successfully\n",
40 client->name);
Seung-Woo Kimd8408322011-12-21 17:39:39 +090041
42 return 0;
43}
44
45static struct i2c_device_id ddc_idtable[] = {
46 {"s5p_ddc", 0},
Rahul Sharma9ff15942012-10-04 20:48:49 +053047 {"exynos5-hdmiddc", 0},
Seung-Woo Kimd8408322011-12-21 17:39:39 +090048 { },
49};
50
Rahul Sharma9ff15942012-10-04 20:48:49 +053051static struct of_device_id hdmiddc_match_types[] = {
52 {
53 .compatible = "samsung,exynos5-hdmiddc",
54 }, {
55 /* end node */
56 }
57};
58
Seung-Woo Kimd8408322011-12-21 17:39:39 +090059struct i2c_driver ddc_driver = {
60 .driver = {
Rahul Sharma9ff15942012-10-04 20:48:49 +053061 .name = "exynos-hdmiddc",
Seung-Woo Kimd8408322011-12-21 17:39:39 +090062 .owner = THIS_MODULE,
Rahul Sharma9ff15942012-10-04 20:48:49 +053063 .of_match_table = hdmiddc_match_types,
Seung-Woo Kimd8408322011-12-21 17:39:39 +090064 },
65 .id_table = ddc_idtable,
66 .probe = s5p_ddc_probe,
67 .remove = __devexit_p(s5p_ddc_remove),
68 .command = NULL,
69};