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 spi: at25 driver is for EEPROM not FLASH 2007-12-05 09:21:18 -08:00
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 spi: SuperH SPI using SCI 2008-02-06 10:41:11 -08:00
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 doesn't need class_device 2007-10-16 09:43:10 -07:00
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 spi core: stop updating dev->power.power_state 2008-02-06 10:41:10 -08:00
spidev.c spi: fix refcount-related spidev oops-on-rmmod 2008-06-06 11:29:08 -07:00
tle62x0.c tle62x0 driver stops ignoring read errors 2007-11-14 18:45:42 -08:00
xilinx_spi.c spi: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:31 -07:00