diff options
author | Arnd Bergmann <arnd@arndb.de> | 2011-12-27 18:10:44 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2011-12-27 18:10:44 -0500 |
commit | 635bca2885e5e1525d223b7f9cfe731914cfdb29 (patch) | |
tree | 497b6b43e8b6a3b49a2081a6aeb1351d862171ee | |
parent | dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50 (diff) | |
parent | 68fb669554a7def658873afdb9460f9a6289d6d9 (diff) |
Merge branch 'for-3.3/drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into tegra/drivers
-rw-r--r-- | drivers/i2c/busses/i2c-tegra.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 46b6500c5478..6381604696d3 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c | |||
@@ -558,7 +558,7 @@ static const struct i2c_algorithm tegra_i2c_algo = { | |||
558 | .functionality = tegra_i2c_func, | 558 | .functionality = tegra_i2c_func, |
559 | }; | 559 | }; |
560 | 560 | ||
561 | static int tegra_i2c_probe(struct platform_device *pdev) | 561 | static int __devinit tegra_i2c_probe(struct platform_device *pdev) |
562 | { | 562 | { |
563 | struct tegra_i2c_dev *i2c_dev; | 563 | struct tegra_i2c_dev *i2c_dev; |
564 | struct tegra_i2c_platform_data *pdata = pdev->dev.platform_data; | 564 | struct tegra_i2c_platform_data *pdata = pdev->dev.platform_data; |
@@ -636,7 +636,10 @@ static int tegra_i2c_probe(struct platform_device *pdev) | |||
636 | i2c_dev->bus_clk_rate = be32_to_cpup(prop); | 636 | i2c_dev->bus_clk_rate = be32_to_cpup(prop); |
637 | } | 637 | } |
638 | 638 | ||
639 | if (pdev->id == 3) | 639 | if (pdev->dev.of_node) |
640 | i2c_dev->is_dvc = of_device_is_compatible(pdev->dev.of_node, | ||
641 | "nvidia,tegra20-i2c-dvc"); | ||
642 | else if (pdev->id == 3) | ||
640 | i2c_dev->is_dvc = 1; | 643 | i2c_dev->is_dvc = 1; |
641 | init_completion(&i2c_dev->msg_complete); | 644 | init_completion(&i2c_dev->msg_complete); |
642 | 645 | ||
@@ -690,7 +693,7 @@ err_iounmap: | |||
690 | return ret; | 693 | return ret; |
691 | } | 694 | } |
692 | 695 | ||
693 | static int tegra_i2c_remove(struct platform_device *pdev) | 696 | static int __devexit tegra_i2c_remove(struct platform_device *pdev) |
694 | { | 697 | { |
695 | struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev); | 698 | struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev); |
696 | i2c_del_adapter(&i2c_dev->adapter); | 699 | i2c_del_adapter(&i2c_dev->adapter); |
@@ -742,6 +745,7 @@ static int tegra_i2c_resume(struct platform_device *pdev) | |||
742 | /* Match table for of_platform binding */ | 745 | /* Match table for of_platform binding */ |
743 | static const struct of_device_id tegra_i2c_of_match[] __devinitconst = { | 746 | static const struct of_device_id tegra_i2c_of_match[] __devinitconst = { |
744 | { .compatible = "nvidia,tegra20-i2c", }, | 747 | { .compatible = "nvidia,tegra20-i2c", }, |
748 | { .compatible = "nvidia,tegra20-i2c-dvc", }, | ||
745 | {}, | 749 | {}, |
746 | }; | 750 | }; |
747 | MODULE_DEVICE_TABLE(of, tegra_i2c_of_match); | 751 | MODULE_DEVICE_TABLE(of, tegra_i2c_of_match); |