Merge tag 'nfs-for-3.11-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[cascardo/linux.git] / drivers / gpu / drm / exynos / exynos_ddc.c
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/module.h>
19
20
21 #include "exynos_drm_drv.h"
22 #include "exynos_hdmi.h"
23
24 static int s5p_ddc_probe(struct i2c_client *client,
25                         const struct i2c_device_id *dev_id)
26 {
27         hdmi_attach_ddc_client(client);
28
29         dev_info(&client->adapter->dev,
30                 "attached %s into i2c adapter successfully\n",
31                 client->name);
32
33         return 0;
34 }
35
36 static int s5p_ddc_remove(struct i2c_client *client)
37 {
38         dev_info(&client->adapter->dev,
39                 "detached %s from i2c adapter successfully\n",
40                 client->name);
41
42         return 0;
43 }
44
45 static struct i2c_device_id ddc_idtable[] = {
46         {"s5p_ddc", 0},
47         {"exynos5-hdmiddc", 0},
48         { },
49 };
50
51 #ifdef CONFIG_OF
52 static struct of_device_id hdmiddc_match_types[] = {
53         {
54                 .compatible = "samsung,exynos5-hdmiddc",
55         }, {
56                 .compatible = "samsung,exynos4210-hdmiddc",
57         }, {
58                 /* end node */
59         }
60 };
61 #endif
62
63 struct i2c_driver ddc_driver = {
64         .driver = {
65                 .name = "exynos-hdmiddc",
66                 .owner = THIS_MODULE,
67                 .of_match_table = of_match_ptr(hdmiddc_match_types),
68         },
69         .id_table       = ddc_idtable,
70         .probe          = s5p_ddc_probe,
71         .remove         = s5p_ddc_remove,
72         .command                = NULL,
73 };