#include "h/types.h"
#include "h/fddi.h"
#include "h/smc.h"
#include "h/supern_2.h"
#include "h/skfbiinc.h"
#include <linux/bitrev.h>
#include <linux/pci.h>
#define PC8_ACTIVE …
#define LED_Y_ON …
#define LED_Y_OFF …
#define MS2BCLK(x) …
#ifndef MULT_OEM
#ifndef OEM_CONCEPT
const u_char oem_id[] = … ;
#else
const u_char oem_id[] = OEM_ID ;
#endif
#define ID_BYTE0 …
#define OEMID(smc,i) …
#else
const struct s_oem_ids oem_ids[] = {
#include "oemids.h"
{0}
};
#define OEMID …
#endif
#ifdef AIX
extern int AIX_vpdReadByte() ;
#endif
static void smt_stop_watchdog(struct s_smc *smc);
static void card_start(struct s_smc *smc)
{ … }
void card_stop(struct s_smc *smc)
{ … }
void mac1_irq(struct s_smc *smc, u_short stu, u_short stl)
{ … }
void plc1_irq(struct s_smc *smc)
{ … }
void plc2_irq(struct s_smc *smc)
{ … }
void timer_irq(struct s_smc *smc)
{ … }
int pcm_get_s_port(struct s_smc *smc)
{ … }
#define STATION_LABEL_CONNECTOR_OFFSET …
#define STATION_LABEL_PMD_OFFSET …
#define STATION_LABEL_PORT_OFFSET …
void read_address(struct s_smc *smc, u_char *mac_addr)
{ … }
void init_board(struct s_smc *smc, u_char *mac_addr)
{ … }
void sm_pm_bypass_req(struct s_smc *smc, int mode)
{ … }
int sm_pm_bypass_present(struct s_smc *smc)
{ … }
void plc_clear_irq(struct s_smc *smc, int p)
{ … }
static void led_indication(struct s_smc *smc, int led_event)
{ … }
void pcm_state_change(struct s_smc *smc, int plc, int p_state)
{ … }
void rmt_indication(struct s_smc *smc, int i)
{ … }
void llc_recover_tx(struct s_smc *smc)
{ … }
#ifdef MULT_OEM
static int is_equal_num(char comp1[], char comp2[], int num)
{
int i ;
for (i = 0 ; i < num ; i++) {
if (comp1[i] != comp2[i])
return 0;
}
return 1;
}
int set_oi_id_def(struct s_smc *smc)
{
int sel_id ;
int i ;
int act_entries ;
i = 0 ;
sel_id = -1 ;
act_entries = FALSE ;
smc->hw.oem_id = 0 ;
smc->hw.oem_min_status = OI_STAT_ACTIVE ;
while (oem_ids[i].oi_status) {
switch (oem_ids[i].oi_status) {
case OI_STAT_ACTIVE:
act_entries = TRUE ;
if (sel_id == -1)
sel_id = i ;
case OI_STAT_VALID:
case OI_STAT_PRESENT:
i++ ;
break ;
default:
return 1;
}
}
if (i == 0)
return 2;
if (!act_entries)
return 3;
smc->hw.oem_id = (struct s_oem_ids *) &oem_ids[sel_id] ;
return 0;
}
#endif
void driver_get_bia(struct s_smc *smc, struct fddi_addr *bia_addr)
{ … }
void smt_start_watchdog(struct s_smc *smc)
{ … }
static void smt_stop_watchdog(struct s_smc *smc)
{ … }
#ifdef PCI
void mac_do_pci_fix(struct s_smc *smc)
{ … }
#endif