linux/drivers/spi
David Brownell b2c8daddcb spi: fix refcount-related spidev oops-on-rmmod
This addresses other oopsing paths in "spidev" by changing how it manages
refcounting.  It decouples the lifecycle of the per-device data from the
class device (not just the spi device):

  - Use class_{create,destroy} not class_{register,unregister}.
  - Use device_{create,destroy} not device_{register,unregister}.
  - Free the per-device data only when TWO conditions are true:
      * Driver is unbound from underlying SPI device, and
      * Device is no longer open (new)

Also, spi_{get,set}_drvdata not dev_{get,set}_drvdata for simpler code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Sebastian Siewior <bigeasy@tglx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-06 11:29:08 -07:00
..
at25.c
atmel_spi.c atmel_spi: clean up baud rate divisor calculation 2008-04-30 08:29:31 -07:00
atmel_spi.h
au1550_spi.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
Kconfig spi_mpc83xx: much improved driver 2008-05-13 08:02:25 -07:00
Makefile
mpc52xx_psc_spi.c mpc5200_psc_spi: typo fix in header block 2008-05-14 19:11:12 -07:00
omap2_mcspi.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
omap_uwire.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00
pxa2xx_spi.c spi: pxa2xx_spi clock resume bugfix 2008-05-13 08:02:23 -07:00
spi_bfin5xx.c spi_bfin5xx: use PIO for full duplex, not DMA 2008-05-01 08:04:01 -07:00
spi_bitbang.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00
spi_butterfly.c
spi_imx.c spi: spi_imx updates 2008-04-28 08:58:31 -07:00
spi_lm70llp.c
spi_mpc83xx.c spi_mpc83xx: much improved driver 2008-05-13 08:02:25 -07:00
spi_s3c24xx_gpio.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spi_s3c24xx.c spi_s3c24xx signedness fix 2008-05-01 08:04:01 -07:00
spi_sh_sci.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spi_txx9.c spi: fix platform driver hotplug/coldplug 2008-04-11 08:06:43 -07:00
spi.c
spidev.c spi: fix refcount-related spidev oops-on-rmmod 2008-06-06 11:29:08 -07:00
tle62x0.c
xilinx_spi.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00