/*
 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef _ASM_ARC_KDEBUG_H
#define _ASM_ARC_KDEBUG_H

enum die_val {
	DIE_UNUSED,
	DIE_TRAP,
	DIE_IERR,
	DIE_OOPS
};

#define INIT_PRINT 0

#if (INIT_PRINT == 2)
#define printk_init(fmt, args...)   printk(fmt, ## args)
#elif (INIT_PRINT == 1)
#define printk_init(fmt, args...)
#else
#define printk_init(fmt, args...)                   \
    ({                                                  \
         static const __initconst char __fmt[] = fmt;    \
         printk(__fmt, ## args);                         \
     })
#endif

#endif
