/*
 * Copyright (C) 2012 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_UK_TYPES_H__
#define __MALI_UK_TYPES_H__

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

#endif /* __MALI_UK_TYPES_H__ */
