⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.epca

📁 powerpc内核mpc8241linux系统下char驱动程序
💻 EPCA
📖 第 1 页 / 共 2 页
字号:
                            it's base address does not have to be (And cannot                            be configured directly).                        7.  Modified digiConfig to prompt for EISA/XEM cards.                             Files affected        : epca.c, epca.h, digi1.h, digiConfigRelease version       : 1.0.0g  (BETA)----------------------------------------------------------------------------------------------------------------------------------------------Programmer            : Ronnie SanfordDate                  : August 21, 1996Description (Verbose) : Made the following modifications:                        1.  A problem affecting hard flow control was found                             in the termios2digi_h routine.  Specifically,                            when the user activated hard flow control using                            the CRTSCTS specification, the values used to                             program hard flow control on the board were                             incorrect.  The solution was to change a line                            that read "res |= ((ch->m_dtr) | (ch->m_rts));"                            to "res |= ((ch->m_cts) | (ch->m_rts));"  This                             line only applies if cflag & CRTSCTS.  Special                            thanks to Matt Robinson (matt@mania.com.au) who                            found and fixed this problem.                        2.  In previous betas the cud device was set to  CLOCAL                            on driver boot up.  Likewise the ttyD device was                            set to ~CLOCAL.  This has been fixed in this driver.                            Now ttyD is CLOCAL and cud is ~CLOCAL.  The fix                            for this can be found in pc_init.                        3.  In ditty.c many changes were made to eliminate bugs                            and warning messages.  Two ioctl calls were eliminated                            as well a problem involving using the returned baud                            index to determine the drivers baud rate.  Newer                             Linux kernels support higher baud rates by using                            0x1000 bit.  When the returned value (ored with                            0x1000) was used to reference our fbaud table a                             serious memory problem occurred.  This has been fixed.                        4.  Added a request_region call to post_fep_init.  This                            should cause the i/o ports being used to be                             registered with proc.                         5.  Modified digiConfig to set all cud and ttyD devices                            to read/write all permission.                        6.  Developed a new apps called buildPCI that provides                             an easy way to build device nodes for PCI cards.                                 7.  Modified user.doc and technotes.doc document the                            use of buildPCI.Files affected        : epca.c, ditty.c, digiConfig, user.doc, technotes.doc Release version       : 1.0.0 (Official release)-----------------------------------------------------------------------Programmer            : Ronnie SanfordDate                  : August 21, 1996Description (Verbose) : Made the following modifications:                        1.  Removed code from pc_close which closes the                             drivers line discipline and restores its original                            line discipline.  This is currently unecessary,                            though future fast cook enhancements may require                            this.                        2.  Removed code in block_til_ready that set the                             asyncflags to either ASYNC_CALLOUT_ACTIVE, or                            ASYNC_NORMAL_ACTIVE.  This code was redundant                            as it already existed in block_til_ready.                        3.  Added code in block_til_ready to cause a return                            prior to schedule being called if the device                             was a CALLOUT device.  CALLOUT devices never                            block on CD. (This was a serious bug that                             prevented the CALLOUT devices (ttyD) from                             functioning properly in some instances.                            Make a change in the MODEMCHG_IND case of doevent                            such that it does not require ASYNC_CALLOUT_ACTIVE                            or ASYNC_NORMAL_ACTIVE to be set in order to                             unblock an open (Using wait_interruptible).                            Thanks to Mike McLagan (mike.mclagan@linux.org)                            for diagnosing and fixing this problem.                         4.  Made changes to the disposition of CLOCAL on                             both SERIAL NORMAL and CALLOUT devices.  Both                            device types now have CLOCAL active at default.                            This may be changed with a stty command.                        5.  Made changes to digiConfig such that it checks                            major.h (If valid) for the correct major                            numbers to use.Files affected        : epca.c, digiConfig Release version       : 1.0.1a -----------------------------------------------------------------------Programmer            : Ronnie SanfordDate                  : September 17, 1996Description (Verbose) : Made the following modifications:	                        1. Modified pc_open such that it no longer checks                            the cflag value returned by termios2digi_c for                           CLOCAL.  Digi hardware does not use this value                           and thus termios2digi_c rightly screens this                            value out.  This driver checks for CLOCAL using                           the drivers cflag value as known by the Linux OS.                           (The value passed into termios2digi_c)                        2. Modified termios2digi_c to screen out the                            CBAUDEX in CBAUD.  This error caused parity to                           automaticaly be enabled on at higher baud rates.		                        3. Added the "disable_bh()" call to the shutdown                           subroutine.  Hopefully this will allow the driver                           to correctly clean up after itself when used as a                           module.                         4. Added support for the PC/XI and 64K PC/XE cards.                           This involved primarily modifying digiDload to                           initialize and boot the new cards; however                            driver modifications were also required to                            provide the proper windowing for the newly                            supported cards. (Code was also added to                            determine the memory segment of the XI card as                           that card may have more than 64K.  Currently                           digiDload assumes a 64K XI card.)                        5. Added subroutine called epca_setup that can be                            called during LILO boot up.  This provides the                            user an easy way to change cards; without                            running digiConfig and without recompiling the                           kernel.  Added code in pc_init and pc_open to                           support the epca_setup routine.  pc_init checks                           the liloconfig flag (Which is set by epca_setup)                           to determine if the driver is using the LILO                            arguments.  If not pc_init loads the board data                            found in epcaconfig.h; if so it DOESN'T load                           epcaconfig data depending on epca_setup to handle                            board configuration.  pc_open has been modified                            such that it checks to ensure that no errors                           occurred during the LILO boot process.  If a                            user attempts to boot the driver (via. LILO)                           with incorrect data, the open will fail.                         6. Modified the windowing routines pcxe_rxwinon                           and pcxe_txwinon routines.  A bug existed such                           that those routines checked to see if the rxwin                            and txwin flags were reset.  If so they assumed                            the board was an XI or 64K XE.  Furthermore since                           these flags were never initialized in our driver                           sometimes they were 0 and therefore caused a                            memory fault (Or at least a window overrun).  This                           code has been removed since the pcxe shares                            nothing in common with the 64K XI and XE.                         7. Added code in pc_init to set the memory_seg for                           the various boards.  This code was necessary to                           correct a bug in the PCXE, PCXEVE code where                            receive and transmit pointers were being calculated                           from an uninitialized variable (memory_seg).                         8. Modified digiConfig to allow 64K PC/XI and 64K                           PC/XE cards to be configured.                                                   9. Made changes to support the new 2.1.x development                            kernel.  In particular this required changing all                           references to vremap to ioremap.                        10. Modified digiConfig such that it now generates                            node names corresponding to their internal                            as opposed to the label on the port itself.  Nodes                           (ttyD?? and cud??) now start at 0.  Example:                           ttyD0 and cud0 represent port 1 on any supported                           Digi product.  A similar change has been made                           in buildPCI.c.                        12. At the early portion of post_fep_init if a PCI                           card is detected a warning message could be given                           incorrectly if 64 ports were attached to a PCI                            card.  The below line :                           epcaassert(bd->numports > 64,"PCI returned a invalid number of ports");                                was changed to :                           epcaassert(bd->numports <= 64,"PCI returned a invalid number of ports");                            Remember that epcaassert checks for NOT true.                           Special thanks to Daniel Taylor for fixing this.                       13. Modified the epcaparam routine.  In version 100                           and 101a there was a line that looked like the                            below:                             if (ch->omodem != mval)                                                      The problem with this line was that the first time                           through omodem was not initialized.  Secondly, since                           many TIOC commands did not alter mval (They use                           a different variable) changes made by these commands                           could be lost.  This line was changed to:                             mval ^= ch->modemfake & (mval ^ ch->modem);                             if (ch->omodem ^ mval)                       14. Modified digiConfig in such a way that it checks                            the version number of the kernel and if it finds                           a 2.x.x kernel or higher it reads the necessary                            major numbers for cud and ttyD devices from major.h.                           This was also done in prior versions but these                           versions required a #define which identified the                            kernel as a version which did not have major numbers                           assigned to Digi systems.  This #define is no                            longer required allowing the same source tree for                           multiple kernel releases.                       15. Used macros to replace kernel specific calls such                           as put_fs_long, get_fs_long, put_user, and get_user                           the kernel version is now detected and the macro                           is defined as to correspond with the kernel it                           is being compiled into.  Again this was done to                           allow one source tree for multiple kernel releases.                        16. Added support for the new 2.1.x development kernels                           to digiInstall.Files affected        : epca.c, digiConfig Release version       : 1.1.0-----------------------------------------------------------------------Programmer            : Daniel TaylorDate                  : April 25, 1997Description (Verbose) : Updated driver:                        1.  Fixed DCD bug. (&tq_scheduler)                        2.  Removed BH handler code, as it was only handling                            hangups, and not being called for that.                        3.  Namespace cleanup (DIGI_TIMER2 => DIGI_TIMER)                        4.  Updated to 2.1.36, removed #ifdefs for earlier                            kernel revisions.Files affected        : epca.cRelease version       : 1.1.1  (BETA)-----------------------------------------------------------------------Programmer            : Daniel TaylorDate                  : March 11, 1999Description (Verbose) : Updated driver:                        1.  Simultaneous data and modem change events were			    resulting in the modem change events not being			    recognized. Fixed.                        2.  Modified pc_info device name to work better			    with devfs.Files affected        : epca.cRelease version       : 1.3.0-K -----------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -