diff options
Diffstat (limited to 'drivers/block/cpqarray.c')
-rw-r--r-- | drivers/block/cpqarray.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index 579fbc13a..92b1c7d4d 100644 --- a/drivers/block/cpqarray.c +++ b/drivers/block/cpqarray.c @@ -34,6 +34,7 @@ #include <linux/blkpg.h> #include <linux/timer.h> #include <linux/proc_fs.h> +#include <linux/init.h> #include <linux/hdreg.h> #include <linux/spinlock.h> #include <asm/uaccess.h> @@ -703,6 +704,26 @@ static ulong remap_pci_mem(ulong base, ulong size) return (ulong) (page_remapped ? (page_remapped + page_offs) : 0UL); } +#ifndef MODULE +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,13) +/* + * Config string is a comma seperated set of i/o addresses of EISA cards. + */ +static int cpqarray_setup(char *str) +{ + int i, ints[9]; + + (void)get_options(str, ARRAY_SIZE(ints), ints); + + for(i=0; i<ints[0] && i<8; i++) + eisa[i] = ints[i+1]; + return 1; +} + +__setup("smart2=", cpqarray_setup); + +#else + /* * Copy the contents of the ints[] array passed to us by init. */ @@ -712,6 +733,8 @@ void cpqarray_setup(char *str, int *ints) for(i=0; i<ints[0] && i<8; i++) eisa[i] = ints[i+1]; } +#endif +#endif /* * Find an EISA controller's signature. Set up an hba if we find it. |