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