linux/drivers/pcmcia
Christian Lamparter 42b5dd5193 pcmcia: move unbind/rebind into dev_pm_ops.complete
Move the device rebind procedures for cardbus devices from the pm.resume
into the pm.complete callback.

The reason for moving the code is: "[...] The PM code needs to send
suspend and resume messages to every device in the right order, and it
can't do that if new devices are being added at the same time.  [...]"

However the situation really isn't quite that rigid.  In particular,
adding new children during a resume callback shouldn't cause much of
problem because the children don't need to be resumed anyway (since they
were never suspended).  On the other hand, if you do it you will get a
dev_warn() from the PM core, something like 'parent should not be
sleeping'.

Still, it is considered bad form and should be avoided if possible."

(Alan Stern's full comment about the topic can
be found here: <https://lkml.org/lkml/2012/7/10/254>)

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg KH <greg@kroah.com>
Acked-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-02-21 17:22:16 -08:00
..
at91_cf.c arm: at91: move platfarm_data to include/linux/platform_data/atmel.h 2012-11-06 20:29:33 +08:00
bcm63xx_pcmcia.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
bcm63xx_pcmcia.h
bfin_cf_pcmcia.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
cardbus.c pcmcia: Use common pci_stop_and_remove_bus_device() 2012-08-22 11:31:20 -06:00
cirrus.h
cistpl.c
cs_internal.h
cs.c pcmcia: move unbind/rebind into dev_pm_ops.complete 2013-02-21 17:22:16 -08:00
db1xxx_ss.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
ds.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
electra_cf.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
i82092.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
i82092aa.h
i82365.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
i82365.h
Kconfig pcmcia: add driver for hx4700 2012-05-07 09:56:39 +08:00
m8xx_pcmcia.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia 2012-03-29 16:00:48 -07:00
m32r_cfc.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
m32r_cfc.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
m32r_pcc.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
m32r_pcc.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
Makefile pcmcia: add driver for hx4700 2012-05-07 09:56:39 +08:00
o2micro.h
omap_cf.c ARM: OMAP1: Move plat/tc.h to mach/tc.h for omap1 2012-10-17 11:36:40 -07:00
pcmcia_cis.c
pcmcia_resource.c Revert wrong fixes for common misspellings 2011-04-26 23:31:11 -07:00
pd6729.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
pd6729.h pd6729: Coding Style fixes 2010-11-10 14:29:09 +01:00
pxa2xx_balloon3.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_base.c ARM: pxa: fix return value check in pxa2xx_drv_pcmcia_probe() 2012-09-21 15:33:58 +08:00
pxa2xx_base.h pcmcia vs. MECR on pxa25x/sa1111 2011-02-19 12:22:35 +01:00
pxa2xx_cm_x2xx.c ARM: PXA: fix includes in pxa2xx_cm_x2xx PCMCIA driver 2011-11-05 22:26:46 +00:00
pxa2xx_cm_x255.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_cm_x270.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_colibri.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_e740.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_hx4700.c pcmcia: add driver for hx4700 2012-05-07 09:56:39 +08:00
pxa2xx_mainstone.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_palmld.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_palmtc.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_palmtx.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_sharpsl.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
pxa2xx_stargate2.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_trizeps4.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
pxa2xx_viper.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxa2xx_vpac270.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
ricoh.h
rsrc_iodyn.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rsrc_mgr.c
rsrc_nonstatic.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
sa11xx_base.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
sa11xx_base.h
sa1100_assabet.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1100_cerf.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1100_generic.c pcmcia: remove use of __devinitdata 2012-11-28 12:10:16 -08:00
sa1100_generic.h ARM: 6458/1: pcmcia: Adds nanoEngine PCMCIA support. 2010-12-21 14:53:45 +00:00
sa1100_h3600.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1100_nanoengine.c PCMCIA: soc_common: remove explicit wrprot initialization in socket drivers 2012-02-21 14:27:04 +00:00
sa1100_shannon.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1100_simpad.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1111_badge4.c PCMCIA: sa1111: rename sa1111 socket drivers to have sa1111_ prefix. 2012-02-21 14:27:18 +00:00
sa1111_generic.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
sa1111_generic.h PCMCIA: sa1111: use new per-socket irq/gpio infrastructure 2012-02-04 14:32:23 +00:00
sa1111_jornada720.c pcmcia: remove use of __devinit 2012-11-28 12:10:16 -08:00
sa1111_lubbock.c PCMCIA: sa1111: rename sa1111 socket drivers to have sa1111_ prefix. 2012-02-21 14:27:18 +00:00
sa1111_neponset.c Merge branch 'platforms' of git://git.linaro.org/people/rmk/linux-arm 2012-03-27 18:17:02 -07:00
soc_common.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
soc_common.h PCMCIA: soc_common: remove soc_pcmcia_*_irqs functions 2012-02-21 14:27:03 +00:00
socket_sysfs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
tcic.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
tcic.h
ti113x.h Fix common misspellings 2011-03-31 11:26:23 -03:00
topic.h
vg468.h
vrc4171_card.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
vrc4173_cardu.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
vrc4173_cardu.h
xxs1500_ss.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
yenta_socket.c pcmcia: remove use of __devexit 2012-11-28 12:10:16 -08:00
yenta_socket.h