/*
 * Copyright (C) 2012, 2016 ARM Limited. All rights reserved.
 *
 * This program is free software and is provided to you under the terms of the GNU General Public License version 2
 * as published by the Free Software Foundation, and any use by you of this program is subject to the terms of such GNU licence.
 *
 * A copy of the licence is included with the program, and can also be obtained from Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

#ifndef __MALI_PROFILING_EVENTS_H__
#define __MALI_PROFILING_EVENTS_H__

/* Simple wrapper in order to find the OS specific location of this file */
#include <linux/mali/mali_utgard_profiling_events.h>

#endif /* __MALI_PROFILING_EVENTS_H__ */
