/* * This file is part of the coreboot project. * * Copyright 2014 Google Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef __TEGRA_MISC_TYPES_H__ #define __TEGRA_MISC_TYPES_H__ #define EFAULT 1 #define EINVAL 2 #define ETIMEDOUT 3 #define ENOSPC 4 #define ENOSYS 5 #define EPTR 6 #define IS_ERR_PTR(ptr) \ (ptr == (void *)-EPTR) #ifndef bool #define bool int #endif #ifndef false #define false 0 #endif #ifndef true #define true 1 #endif #ifndef container_of /** * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the member. * @type: the type of the container struct this is embedded in. * @member: the name of the member within the struct. * */ #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) #endif #endif /* __TEGRA_MISC_TYPES_H__ */