diff options
author | Jonghwan Choi <jhbird.choi@samsung.com> | 2012-02-20 19:22:56 +0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-03-06 21:46:35 +0400 |
commit | c7a1fcf3b1660dbccdc2faf9e506e0264b17c4ce (patch) | |
tree | 4b5c0425c471b01ca881e62e19df1b7a9fc54736 /drivers/mfd/s5m-irq.c | |
parent | c3ebb30aaeb2a30d69b9db564d93bf3486139c12 (diff) | |
download | linux-c7a1fcf3b1660dbccdc2faf9e506e0264b17c4ce.tar.xz |
mfd: Fix s5m error handling for invalid device type
If device type is not supported in driver, have to retun error.
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/s5m-irq.c')
-rw-r--r-- | drivers/mfd/s5m-irq.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/mfd/s5m-irq.c b/drivers/mfd/s5m-irq.c index de76dfb6f0ad..0236676085cf 100644 --- a/drivers/mfd/s5m-irq.c +++ b/drivers/mfd/s5m-irq.c @@ -342,7 +342,10 @@ int s5m_irq_resume(struct s5m87xx_dev *s5m87xx) s5m8767_irq_thread(s5m87xx->irq_base, s5m87xx); break; default: - break; + dev_err(s5m87xx->dev, + "Unknown device type %d\n", + s5m87xx->device_type); + return -EINVAL; } } @@ -444,7 +447,9 @@ int s5m_irq_init(struct s5m87xx_dev *s5m87xx) } break; default: - break; + dev_err(s5m87xx->dev, + "Unknown device type %d\n", s5m87xx->device_type); + return -EINVAL; } if (!s5m87xx->ono) @@ -467,12 +472,15 @@ int s5m_irq_init(struct s5m87xx_dev *s5m87xx) IRQF_ONESHOT, "s5m87xx-ono", s5m87xx); break; default: + ret = -EINVAL; break; } - if (ret) + if (ret) { dev_err(s5m87xx->dev, "Failed to request IRQ %d: %d\n", s5m87xx->ono, ret); + return ret; + } return 0; } |