/*
 * include/asm-xtensa/hardirq.h
 *
 * 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.
 *
 * Copyright (C) 2002 - 2005 Tensilica Inc.
 */

#ifndef _XTENSA_HARDIRQ_H
#define _XTENSA_HARDIRQ_H

#include <linux/config.h>
#include <linux/cache.h>
#include <asm/irq.h>

/* headers.S is sensitive to the offsets of these fields */
typedef struct {
	unsigned int __softirq_pending;
	unsigned int __syscall_count;
	struct task_struct * __ksoftirqd_task; /* waitqueue is too large */
	unsigned int __nmi_count;	       /* arch dependent */
} ____cacheline_aligned irq_cpustat_t;

void ack_bad_irq(unsigned int irq);
#include <linux/irq_cpustat.h>	/* Standard mappings for irq_cpustat_t above */

#endif	/* _XTENSA_HARDIRQ_H */