[PATCH] 2.6.11-bk Stallion driver module clean up
These two patches continue the work that Wayne Meissner started and are against the current bk tree. These patches allow the stallion driver to be built-in and loaded at boot time, the current #ifdef MODULE only allows the init code to be included if compiled as a module. Tested for compile, boot and running on our console server as module and built-in. Signed-off-by Darren Williams <[EMAIL PROTECTED]> # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/02/25 15:17:25+11:00 [EMAIL PROTECTED] # stallion serial driver module clean up # # drivers/char/stallion.c # 2005/02/25 15:17:16+11:00 [EMAIL PROTECTED] +5 -18 # Remove #define MODULE, and update module parameter declarations # Index: linux-2.5-import/drivers/char/stallion.c === --- linux-2.5-import.orig/drivers/char/stallion.c 2005-03-10 21:09:13.0 +1100 +++ linux-2.5-import/drivers/char/stallion.c2005-03-10 21:36:00.0 +1100 @@ -232,13 +232,12 @@ /*/ -#ifdef MODULE /* * Define some string labels for arguments passed from the module * load line. These allow for easy board definitions, and easy * modification of the io, memory and irq resoucres. */ - +static int stl_nargs = 0; static char*board0[4]; static char*board1[4]; static char*board2[4]; @@ -299,17 +298,15 @@ MODULE_DESCRIPTION("Stallion Multiport Serial Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(board0, "1-4s"); +module_param_array(board0, charp, _nargs, 0); MODULE_PARM_DESC(board0, "Board 0 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board1, "1-4s"); +module_param_array(board1, charp, _nargs, 0); MODULE_PARM_DESC(board1, "Board 1 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board2, "1-4s"); +module_param_array(board2, charp, _nargs, 0); MODULE_PARM_DESC(board2, "Board 2 config -> name[,ioaddr[,ioaddr2][,irq]]"); -MODULE_PARM(board3, "1-4s"); +module_param_array(board3, charp, _nargs, 0); MODULE_PARM_DESC(board3, "Board 3 config -> name[,ioaddr[,ioaddr2][,irq]]"); -#endif - /*/ /* @@ -464,12 +461,10 @@ * Declare all those functions in this driver! */ -#ifdef MODULE static voidstl_argbrds(void); static int stl_parsebrd(stlconf_t *confp, char **argp); static unsigned long stl_atol(char *str); -#endif intstl_init(void); static int stl_open(struct tty_struct *tty, struct file *filp); @@ -726,8 +721,6 @@ static struct class_simple *stallion_class; -#ifdef MODULE - /* * Loadable module initialization stuff. */ @@ -950,8 +943,6 @@ return(1); } -#endif - /*/ /* @@ -2787,9 +2778,7 @@ */ for (i = 0; (i < stl_nrbrds); i++) { confp = _brdconf[i]; -#ifdef MODULE stl_parsebrd(confp, stl_brdsp[i]); -#endif if ((brdp = stl_allocbrd()) == (stlbrd_t *) NULL) return(-ENOMEM); brdp->brdnr = i; @@ -2805,9 +2794,7 @@ * Find any dynamically supported boards. That is via module load * line options or auto-detected on the PCI bus. */ -#ifdef MODULE stl_argbrds(); -#endif #ifdef CONFIG_PCI stl_findpcibrds(); #endif # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/02/25 15:22:21+11:00 [EMAIL PROTECTED] # remove old 'nrargs' module argument count # # drivers/char/stallion.c # 2005/02/25 15:22:12+11:00 [EMAIL PROTECTED] +2 -4 # module arguments are now declared with module paramater declarations # Index: linux-2.5-import/drivers/char/stallion.c === --- linux-2.5-import.orig/drivers/char/stallion.c 2005-03-10 21:36:00.0 +1100 +++ linux-2.5-import/drivers/char/stallion.c2005-03-10 21:36:41.0 +1100 @@ -835,15 +835,13 @@ { stlconf_t conf; stlbrd_t*brdp; - int nrargs, i; + int i; #ifdef DEBUG printk("stl_argbrds()\n"); #endif - nrargs = sizeof(stl_brdsp) / sizeof(char **); - - for (i = stl_nrbrds; (i < nrargs); i++) { + for (i = stl_nrbrds; (i < stl_nargs); i++) { memset(, 0, sizeof(conf)); if (stl_parsebrd(, stl_brdsp[i]) == 0) continue; -- Darren Williams [EMAIL PROTECTED] -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] 2.6.11-bk Stallion driver module clean up
These two patches continue the work that Wayne Meissner started and are against the current bk tree. These patches allow the stallion driver to be built-in and loaded at boot time, the current #ifdef MODULE only allows the init code to be included if compiled as a module. Tested for compile, boot and running on our console server as module and built-in. Signed-off-by Darren Williams [EMAIL PROTECTED] # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/02/25 15:17:25+11:00 [EMAIL PROTECTED] # stallion serial driver module clean up # # drivers/char/stallion.c # 2005/02/25 15:17:16+11:00 [EMAIL PROTECTED] +5 -18 # Remove #define MODULE, and update module parameter declarations # Index: linux-2.5-import/drivers/char/stallion.c === --- linux-2.5-import.orig/drivers/char/stallion.c 2005-03-10 21:09:13.0 +1100 +++ linux-2.5-import/drivers/char/stallion.c2005-03-10 21:36:00.0 +1100 @@ -232,13 +232,12 @@ /*/ -#ifdef MODULE /* * Define some string labels for arguments passed from the module * load line. These allow for easy board definitions, and easy * modification of the io, memory and irq resoucres. */ - +static int stl_nargs = 0; static char*board0[4]; static char*board1[4]; static char*board2[4]; @@ -299,17 +298,15 @@ MODULE_DESCRIPTION(Stallion Multiport Serial Driver); MODULE_LICENSE(GPL); -MODULE_PARM(board0, 1-4s); +module_param_array(board0, charp, stl_nargs, 0); MODULE_PARM_DESC(board0, Board 0 config - name[,ioaddr[,ioaddr2][,irq]]); -MODULE_PARM(board1, 1-4s); +module_param_array(board1, charp, stl_nargs, 0); MODULE_PARM_DESC(board1, Board 1 config - name[,ioaddr[,ioaddr2][,irq]]); -MODULE_PARM(board2, 1-4s); +module_param_array(board2, charp, stl_nargs, 0); MODULE_PARM_DESC(board2, Board 2 config - name[,ioaddr[,ioaddr2][,irq]]); -MODULE_PARM(board3, 1-4s); +module_param_array(board3, charp, stl_nargs, 0); MODULE_PARM_DESC(board3, Board 3 config - name[,ioaddr[,ioaddr2][,irq]]); -#endif - /*/ /* @@ -464,12 +461,10 @@ * Declare all those functions in this driver! */ -#ifdef MODULE static voidstl_argbrds(void); static int stl_parsebrd(stlconf_t *confp, char **argp); static unsigned long stl_atol(char *str); -#endif intstl_init(void); static int stl_open(struct tty_struct *tty, struct file *filp); @@ -726,8 +721,6 @@ static struct class_simple *stallion_class; -#ifdef MODULE - /* * Loadable module initialization stuff. */ @@ -950,8 +943,6 @@ return(1); } -#endif - /*/ /* @@ -2787,9 +2778,7 @@ */ for (i = 0; (i stl_nrbrds); i++) { confp = stl_brdconf[i]; -#ifdef MODULE stl_parsebrd(confp, stl_brdsp[i]); -#endif if ((brdp = stl_allocbrd()) == (stlbrd_t *) NULL) return(-ENOMEM); brdp-brdnr = i; @@ -2805,9 +2794,7 @@ * Find any dynamically supported boards. That is via module load * line options or auto-detected on the PCI bus. */ -#ifdef MODULE stl_argbrds(); -#endif #ifdef CONFIG_PCI stl_findpcibrds(); #endif # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/02/25 15:22:21+11:00 [EMAIL PROTECTED] # remove old 'nrargs' module argument count # # drivers/char/stallion.c # 2005/02/25 15:22:12+11:00 [EMAIL PROTECTED] +2 -4 # module arguments are now declared with module paramater declarations # Index: linux-2.5-import/drivers/char/stallion.c === --- linux-2.5-import.orig/drivers/char/stallion.c 2005-03-10 21:36:00.0 +1100 +++ linux-2.5-import/drivers/char/stallion.c2005-03-10 21:36:41.0 +1100 @@ -835,15 +835,13 @@ { stlconf_t conf; stlbrd_t*brdp; - int nrargs, i; + int i; #ifdef DEBUG printk(stl_argbrds()\n); #endif - nrargs = sizeof(stl_brdsp) / sizeof(char **); - - for (i = stl_nrbrds; (i nrargs); i++) { + for (i = stl_nrbrds; (i stl_nargs); i++) { memset(conf, 0, sizeof(conf)); if (stl_parsebrd(conf, stl_brdsp[i]) == 0) continue; -- Darren Williams dsw AT gelato.unsw.edu.au [EMAIL PROTECTED] www.gelato.unsw.edu.au -- - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at