linux/drivers
Dan Streetman d1dc6f1bcf frontswap: allow multiple backends
Change frontswap single pointer to a singly linked list of frontswap
implementations.  Update Xen tmem implementation as register no longer
returns anything.

Frontswap only keeps track of a single implementation; any
implementation that registers second (or later) will replace the
previously registered implementation, and gets a pointer to the previous
implementation that the new implementation is expected to pass all
frontswap functions to if it can't handle the function itself.  However
that method doesn't really make much sense, as passing that work on to
every implementation adds unnecessary work to implementations; instead,
frontswap should simply keep a list of all registered implementations
and try each implementation for any function.  Most importantly, neither
of the two currently existing frontswap implementations in the kernel
actually do anything with any previous frontswap implementation that
they replace when registering.

This allows frontswap to successfully manage multiple implementations by
keeping a list of them all.

Signed-off-by: Dan Streetman <ddstreet@ieee.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-24 17:49:45 -07:00
..
accessibility
acpi Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
amba
android
ata Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2015-06-08 08:47:08 -07:00
atm
auxdisplay
base regmap: Fixes for v4.2 2015-06-23 17:25:32 -07:00
bcma
block SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
bluetooth
bus Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
cdrom
char powerpc updates for 4.2 2015-06-24 08:46:32 -07:00
clk fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
clocksource clocksource: Increase dependencies of timer-stm32 to limit build wreckage 2015-06-21 20:01:48 +02:00
connector
cpufreq Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
cpuidle Merge branch 'pm-cpuidle' 2015-06-22 15:15:36 +02:00
crypto Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
dca
devfreq
dio
dma Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
dma-buf
edac
eisa
extcon
firewire
firmware Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:10:44 -07:00
fmc
gpio This is the big bulk of GPIO changes queued for the v4.2 2015-06-23 13:34:02 -07:00
gpu Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
hid Merge branches 'for-4.2/i2c-hid', 'for-4.2/lenovo', 'for-4.2/plantronics', 'for-4.2/rmi', 'for-4.2/sensor-hub', 'for-4.2/sjoy', 'for-4.2/sony' and 'for-4.2/wacom' into for-linus 2015-06-22 16:23:43 +02:00
hsi HSI: nokia-modem: use flags argument of devm_gpiod_get to set direction 2015-06-23 02:40:03 +02:00
hv
hwmon hwmon changes for v4.2 2015-06-23 13:39:56 -07:00
hwspinlock
hwtracing/coresight
i2c == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
ide
idle
iio
infiniband SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
input == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
iommu IOMMU Updates for Linux v4.2 2015-06-23 18:27:19 -07:00
ipack
irqchip Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 19:42:56 -07:00
isdn Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
leds
lguest Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-06-22 17:59:09 -07:00
macintosh macintosh/nvram: Remove as unused 2015-06-15 16:42:37 +10:00
mailbox
mcb
md md: make sure MD_RECOVERY_DONE is clear before starting recovery/resync 2015-06-12 20:16:33 +10:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
memory
memstick
message fusion: remove dead MTRR code 2015-06-13 08:44:14 -07:00
mfd == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
misc cxl: Fix typo in debug print 2015-06-19 17:10:30 +10:00
mmc mmc: queue: prevent soft lockups on PREEMPT=n 2015-06-18 09:21:04 +02:00
mtd powerpc updates for 4.2 2015-06-24 08:46:32 -07:00
net Changes for 4.2 2015-06-23 15:53:26 -07:00
nfc
ntb PCI changes for the v4.2 merge window: 2015-06-23 13:41:24 -07:00
nubus
of arm64 updates for 4.2, mostly refactoring/clean-up: 2015-06-24 10:02:15 -07:00
oprofile
parisc
parport
pci Power management and ACPI material for v4.2-rc1 2015-06-23 14:18:07 -07:00
pcmcia pcmcia: do not break rsrc_nonstatic when handling anonymous cards 2015-06-16 07:29:39 +02:00
phy
pinctrl
platform == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
pnp Merge branches 'pnp' and 'pm-tools' 2015-06-19 01:18:43 +02:00
power power supply and reset changes for the v4.2 series 2015-06-23 16:10:27 -07:00
powercap
pps
ps3
ptp
pwm pwm: Changes for v4.2-rc1 2015-06-23 13:32:38 -07:00
rapidio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
ras
regulator == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
remoteproc
reset
rpmsg
rtc == Changes to existing drivers == 2015-06-23 17:31:27 -07:00
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-06-24 08:45:27 -07:00
sbus
scsi SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
sfi
sh
sn
soc
spi Merge remote-tracking branches 'spi/topic/sirf', 'spi/topic/spidev' and 'spi/topic/zynq' into spi-next 2015-06-18 00:19:56 +01:00
spmi
ssb SSB: Fix handling of ssb_pmu_get_alp_clock() 2015-06-09 16:38:06 +02:00
staging mm: oom_kill: clean up victim marking and exiting interfaces 2015-06-24 17:49:43 -07:00
target SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
tc
thermal
thunderbolt
tty mm: oom_kill: simplify OOM killer locking 2015-06-24 17:49:43 -07:00
uio
usb SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
uwb
vfio powerpc updates for 4.2 2015-06-24 08:46:32 -07:00
vhost SCSI misc on 20150622 2015-06-23 15:55:44 -07:00
video fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
virt
virtio PCI changes for the v4.2 merge window: 2015-06-23 13:41:24 -07:00
vlynq
vme
w1
watchdog
xen frontswap: allow multiple backends 2015-06-24 17:49:45 -07:00
zorro
Kconfig
Makefile