diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-11-02 07:54:03 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-11-04 20:41:07 -0400 |
commit | af504e5d39de35dc3de5f42c357fe1b519fea33f (patch) | |
tree | e3767d2a524e17980fe0b00d449b809b76467340 /arch | |
parent | 869dec1582af755a84ba993580f6588559e197b4 (diff) |
ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
Commit 4d17aeb1c5b2375769446d13012a98e6d265ec13 ("OMAP: I2C: split
device registration and convert OMAP2+ to omap_device") makes
omap2_i2c_add_bus() return a pointer to an omap_device instead on
success instead of 0.
This breaks the omap_register_i2c_bus() ABI and results in the igep0020
board code detecting an I2C bus registration error when there is none.
Fix the problem by using PTR_RET() instead of PTR_ERR() in
omap2_i2c_add_bus().
Reported-by: Alexander Kinzer <a.kinzer@plusoptix.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[tony@atomide.com: updated to return pdev instead of od]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-omap/i2c.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index 679cbd49c019..db071bc71c4d 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c | |||
@@ -184,7 +184,7 @@ static inline int omap2_i2c_add_bus(int bus_id) | |||
184 | NULL, 0, 0); | 184 | NULL, 0, 0); |
185 | WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name); | 185 | WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name); |
186 | 186 | ||
187 | return PTR_ERR(pdev); | 187 | return PTR_RET(pdev); |
188 | } | 188 | } |
189 | #else | 189 | #else |
190 | static inline int omap2_i2c_add_bus(int bus_id) | 190 | static inline int omap2_i2c_add_bus(int bus_id) |