blob: ea49d132ecf66f2696d3673f3df1dfa09d2cfbaa [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#include "exynos_drm_drv.h"
21#include "exynos_hdmi.h"
22
23
24static int hdmiphy_probe(struct i2c_client *client,
25 const struct i2c_device_id *id)
26{
27 hdmi_attach_hdmiphy_client(client);
28
29 dev_info(&client->adapter->dev, "attached s5p_hdmiphy "
30 "into i2c adapter successfully\n");
31
32 return 0;
33}
34
35static int hdmiphy_remove(struct i2c_client *client)
36{
37 dev_info(&client->adapter->dev, "detached s5p_hdmiphy "
38 "from i2c adapter successfully\n");
39
40 return 0;
41}
42
43static const struct i2c_device_id hdmiphy_id[] = {
44 { "s5p_hdmiphy", 0 },
Rahul Sharma93c645e2012-10-04 20:48:50 +053045 { "exynos5-hdmiphy", 0 },
Seung-Woo Kimd8408322011-12-21 17:39:39 +090046 { },
47};
48
Sachin Kamat65da0352012-12-12 14:24:07 +053049#ifdef CONFIG_OF
Rahul Sharma93c645e2012-10-04 20:48:50 +053050static struct of_device_id hdmiphy_match_types[] = {
51 {
52 .compatible = "samsung,exynos5-hdmiphy",
53 }, {
54 /* end node */
55 }
56};
Sachin Kamat65da0352012-12-12 14:24:07 +053057#endif
Rahul Sharma93c645e2012-10-04 20:48:50 +053058
Seung-Woo Kimd8408322011-12-21 17:39:39 +090059struct i2c_driver hdmiphy_driver = {
60 .driver = {
Rahul Sharma93c645e2012-10-04 20:48:50 +053061 .name = "exynos-hdmiphy",
Seung-Woo Kimd8408322011-12-21 17:39:39 +090062 .owner = THIS_MODULE,
Sachin Kamat65da0352012-12-12 14:24:07 +053063 .of_match_table = of_match_ptr(hdmiphy_match_types),
Seung-Woo Kimd8408322011-12-21 17:39:39 +090064 },
65 .id_table = hdmiphy_id,
66 .probe = hdmiphy_probe,
Greg Kroah-Hartman56550d92012-12-21 15:09:25 -080067 .remove = hdmiphy_remove,
Seung-Woo Kimd8408322011-12-21 17:39:39 +090068 .command = NULL,
69};
70EXPORT_SYMBOL(hdmiphy_driver);