diff options
author | Alois Schlögl <alois.schloegl@ist.ac.at> | 2012-09-17 19:22:52 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-17 19:45:28 -0700 |
commit | 2eae6bdc12f4e49b7f94f032b82d664dcf3881bc (patch) | |
tree | 15158b8c45927f10f964b11b538725bcf8e1a695 /drivers/staging/ced1401/machine.h | |
parent | 57991b6bfc2b0faafb7d42edbd1673903d76b853 (diff) |
Staging: add ced1401 USB driver
This was imported from the
http://pub.ist.ac.at/~schloegl/src/ced1401/.git git repo at the request
of Alois. The driver originally came from Cambridge Electronic Design
Ltd and was authored by Greg P Smith and others, but Alois did the
maintance work to get it into a semi-building state and pushed to get it
into the main kernel tree here.
Cc: Alois Schlögl <alois.schloegl@ist.ac.at>
Cc: Greg P. Smith <greg@ced.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/ced1401/machine.h')
-rw-r--r-- | drivers/staging/ced1401/machine.h | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/drivers/staging/ced1401/machine.h b/drivers/staging/ced1401/machine.h new file mode 100644 index 00000000000..af073790b94 --- /dev/null +++ b/drivers/staging/ced1401/machine.h @@ -0,0 +1,127 @@ +/***************************************************************************** +** +** machine.h +** +** Copyright (c) Cambridge Electronic Design Limited 1991,1992,2010 +** +** 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; either version 2 +** of the License, or (at your option) any later version. +** +** 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. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +** +** Contact CED: Cambridge Electronic Design Limited, Science Park, Milton Road +** Cambridge, CB6 0FE. +** www.ced.co.uk +** greg@ced.co.uk +** +** This file is included at the start of 'C' or 'C++' source file to define +** things for cross-platform/compiler interoperability. This used to deal with +** MSDOS/16-bit stuff, but this was all removed in Decemeber 2010. There are +** three things to consider: Windows, LINUX, mac OSX (BSD Unix) and 32 vs 64 +** bit. At the time of writing (DEC 2010) there is a consensus on the following +** and their unsigned equivalents: +** +** type bits +** char 8 +** short 16 +** int 32 +** long long 64 +** +** long is a problem as it is always 64 bits on linux/unix and is always 32 bits +** on windows. +** On windows, we define _IS_WINDOWS_ and one of WIN32 or WIN64. +** On linux we define LINUX +** On Max OSX we define MACOSX +** +*/ + +#ifndef __MACHINE_H__ +#define __MACHINE_H__ +#ifndef __KERNEL__ +#include <float.h> +#include <limits.h> +#endif + +/* +** The initial section is to identify the operating system +*/ +#if (defined(__linux__) || defined(_linux) || defined(__linux)) && !defined(LINUX) +#define LINUX 1 +#endif + +#if (defined(__WIN32__) || defined(_WIN32)) && !defined(WIN32) +#define WIN32 1 +#endif + +#if defined(__APPLE__) +#define MACOSX +#endif + +#if defined(_WIN64) +#undef WIN32 +#undef WIN64 +#define WIN64 1 +#endif + +#if defined(WIN32) || defined(WIN64) +#define _IS_WINDOWS_ 1 +#endif + +#if defined(LINUX) || defined(MAXOSX) + #define FAR + + typedef int BOOL; // To match Windows + typedef char * LPSTR; + typedef const char * LPCSTR; + typedef unsigned short WORD; + typedef unsigned int DWORD; + typedef unsigned char BYTE; + typedef BYTE BOOLEAN; + typedef unsigned char UCHAR; + #define __packed __attribute__((packed)) + typedef BYTE * LPBYTE; + #define HIWORD(x) (WORD)(((x)>>16) & 0xffff) + #define LOWORD(x) (WORD)((x) & 0xffff) +#endif + +#ifdef _IS_WINDOWS_ +#include <windows.h> +#define __packed +#endif + +/* +** Sort out the DllExport and DllImport macros. The GCC compiler has its own +** syntax for this, though it also supports the MS specific __declspec() as +** a synonym. +*/ +#ifdef GNUC + #define DllExport __attribute__((dllexport)) + #define DllImport __attribute__((dllimport)) +#endif + +#ifndef DllExport +#ifdef _IS_WINDOWS_ + #define DllExport __declspec(dllexport) + #define DllImport __declspec(dllimport) +#else + #define DllExport + #define DllImport +#endif +#endif /* _IS_WINDOWS_ */ + + +#ifndef TRUE + #define TRUE 1 + #define FALSE 0 +#endif + +#endif |