Commit | Line | Data |
---|---|---|
3e082a91 MW |
1 | /* |
2 | * scsi_wait_scan.c | |
3 | * | |
4 | * Copyright (C) 2006 James Bottomley <James.Bottomley@SteelEye.com> | |
5 | * | |
6 | * This is a simple module to wait until all the async scans are | |
7 | * complete. The idea is to use it in initrd/initramfs scripts. You | |
8 | * modprobe it after all the modprobes of the root SCSI drivers and it | |
9 | * will wait until they have all finished scanning their busses before | |
10 | * allowing the boot to proceed | |
11 | */ | |
12 | ||
13 | #include <linux/module.h> | |
d4d5291c | 14 | #include <linux/device.h> |
1ff2f403 | 15 | #include "scsi_priv.h" |
3e082a91 MW |
16 | |
17 | static int __init wait_scan_init(void) | |
18 | { | |
d4d5291c AV |
19 | /* |
20 | * First we need to wait for device probing to finish; | |
21 | * the drivers we just loaded might just still be probing | |
22 | * and might not yet have reached the scsi async scanning | |
23 | */ | |
24 | wait_for_device_probe(); | |
3e082a91 MW |
25 | return 0; |
26 | } | |
27 | ||
28 | static void __exit wait_scan_exit(void) | |
29 | { | |
30 | } | |
31 | ||
32 | MODULE_DESCRIPTION("SCSI wait for scans"); | |
33 | MODULE_AUTHOR("James Bottomley"); | |
34 | MODULE_LICENSE("GPL"); | |
35 | ||
36 | late_initcall(wait_scan_init); | |
37 | module_exit(wait_scan_exit); |