Skip to content
Snippets Groups Projects
Commit b216417e authored by Rolf Bork's avatar Rolf Bork
Browse files

Some changes as part of fix for issue 174:

- IOP card counting for model/bus comparison fixed. IOP code was
  double counting Contec6464 and counting IRIG-B card.
- Common module load changed to properly shutdown Dolphin if exit
  on incorrect card count by IOP.
parent 8138e4e8
No related branches found
No related tags found
No related merge requests found
...@@ -318,7 +318,6 @@ mapPciModules( CDS_HARDWARE* pCds ) ...@@ -318,7 +318,6 @@ mapPciModules( CDS_HARDWARE* pCds )
PCI_SLOT( dacdev->devfn ) ); PCI_SLOT( dacdev->devfn ) );
status = contec6464Init( pCds, dacdev ); status = contec6464Init( pCds, dacdev );
modCount++; modCount++;
modCount++;
} }
bo_cnt++; bo_cnt++;
bo_cnt++; bo_cnt++;
...@@ -402,19 +401,6 @@ mapPciModules( CDS_HARDWARE* pCds ) ...@@ -402,19 +401,6 @@ mapPciModules( CDS_HARDWARE* pCds )
status = 0; status = 0;
pCds->gps = 0; pCds->gps = 0;
pCds->gpsType = 0; pCds->gpsType = 0;
// Look for Symmetricom GPS board
#if 0
if ((dacdev = pci_get_device(SYMCOM_VID, SYMCOM_BC635_TID, dacdev))) {
printk("Symmetricom GPS card on bus %x; device %x\n",
dacdev->bus->number,
PCI_SLOT(dacdev->devfn));
status = symmetricomGpsInit(pCds,dacdev);
if (status == 0) {
// GPS board initialized and mapped
modCount ++;
}
}
#endif
dacdev = NULL; dacdev = NULL;
status = 0; status = 0;
// Look for TSYNC GPS board // Look for TSYNC GPS board
...@@ -424,11 +410,6 @@ mapPciModules( CDS_HARDWARE* pCds ) ...@@ -424,11 +410,6 @@ mapPciModules( CDS_HARDWARE* pCds )
dacdev->bus->number, dacdev->bus->number,
PCI_SLOT( dacdev->devfn ) ); PCI_SLOT( dacdev->devfn ) );
status = spectracomGpsInit( pCds, dacdev ); status = spectracomGpsInit( pCds, dacdev );
if ( status == 0 )
{
// GPS board initialized and mapped
modCount++;
}
} }
return ( modCount ); return ( modCount );
......
...@@ -119,16 +119,6 @@ rt_fe_init( void ) ...@@ -119,16 +119,6 @@ rt_fe_init( void )
cardCountErr = 1; cardCountErr = 1;
} }
#ifdef REQUIRE_IO_CNT
if ( cardCountErr )
{
pLocalEpics->epicsOutput.fe_status = IO_CONFIG_ERROR;
printk( "" SYSTEM_NAME_STRING_LOWER
": ERROR: Exit on incorrect card count \n" );
return -5;
}
#endif
#ifdef IOP_MODEL #ifdef IOP_MODEL
/// Wirte PCIe card info to mbuf for use by userapp models /// Wirte PCIe card info to mbuf for use by userapp models
send_io_info_to_mbuf( status, &cdsPciModules ); send_io_info_to_mbuf( status, &cdsPciModules );
...@@ -166,6 +156,18 @@ rt_fe_init( void ) ...@@ -166,6 +156,18 @@ rt_fe_init( void )
#else #else
print_io_info( &cdsPciModules, 0 ); print_io_info( &cdsPciModules, 0 );
#endif #endif
#ifdef REQUIRE_IO_CNT
if ( cardCountErr )
{
#ifdef DOLPHIN_TEST
finish_dolphin( );
#endif
pLocalEpics->epicsOutput.fe_status = IO_CONFIG_ERROR;
printk( "" SYSTEM_NAME_STRING_LOWER
": ERROR: Exit on incorrect card count \n" );
return -5;
}
#endif
pLocalEpics->epicsInput.vmeReset = 0; pLocalEpics->epicsInput.vmeReset = 0;
udelay( 2000 ); udelay( 2000 );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment