linux-pinenote/include/linux/mfd
Russell King 30816ac049 MFD: mcp-core: sanitize host creation/removal
host_unregister() gives us no chance between removing the device
and the mcp data structure being freed to access the data inbetween,
which drivers may need to do if they need to iounmap() pointers in
their private data structures.

Therefore, re-jig the interfaces, which are now, on creation:

	mcp = mcp_host_alloc()
	if (mcp) {
		ret = mcp_host_add(mcp, data);

		if (!ret)
			mcp_host_free(mcp);
	}

and on removal:

	mcp_host_del(mcp);
	... access mcp ...
	mcp_host_free(mcp);

The free does the final put_device() on the struct device as one would
expect.

Acked-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-03 17:37:48 +00:00
..
abx500 mfd: Unify abx500 headers in mfd/abx500 2012-01-09 00:37:39 +01:00
da9052 mfd: Declare da9052_regmap_config for the bus drivers 2011-12-15 14:52:37 +08:00
pcf50633 mfd: Convert pcf50633 to use new register map API 2011-10-24 14:09:08 +02:00
pm8xxx
s5m87xx mfd: Add S5M core driver 2012-01-09 00:37:46 +01:00
wm831x Merge branch 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6 2011-11-03 09:40:51 -07:00
wm8350
wm8994 mfd: Add missing mutex.h inclusion to WM8994 core.h 2012-01-09 00:37:39 +01:00
88pm860x.h mfd: Convert 88pm860x to use regmap api 2012-01-09 00:37:30 +01:00
aat2870.h
abx500.h mfd: Fix missing abx500 header file updates 2011-11-02 17:24:06 +01:00
adp5520.h
asic3.h
core.h
da903x.h
davinci_voicecodec.h
db5500-prcmu.h mfd: Move to the new db500 PRCMU API 2011-10-24 14:09:18 +02:00
db8500-prcmu.h mfd: Move to the new db500 PRCMU API 2011-10-24 14:09:18 +02:00
dbx500-prcmu.h mfd: Move to the new db500 PRCMU API 2011-10-24 14:09:18 +02:00
ds1wm.h
ezx-pcap.h
htc-egpio.h
htc-pasic3.h
intel_msic.h mfd: Add Intel MSIC driver 2011-10-24 14:09:15 +02:00
janz.h
max8925.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2012-01-13 20:43:32 -08:00
max8997-private.h mfd: Wake-up from Suspend MAX8997 support 2011-10-24 14:09:11 +02:00
max8997.h mfd: Add platform data and devices for MAX8997 LED control 2012-01-09 00:37:41 +01:00
max8998-private.h
max8998.h
mc13xxx.h Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 2012-01-13 20:43:32 -08:00
mc13783.h mfd: Remove mc13783 API functions and symbols 2011-10-24 14:09:12 +02:00
mc13892.h
mcp.h MFD: mcp-core: sanitize host creation/removal 2012-02-03 17:37:48 +00:00
rdc321x.h
stmpe.h mfd: Add support for stmpe variant 801 2012-01-09 00:37:44 +01:00
t7l66xb.h
tc3589x.h
tc6387xb.h
tc6393xb.h
ti_ssp.h
tmio.h
tps6105x.h
tps6507x.h
tps6586x.h
tps65910.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-next 2011-11-23 18:48:57 +00:00
tps65912.h
twl4030-audio.h
twl6040.h ASoC: twl6040: Workaround for headset DC offset caused pop noise 2011-10-12 13:11:54 +01:00
ucb1x00.h Revert "ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus." 2012-01-20 17:38:58 +00:00
wl1273-core.h
wm8400-audio.h
wm8400-private.h
wm8400.h