/*
 *  linux/amiga/config.c
 *
 *  Copyright (C) 1993 Hamish Macdonald
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 */

/*
 * Miscellaneous Amiga stuff
 */

#include <stdarg.h>
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/kd.h>
#include <linux/tty.h>
#include <linux/console.h>
#include <linux/linkage.h>

#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/bootinfo.h>
#include <asm/amigahw.h>
#include <asm/amigaints.h>
#include <asm/irq.h>
#include <asm/machdep.h>

u_long amiga_masterclock;
u_long amiga_colorclock;

extern char m68k_debug_device[];

extern void amiga_sched_init(isrfunc handler);
extern int amiga_keyb_init(void);
extern int amiga_kbdrate (struct kbd_repeat *);
extern void amiga_init_INTS (void);
extern int amiga_add_isr (unsigned long, isrfunc, int, void *, char *);
extern int amiga_remove_isr (unsigned long, isrfunc, void *);
extern int amiga_get_irq_list (char *, int);
extern void amiga_enable_irq(unsigned int);
extern void amiga_disable_irq(unsigned int);
extern unsigned long amiga_gettimeoffset (void);
extern void a3000_gettod (int *, int *, int *, int *, int *, int *);
extern void a2000_gettod (int *, int *, int *, int *, int *, int *);
extern int amiga_hwclk (int, struct hwclk_time *);
extern int amiga_set_clock_mmss (unsigned long);
extern void amiga_mksound( unsigned int count, unsigned int ticks );
#ifdef CONFIG_BLK_DEV_FD
extern int amiga_floppy_init (void);
extern void amiga_floppy_setup(char *, int *);
#endif
extern void amiga_reset (void);
extern void amiga_waitbut(void);
extern struct consw fb_con;
extern struct fb_info *amiga_fb_init(long *);
extern void zorro_init(void);
static void ami_savekmsg_init(void);
static void ami_mem_print(const char *b);
extern void amiga_debug_init(void);
extern void amiga_video_setup(char *, int *);

extern void (*kd_mksound)(unsigned int, unsigned int);

void config_amiga(void)
{
}

extern long time_finetune;	/* from kernel/sched.c */

static unsigned short jiffy_ticks;

#if 1 /* ++1.3++ */
static void timer_wrapper( int irq, struct pt_regs *fp, void *otimerf )
{
}
#endif

void amiga_sched_init (isrfunc timer_routine)
{
}

#define TICK_SIZE 10000

/* This is always executed with interrupts disabled.  */
unsigned long amiga_gettimeoffset (void)
{
  return 0;
}

void a3000_gettod (int *yearp, int *monp, int *dayp,
		   int *hourp, int *minp, int *secp)
{
}

void a2000_gettod (int *yearp, int *monp, int *dayp,
		   int *hourp, int *minp, int *secp)
{
}

int amiga_hwclk(int op, struct hwclk_time *t)
{
  return 0;
}

int amiga_set_clock_mmss (unsigned long nowtime)
{
  return 0;
}

void amiga_waitbut (void)
{
}

void ami_serial_print (const char *str)
{
}

void amiga_debug_init (void)
{
}

void dbprintf(const char *fmt , ...)
{
}

NORET_TYPE void amiga_reset( void )
    ATTRIB_NORET;

void amiga_reset (void)
{
}

extern void *amiga_chip_alloc(long size);


#define SAVEKMSG_MAXMEM		128*1024


#define SAVEKMSG_MAGIC1		0x53415645	/* 'SAVE' */
#define SAVEKMSG_MAGIC2		0x4B4D5347	/* 'KMSG' */

struct savekmsg {
    u_long magic1;		/* SAVEKMSG_MAGIC1 */
    u_long magic2;		/* SAVEKMSG_MAGIC2 */
    u_long magicptr;		/* address of magic1 */
    u_long size;
    char data[0];
};

static struct savekmsg *savekmsg = NULL;


static void ami_savekmsg_init(void)
{
}


static void ami_mem_print(const char *b)
{
}


void amiga_get_model(char *model)
{
}


int amiga_get_hardware_list(char *buffer)
{
  return 0;
}
