/** @file init.c

   Contains initialization function that is called on "load module".

   @par CREATION
   @author Krauth Julien
   @date   06.06.05

   @par VERSION
   @verbatim
   $LastChangedRevision$
   $LastChangedDate$
   @endverbatim

   @par COMPILER
   @verbatim
   Compiler	: gcc
   Version	: gcc (GCC) 3.3.6 (Debian 1:3.3.6-5)
   kernel	: 2.4.26
   @endverbatim

   @par UPDATES
   @verbatim
   Date			: 15.06.2005
   Author		: Krauth Julien
   Description	: Add timeout management.
                  Change void apci3200_initialize into<br>
                  int apci3200_initialize.
   @endverbatim

   @par LICENCE
   @verbatim
   Copyright (C) 2004,2005  ADDI-DATA GmbH for the source code of this module.

        ADDI-DATA GmbH
        Dieselstrasse 3
        D-77833 Ottersweier
        Tel: +19(0)7223/9493-0
        Fax: +49(0)7223/9493-92
        http://www.addi-data-com
        info@addi-data.com

   This program is free software; you can redistribute it and/or modify it under
   the terms of the GNU General Public License as published by the Free Software
   Foundation; either version 2 of the License, or (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
   or FITNESS FOR A PARTICULAR PURPOSE.
   See the GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along with
   this program; if not, write to the Free Software Foundation,
   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

   You shoud also find the complete GPL in the COPYING file
   accompanying this source code.
   @endverbatim
 */

#include "apci3200-private.h"

/**@def EXPORT_NO_SYMBOLS
 * Function in this file are not exported.
 */
EXPORT_NO_SYMBOLS;

//------------------------------------------------------------------------------

/** Hook function called at init module time.
 *
 * This function is used to:<br>
 * o initialize the wait state of the APCI-3200 board.<br>
 * o Get the header value.
 *
 * @retval	0	No error.
 * @retval	-1	Timeout.
 */
int i_APCI3200_InitAndReadHeader (struct pci_dev *pdev, const char* name, int num)
{
	/* Wait state initialization */
	outl(0x83838383, GET_BAR0(pdev) + APCI3200_WAIT_STATE_REG);

	/* Get configuration header value */
	return apci3200_get_header_calibration_value (pdev,name,num);
}
//------------------------------------------------------------------------------

