Commit e2c236f0 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge branch 'tegra/drivers' into next/drivers

* tegra/drivers:
  i2c: tegra: Support DVC controller in device tree
  i2c: tegra: Add __devinit/exit to probe/remove
parents 9f9f265b 635bca28
...@@ -558,7 +558,7 @@ static const struct i2c_algorithm tegra_i2c_algo = { ...@@ -558,7 +558,7 @@ static const struct i2c_algorithm tegra_i2c_algo = {
.functionality = tegra_i2c_func, .functionality = tegra_i2c_func,
}; };
static int tegra_i2c_probe(struct platform_device *pdev) static int __devinit tegra_i2c_probe(struct platform_device *pdev)
{ {
struct tegra_i2c_dev *i2c_dev; struct tegra_i2c_dev *i2c_dev;
struct tegra_i2c_platform_data *pdata = pdev->dev.platform_data; struct tegra_i2c_platform_data *pdata = pdev->dev.platform_data;
...@@ -636,7 +636,10 @@ static int tegra_i2c_probe(struct platform_device *pdev) ...@@ -636,7 +636,10 @@ static int tegra_i2c_probe(struct platform_device *pdev)
i2c_dev->bus_clk_rate = be32_to_cpup(prop); i2c_dev->bus_clk_rate = be32_to_cpup(prop);
} }
if (pdev->id == 3) if (pdev->dev.of_node)
i2c_dev->is_dvc = of_device_is_compatible(pdev->dev.of_node,
"nvidia,tegra20-i2c-dvc");
else if (pdev->id == 3)
i2c_dev->is_dvc = 1; i2c_dev->is_dvc = 1;
init_completion(&i2c_dev->msg_complete); init_completion(&i2c_dev->msg_complete);
...@@ -690,7 +693,7 @@ static int tegra_i2c_probe(struct platform_device *pdev) ...@@ -690,7 +693,7 @@ static int tegra_i2c_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int tegra_i2c_remove(struct platform_device *pdev) static int __devexit tegra_i2c_remove(struct platform_device *pdev)
{ {
struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev); struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
i2c_del_adapter(&i2c_dev->adapter); i2c_del_adapter(&i2c_dev->adapter);
...@@ -742,6 +745,7 @@ static int tegra_i2c_resume(struct platform_device *pdev) ...@@ -742,6 +745,7 @@ static int tegra_i2c_resume(struct platform_device *pdev)
/* Match table for of_platform binding */ /* Match table for of_platform binding */
static const struct of_device_id tegra_i2c_of_match[] __devinitconst = { static const struct of_device_id tegra_i2c_of_match[] __devinitconst = {
{ .compatible = "nvidia,tegra20-i2c", }, { .compatible = "nvidia,tegra20-i2c", },
{ .compatible = "nvidia,tegra20-i2c-dvc", },
{}, {},
}; };
MODULE_DEVICE_TABLE(of, tegra_i2c_of_match); MODULE_DEVICE_TABLE(of, tegra_i2c_of_match);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment