diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-24 20:14:58 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-05-24 20:14:58 +0000 |
commit | 907af7dc2ef15f362cd21e699291cbb417cbb1d1 (patch) | |
tree | f8366e04535ac542a8a24ce12c9ee6de466a51a5 /c/src/lib/libcpu/powerpc | |
parent | 2001-05-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-907af7dc2ef15f362cd21e699291cbb417cbb1d1.tar.bz2 |
2001-05-24 Eric Valette <valette@crf.canon.fr>
* mpc8xx/console-generic/console-generic.c: Bug found by Yacine
<elkolli@crf.canon.fr> where the initialization or irq data structure
was incomplete in case a SMC channel was used first and later a SCC one.
Diffstat (limited to 'c/src/lib/libcpu/powerpc')
-rw-r--r-- | c/src/lib/libcpu/powerpc/ChangeLog | 6 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c | 19 |
2 files changed, 15 insertions, 10 deletions
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog index 6ba97dd7af..e40ad44055 100644 --- a/c/src/lib/libcpu/powerpc/ChangeLog +++ b/c/src/lib/libcpu/powerpc/ChangeLog @@ -1,3 +1,9 @@ +2001-05-24 Eric Valette <valette@crf.canon.fr> + + * mpc8xx/console-generic/console-generic.c: Bug found by Yacine + <elkolli@crf.canon.fr> where the initialization or irq data structure + was incomplete in case a SMC channel was used first and later a SCC one. + 2001-03-30 Eric Valette <valette@crf.canon.fr> * mpc8xx/vectors/.cvsignore, mpc8xx/vectors/Makefile.am, diff --git a/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c b/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c index a9478cd0ab..7654c43104 100644 --- a/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c +++ b/c/src/lib/libcpu/powerpc/mpc8xx/console-generic/console-generic.c @@ -639,14 +639,7 @@ int m8xx_scc_isOn(const rtems_irq_connect_data* ptr) return BSP_irq_enabled_at_cpm (ptr->name); } -static rtems_irq_connect_data consoleIrqData = -{ - BSP_CPM_IRQ_SCC2, - (rtems_irq_hdl)m8xx_scc2_interrupt_handler, - (rtems_irq_enable) m8xx_scc_enable, - (rtems_irq_disable) m8xx_scc_disable, - (rtems_irq_is_enabled) m8xx_scc_isOn -}; +static rtems_irq_connect_data consoleIrqData; void m8xx_uart_scc_initialize (int minor) @@ -826,9 +819,15 @@ m8xx_uart_scc_initialize (int minor) #endif } if ( (mbx8xx_console_get_configuration() & 0x06) == 0x02 ) { + consoleIrqData.on = m8xx_scc_enable; + consoleIrqData.off = m8xx_scc_disable; + consoleIrqData.isOn = m8xx_scc_isOn; + switch (minor) { - case SCC2_MINOR: - break; + case SCC2_MINOR: + consoleIrqData.name = BSP_CPM_IRQ_SCC2; + consoleIrqData.hdl = m8xx_scc2_interrupt_handler; + break; #ifdef mpc860 case SCC3_MINOR: |