mvsoc_intr.h revision 1.4
11.4Smatt/*	$NetBSD: mvsoc_intr.h,v 1.4 2014/03/18 06:46:14 matt Exp $	*/
21.1Skiyohara/*
31.1Skiyohara * Copyright (c) 2010 KIYOHARA Takashi
41.1Skiyohara * All rights reserved.
51.1Skiyohara *
61.1Skiyohara * Redistribution and use in source and binary forms, with or without
71.1Skiyohara * modification, are permitted provided that the following conditions
81.1Skiyohara * are met:
91.1Skiyohara * 1. Redistributions of source code must retain the above copyright
101.1Skiyohara *    notice, this list of conditions and the following disclaimer.
111.1Skiyohara * 2. Redistributions in binary form must reproduce the above copyright
121.1Skiyohara *    notice, this list of conditions and the following disclaimer in the
131.1Skiyohara *    documentation and/or other materials provided with the distribution.
141.1Skiyohara *
151.1Skiyohara * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
161.1Skiyohara * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
171.1Skiyohara * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
181.1Skiyohara * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
191.1Skiyohara * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
201.1Skiyohara * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
211.1Skiyohara * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
221.1Skiyohara * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
231.1Skiyohara * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
241.1Skiyohara * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
251.1Skiyohara * POSSIBILITY OF SUCH DAMAGE.
261.1Skiyohara */
271.1Skiyohara
281.1Skiyohara#ifndef _MVSOC_INTR_H_
291.1Skiyohara#define _MVSOC_INTR_H_
301.1Skiyohara
311.4Smatt#ifdef _INTR_PRIVATE
321.3Skiyohara#include "opt_mvsoc.h"
331.3Skiyohara
341.3Skiyohara#if defined(ARMADAXP)
351.3Skiyohara#define __HAVE_PIC_SET_PRIORITY
361.3Skiyohara#endif
371.4Smatt#endif
381.3Skiyohara
391.1Skiyohara#define ARM_IRQ_HANDLER	_C_LABEL(mvsoc_irq_handler)
401.1Skiyohara
411.1Skiyohara#ifndef _LOCORE
421.2Smattextern int (*find_pending_irqs)(void);
431.1Skiyohara
441.1Skiyoharavoid mvsoc_irq_handler(void *);
451.1Skiyohara
461.1Skiyohara#include <arm/pic/picvar.h>
471.1Skiyohara
481.1Skiyoharastatic __inline void *
491.1Skiyoharamarvell_intr_establish(int irq, int ipl, int (*func)(void *), void *arg)
501.1Skiyohara{
511.1Skiyohara
521.1Skiyohara	return intr_establish(irq, ipl, IST_LEVEL_HIGH, func, arg);
531.1Skiyohara}
541.1Skiyohara
551.1Skiyohara#endif	/* _LOCORE */
561.1Skiyohara
571.1Skiyohara#endif	/* _MVSOC_INTR_H_ */
58