| /* |
| * Copyright (C) 2011 Samsung Electronics Co.Ltd |
| * Authors: |
| * Seung-Woo Kim <sw0312.kim@samsung.com> |
| * Inki Dae <inki.dae@samsung.com> |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License as published by the |
| * Free Software Foundation; either version 2 of the License, or (at your |
| * option) any later version. |
| * |
| */ |
| |
| #include <drm/drmP.h> |
| |
| #include <linux/kernel.h> |
| #include <linux/i2c.h> |
| |
| #include "exynos_drm_drv.h" |
| #include "exynos_hdmi.h" |
| |
| |
| static int hdmiphy_probe(struct i2c_client *client, |
| const struct i2c_device_id *id) |
| { |
| hdmi_attach_hdmiphy_client(client); |
| |
| dev_info(&client->adapter->dev, "attached s5p_hdmiphy " |
| "into i2c adapter successfully\n"); |
| |
| return 0; |
| } |
| |
| static int hdmiphy_remove(struct i2c_client *client) |
| { |
| dev_info(&client->adapter->dev, "detached s5p_hdmiphy " |
| "from i2c adapter successfully\n"); |
| |
| return 0; |
| } |
| |
| static const struct i2c_device_id hdmiphy_id[] = { |
| { "s5p_hdmiphy", 0 }, |
| { "exynos5-hdmiphy", 0 }, |
| { }, |
| }; |
| |
| #ifdef CONFIG_OF |
| static struct of_device_id hdmiphy_match_types[] = { |
| { |
| .compatible = "samsung,exynos5-hdmiphy", |
| }, { |
| .compatible = "samsung,exynos4210-hdmiphy", |
| }, { |
| .compatible = "samsung,exynos4212-hdmiphy", |
| }, { |
| /* end node */ |
| } |
| }; |
| #endif |
| |
| struct i2c_driver hdmiphy_driver = { |
| .driver = { |
| .name = "exynos-hdmiphy", |
| .owner = THIS_MODULE, |
| .of_match_table = of_match_ptr(hdmiphy_match_types), |
| }, |
| .id_table = hdmiphy_id, |
| .probe = hdmiphy_probe, |
| .remove = hdmiphy_remove, |
| .command = NULL, |
| }; |
| EXPORT_SYMBOL(hdmiphy_driver); |