1d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim/*
2d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * Copyright (C) 2011 Samsung Electronics Co.Ltd
3d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * Authors:
4d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim *	Seung-Woo Kim <sw0312.kim@samsung.com>
5d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim *	Inki Dae <inki.dae@samsung.com>
6d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim *
7d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * This program is free software; you can redistribute  it and/or modify it
8d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * under  the terms of  the GNU General  Public License as published by the
9d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * Free Software Foundation;  either version 2 of the  License, or (at your
10d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim * option) any later version.
11d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim *
12d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim */
13d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
14d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include "drmP.h"
15d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
16d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include <linux/kernel.h>
17d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include <linux/i2c.h>
18d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include <linux/module.h>
19d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
20d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include "exynos_drm_drv.h"
21d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim#include "exynos_hdmi.h"
22d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
23d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
24d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kimstatic int hdmiphy_probe(struct i2c_client *client,
25d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	const struct i2c_device_id *id)
26d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim{
27d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	hdmi_attach_hdmiphy_client(client);
28d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
29d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	dev_info(&client->adapter->dev, "attached s5p_hdmiphy "
30d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim		"into i2c adapter successfully\n");
31d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
32d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	return 0;
33d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim}
34d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
35d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kimstatic int hdmiphy_remove(struct i2c_client *client)
36d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim{
37d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	dev_info(&client->adapter->dev, "detached s5p_hdmiphy "
38d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim		"from i2c adapter successfully\n");
39d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
40d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	return 0;
41d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim}
42d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
43d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kimstatic const struct i2c_device_id hdmiphy_id[] = {
44d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	{ "s5p_hdmiphy", 0 },
45d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	{ },
46d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim};
47d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim
48d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kimstruct i2c_driver hdmiphy_driver = {
49d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	.driver = {
50d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim		.name	= "s5p-hdmiphy",
51d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim		.owner	= THIS_MODULE,
52d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	},
53d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	.id_table = hdmiphy_id,
54d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	.probe		= hdmiphy_probe,
55d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	.remove		= __devexit_p(hdmiphy_remove),
56d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim	.command		= NULL,
57d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo Kim};
58d84083268bd707ebb8ed2f4fc26ebc7a0c453a83Seung-Woo KimEXPORT_SYMBOL(hdmiphy_driver);
59