patch-2.4.10 linux/drivers/char/moxa.c
Next file: linux/drivers/char/msbusmouse.c
Previous file: linux/drivers/char/mixcomwd.c
Back to the patch index
Back to the overall index
- Lines: 85
- Date:
Sun Sep 9 10:43:02 2001
- Orig file:
v2.4.9/linux/drivers/char/moxa.c
- Orig date:
Sun Aug 12 13:27:59 2001
diff -u --recursive --new-file v2.4.9/linux/drivers/char/moxa.c linux/drivers/char/moxa.c
@@ -205,6 +205,7 @@
MODULE_AUTHOR("William Chen");
MODULE_DESCRIPTION("MOXA Intellio Family Multiport Board Device Driver");
+MODULE_LICENSE("GPL");
MODULE_PARM(type, "1-4i");
MODULE_PARM(baseaddr, "1-4i");
MODULE_PARM(numports, "1-4i");
@@ -212,6 +213,8 @@
MODULE_PARM(calloutmajor, "i");
MODULE_PARM(verbose, "i");
+EXPORT_NO_SYMBOLS;
+
#endif //MODULE
static struct tty_driver moxaDriver;
@@ -1717,27 +1720,6 @@
if(copy_to_user((void *)arg, temp_queue, sizeof(struct moxaq_str) * MAX_PORTS))
return -EFAULT;
return (0);
- case MOXA_LOAD_BIOS:
- if(copy_from_user(&dltmp, (void *)arg, sizeof(struct dl_str)))
- return -EFAULT;
- i = moxaloadbios(dltmp.cardno, dltmp.buf, dltmp.len);
- return (i);
- case MOXA_FIND_BOARD:
- if(copy_from_user(&dltmp, (void *)arg, sizeof(struct dl_str)))
- return -EFAULT;
- return moxafindcard(dltmp.cardno);
- case MOXA_LOAD_C320B:
- if(copy_from_user(&dltmp, (void *)arg, sizeof(struct dl_str)))
- return -EFAULT;
- moxaload320b(dltmp.cardno, dltmp.buf, dltmp.len);
- return (0);
- case MOXA_LOAD_CODE:
- if(copy_from_user(&dltmp, (void *)arg, sizeof(struct dl_str)))
- return -EFAULT;
- i = moxaloadcode(dltmp.cardno, dltmp.buf, dltmp.len);
- if (i == -1)
- return (-EFAULT);
- return (i);
case MOXA_GET_OQUEUE:
i = MoxaPortTxQueue(port);
return put_user(i, (unsigned long *) arg);
@@ -1778,9 +1760,38 @@
if(copy_to_user((void *)arg, GMStatus, sizeof(struct mxser_mstatus) * MAX_PORTS))
return -EFAULT;
return 0;
+ default:
+ return (-ENOIOCTLCMD);
+ case MOXA_LOAD_BIOS:
+ case MOXA_FIND_BOARD:
+ case MOXA_LOAD_C320B:
+ case MOXA_LOAD_CODE:
+ break;
+ }
+
+ if(copy_from_user(&dltmp, (void *)arg, sizeof(struct dl_str)))
+ return -EFAULT;
+ if(dltmp.cardno < 0 || dltmp.cardno >= MAX_BOARDS)
+ return -EINVAL;
+
+ switch(cmd)
+ {
+ case MOXA_LOAD_BIOS:
+ i = moxaloadbios(dltmp.cardno, dltmp.buf, dltmp.len);
+ return (i);
+ case MOXA_FIND_BOARD:
+ return moxafindcard(dltmp.cardno);
+ case MOXA_LOAD_C320B:
+ moxaload320b(dltmp.cardno, dltmp.buf, dltmp.len);
+ default: /* to keep gcc happy */
+ return (0);
+ case MOXA_LOAD_CODE:
+ i = moxaloadcode(dltmp.cardno, dltmp.buf, dltmp.len);
+ if (i == -1)
+ return (-EFAULT);
+ return (i);
}
- return (-ENOIOCTLCMD);
}
int MoxaDriverPoll(void)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)