OpenCloudOS-Kernel/drivers
Sascha Silbe 121a868d05 s390/zcrypt: Fix initialisation when zcrypt is built-in
ap_bus and zcrypt_api assumed module information to always be present
and initialisation to be done in module loading order (symbol
dependencies). These assumptions don't hold if zcrypt is built-in;
THIS_MODULE will be NULL in this case and init call order is linker
order, i.e. Makefile order.

Fix initialisation order by ordering the object files in the Makefile
according to their dependencies, like the module loader would do.

Fix message type registration by using a dedicated "name" field rather
than piggy-backing on the module ("owner") information. There's no
change to the requirement that module name and msgtype name are
identical. The existing name macros are used.

We don't need any special code for dealing with the drivers being
built-in; the generic module support code already does the right
thing.

Test results:
1. CONFIG_MODULES=y, CONFIG_ZCRYPT=y

   KVM: boots, no /sys/bus/ap (expected)
   LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present

2. CONFIG_MODULES=y, CONFIG_ZCRYPT=m=:

   KVM: boots, loading zcrypt_cex4 (and ap) fails (expected)
   LPAR with CEX5: boots, loading =zcrypt_cex4= succeeds,
   /sys/bus/ap/devices/card*/type present after explicit module
   loading

3. CONFIG_MODULES unset, CONFIG_ZCRYPT=y:
   KVM: boots, no /sys/bus/ap (expected)
   LPAR with CEX5: boots, /sys/bus/ap/devices/card*/type present

No further testing (user-space functionality) was done.

Fixes: 3b6245fd303f ("s390/zcrypt: Separate msgtype implementation from card modules.")
Signed-off-by: Sascha Silbe <silbe@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2015-11-11 13:56:34 +01:00
..
accessibility
acpi asm-generic cleanups 2015-11-06 14:22:15 -08:00
amba
android
ata Merge branch 'for-4.3-fixes' into for-4.4 2015-11-03 17:29:03 -05:00
atm
auxdisplay
base Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-11-07 13:05:44 -08:00
bcma
block Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
bluetooth driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
bus
cdrom
char powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
clk powerpc updates for 4.4 2015-11-05 23:38:43 -08:00
clocksource Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
connector mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
cpufreq Merge branch 'pm-opp' 2015-11-02 00:54:37 +01:00
cpuidle cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver 2015-10-23 12:40:48 +02:00
crypto asm-generic cleanups 2015-11-06 14:22:15 -08:00
dca
devfreq
dio
dma char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
dma-buf
edac asm-generic cleanups 2015-11-06 14:22:15 -08:00
eisa
extcon Merge branches 'ib-extcon-mfd-4.4', 'ib-mfd-i2c-v4.4', 'ib-mfd-power-4.4', 'ib-mfd-regmap-4.4' and 'ib-mfd-regulator-4.4' into ibs-for-mfd-merged 2015-10-26 14:48:22 +00:00
firewire mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
firmware Half dozen small cleanups plus change to allow pstore 2015-11-05 11:51:18 -08:00
fmc
fpga fpga: socfpga: Fix check of return value of devm_request_irq 2015-10-29 15:20:25 -07:00
gpio asm-generic cleanups 2015-11-06 14:22:15 -08:00
gpu Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2015-11-07 12:49:27 -08:00
hsi hsi: controllers:remove redundant code 2015-10-30 16:10:40 +01:00
hv drivers/hv: share Hyper-V SynIC constants with userspace 2015-11-04 16:24:33 +01:00
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-11-07 13:05:44 -08:00
hwspinlock
hwtracing
i2c asm-generic cleanups 2015-11-06 14:22:15 -08:00
ide mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
idle
iio spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
infiniband Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-11-06 11:57:41 -08:00
iommu s390/pci_dma: handle dma table failures 2015-11-09 09:10:49 +01:00
ipack
irqchip Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
isdn TTY/Serial driver patches for 4.4-rc1 2015-11-04 21:35:12 -08:00
leds spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
lguest
lightnvm lightnvm: refactor phys addrs type to u64 2015-11-03 09:53:24 -07:00
macintosh
mailbox mailbox: mailbox-test: avoid reading iomem twice 2015-11-04 14:03:04 +05:30
mcb mcb: Destroy IDA on module unload 2015-10-29 09:02:16 +09:00
md Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
media mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
memory char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
memstick
message
mfd asm-generic cleanups 2015-11-06 14:22:15 -08:00
misc Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
mmc spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
mtd Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
net Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
nfc spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
ntb
nubus
nvdimm
nvme Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
nvmem
of DeviceTree updates for 4.4: 2015-11-06 12:17:09 -08:00
oprofile
parisc
parport
pci PCI changes for the v4.4 merge window: 2015-11-06 11:29:53 -08:00
pcmcia
perf arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
phy USB patches for 4.4-rc1 2015-11-04 21:26:27 -08:00
pinctrl This is the bulk of GPIO changes for v4.4: 2015-11-02 12:59:12 -08:00
platform asm-generic cleanups 2015-11-06 14:22:15 -08:00
pnp
power - New Device Support 2015-11-06 10:23:50 -08:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
remoteproc
reset
rpmsg
rtc spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00
s390 s390/zcrypt: Fix initialisation when zcrypt is built-in 2015-11-11 13:56:34 +01:00
sbus
scsi Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
sfi
sh
sn
soc
spi Merge remote-tracking branches 'spi/topic/s3c64xx', 'spi/topic/ti-qspi' and 'spi/topic/txx9' into spi-next 2015-11-04 11:02:16 +00:00
spmi char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
ssb ssb: add Kconfig entry for compiling SoC related code 2015-10-28 21:05:21 +02:00
staging Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
target
tc
thermal
thunderbolt
tty asm-generic cleanups 2015-11-06 14:22:15 -08:00
uio
usb Merge branch 'akpm' (patches from Andrew) 2015-11-07 14:32:45 -08:00
uwb driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
vfio
vhost vhost: fix performance on LE hosts 2015-10-27 20:17:03 -07:00
video mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd 2015-11-06 17:50:42 -08:00
virt
virtio
vlynq
vme char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
w1 power supply and reset changes for the v4.4 series 2015-11-05 12:28:15 -08:00
watchdog
xen xen, cpu_hotplug: call device_offline instead of cpu_down 2015-10-23 14:20:48 +01:00
zorro
Kconfig char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00
Makefile char/misc drivers for 4.4-rc1 2015-11-04 22:15:15 -08:00