Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
exynos_ddc.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Samsung Electronics Co.Ltd
3  * Authors:
4  * Seung-Woo Kim <[email protected]>
5  * Inki Dae <[email protected]>
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 static struct of_device_id hdmiddc_match_types[] = {
52  {
53  .compatible = "samsung,exynos5-hdmiddc",
54  }, {
55  /* end node */
56  }
57 };
58 
60  .driver = {
61  .name = "exynos-hdmiddc",
62  .owner = THIS_MODULE,
63  .of_match_table = hdmiddc_match_types,
64  },
65  .id_table = ddc_idtable,
66  .probe = s5p_ddc_probe,
67  .remove = __devexit_p(s5p_ddc_remove),
68  .command = NULL,
69 };