aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of/of_i2c.c
diff options
context:
space:
mode:
authorWolfram Sang <w.sang@pengutronix.de>2008-06-28 14:31:52 -0400
committerGrant Likely <grant.likely@secretlab.ca>2008-07-22 03:13:04 -0400
commit11d579ee0a19052a5a90ebfe0c39e7ed8ce8a9dc (patch)
treed6785e59b3e9c643ce2fac2b67e793ea1ccc8827 /drivers/of/of_i2c.c
parente89970aa93b06d0605a488e74af3b0a2a80e03b5 (diff)
powerpc/mpc5200: Fix wrong 'no interrupt' handling in of_i2c
If an I2C device node does not specify an interrupt, the .irq member of the board_info struct was set to -1. This caused crashes on following irq_dispose_mappings. Leave it NO_IRQ as returned from irq_of_parse_and_map. (Suggesting -1 as 'i2c-no-irq' used to be a bug in linux/i2c.h.) Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Acked-by: Sean MacLennan <smaclennan@pikatech.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/of/of_i2c.c')
-rw-r--r--drivers/of/of_i2c.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
index 5c015d310d4a..344e1b03dd8b 100644
--- a/drivers/of/of_i2c.c
+++ b/drivers/of/of_i2c.c
@@ -91,8 +91,6 @@ void of_register_i2c_devices(struct i2c_adapter *adap,
91 } 91 }
92 92
93 info.irq = irq_of_parse_and_map(node, 0); 93 info.irq = irq_of_parse_and_map(node, 0);
94 if (info.irq == NO_IRQ)
95 info.irq = -1;
96 94
97 if (of_find_i2c_driver(node, &info) < 0) { 95 if (of_find_i2c_driver(node, &info) < 0) {
98 irq_dispose_mapping(info.irq); 96 irq_dispose_mapping(info.irq);