diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-07 13:24:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-07 13:24:18 -0400 |
commit | e5744abb2fa3629aa5a94e21ca1eae32ff2fe00b (patch) | |
tree | ef90c96390256b073f5255d224aecb2fc1f6ee84 /drivers/mfd/wm8400-core.c | |
parent | c29aa153ef0469cddf0146d41ce6494bd76be78b (diff) | |
parent | 2d28ca731b9bb6262f7711241628c7844b0cf7dc (diff) |
Merge tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
Pull MFD updates from Lee Jones:
"Changes to existing drivers:
- Use of managed resources - omap, twl4030, ti_am335x_tscadc
- Advanced error handling - omap
- Rework clk management - omap
- Device Tree (re-)work - tc3589x, pm8921, da9055, sec
- IRC management overhaul and !BROKEN - pm8921
- Convert to regmap - ssbi, pm8921
- Use simple power-management ops - ucb1x00
- Include file clean-up - adp5520, cs5535, janz, lpc_ich,
- lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
tps65912, vexpress-config, wm8350, ywm8350
- Various bug fixes across the subsystem
- NULL/invalid pointer dereference prevention
- Resource leak mitigation,
- Variable used initialised
- Staticise various containers
- Enforce return value checks
New drivers/supported devices:
- Add support for s2mps14 and s2mpa01 to sec
- Add support for da9063 (v5) to da9063
- Add support for atom-c2000 to gpio-ich
- Add support for come-{mbt10,cbt6,chl6} to kempld
- Add support for da9053 to da9052
- Add support for itco-wdt (v3) and baytrail to lpc_ich
- Add new drivers for tps65218, rtsx_usb, bcm590xx
(Re-)moved drivers:
- twl4030 ==> drivers/iio
- ti-ssp ==> /dev/null"
* tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
mfd: wm5110: Correct default for HEADPHONE_DETECT_1
mfd: arizona: Correct small errors in the DT binding documentation
mfd: arizona: Mark DSP clocking register as volatile
mfd: devicetree: bindings: Add pm8xxx RTC description
mfd: kempld-core: Fix potential hang-up during boot
mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
mfd: sec-core: Fix I2C dummy device resource leak on probe failure
mfd: sec-core: Add of_compatible strings for clock MFD cells
mfd: Remove obsolete ti-ssp driver
Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
mfd: bcm590xx: Fix type argument for module device table
mfd: lpc_ich: Add support for Intel Bay Trail SoC
mfd: lpc_ich: Add support for NM10 GPIO
mfd: lpc_ich: Change Avoton to iTCO v3
watchdog: iTCO_wdt: Add support for v3 silicon
mfd: lpc_ich: Add support for iTCO v3
mfd: lpc_ich: Remove lpc_ich_cfg struct use
mfd: lpc_ich: Only configure watchdog or GPIO when present
...
Diffstat (limited to 'drivers/mfd/wm8400-core.c')
-rw-r--r-- | drivers/mfd/wm8400-core.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/mfd/wm8400-core.c b/drivers/mfd/wm8400-core.c index d66d256551fb..e5eae751aa1b 100644 --- a/drivers/mfd/wm8400-core.c +++ b/drivers/mfd/wm8400-core.c | |||
@@ -161,31 +161,19 @@ static int wm8400_i2c_probe(struct i2c_client *i2c, | |||
161 | const struct i2c_device_id *id) | 161 | const struct i2c_device_id *id) |
162 | { | 162 | { |
163 | struct wm8400 *wm8400; | 163 | struct wm8400 *wm8400; |
164 | int ret; | ||
165 | 164 | ||
166 | wm8400 = devm_kzalloc(&i2c->dev, sizeof(struct wm8400), GFP_KERNEL); | 165 | wm8400 = devm_kzalloc(&i2c->dev, sizeof(struct wm8400), GFP_KERNEL); |
167 | if (wm8400 == NULL) { | 166 | if (!wm8400) |
168 | ret = -ENOMEM; | 167 | return -ENOMEM; |
169 | goto err; | ||
170 | } | ||
171 | 168 | ||
172 | wm8400->regmap = devm_regmap_init_i2c(i2c, &wm8400_regmap_config); | 169 | wm8400->regmap = devm_regmap_init_i2c(i2c, &wm8400_regmap_config); |
173 | if (IS_ERR(wm8400->regmap)) { | 170 | if (IS_ERR(wm8400->regmap)) |
174 | ret = PTR_ERR(wm8400->regmap); | 171 | return PTR_ERR(wm8400->regmap); |
175 | goto err; | ||
176 | } | ||
177 | 172 | ||
178 | wm8400->dev = &i2c->dev; | 173 | wm8400->dev = &i2c->dev; |
179 | i2c_set_clientdata(i2c, wm8400); | 174 | i2c_set_clientdata(i2c, wm8400); |
180 | 175 | ||
181 | ret = wm8400_init(wm8400, dev_get_platdata(&i2c->dev)); | 176 | return wm8400_init(wm8400, dev_get_platdata(&i2c->dev)); |
182 | if (ret != 0) | ||
183 | goto err; | ||
184 | |||
185 | return 0; | ||
186 | |||
187 | err: | ||
188 | return ret; | ||
189 | } | 177 | } |
190 | 178 | ||
191 | static int wm8400_i2c_remove(struct i2c_client *i2c) | 179 | static int wm8400_i2c_remove(struct i2c_client *i2c) |