xref: /dflybsd-src/sys/dev/drm/include/linux/mod_devicetable.h (revision 3f2dd94a569761201b5b0a18b2f697f97fe1b9dc)
1dbd91184SFrançois Tigeot /*
29f4ca867SFrançois Tigeot  * Copyright (c) 2015-2016 François Tigeot
3dbd91184SFrançois Tigeot  * All rights reserved.
4dbd91184SFrançois Tigeot  *
5dbd91184SFrançois Tigeot  * Redistribution and use in source and binary forms, with or without
6dbd91184SFrançois Tigeot  * modification, are permitted provided that the following conditions
7dbd91184SFrançois Tigeot  * are met:
8dbd91184SFrançois Tigeot  * 1. Redistributions of source code must retain the above copyright
9dbd91184SFrançois Tigeot  *    notice unmodified, this list of conditions, and the following
10dbd91184SFrançois Tigeot  *    disclaimer.
11dbd91184SFrançois Tigeot  * 2. Redistributions in binary form must reproduce the above copyright
12dbd91184SFrançois Tigeot  *    notice, this list of conditions and the following disclaimer in the
13dbd91184SFrançois Tigeot  *    documentation and/or other materials provided with the distribution.
14dbd91184SFrançois Tigeot  *
15dbd91184SFrançois Tigeot  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16dbd91184SFrançois Tigeot  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17dbd91184SFrançois Tigeot  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18dbd91184SFrançois Tigeot  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19dbd91184SFrançois Tigeot  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20dbd91184SFrançois Tigeot  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21dbd91184SFrançois Tigeot  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22dbd91184SFrançois Tigeot  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23dbd91184SFrançois Tigeot  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24dbd91184SFrançois Tigeot  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25dbd91184SFrançois Tigeot  */
26dbd91184SFrançois Tigeot 
27dbd91184SFrançois Tigeot #ifndef _LINUX_MOD_DEVICETABLE_H_
28dbd91184SFrançois Tigeot #define _LINUX_MOD_DEVICETABLE_H_
29dbd91184SFrançois Tigeot 
3082437db0SFrançois Tigeot #include <linux/types.h>
31*3f2dd94aSFrançois Tigeot #include <linux/uuid.h>
32*3f2dd94aSFrançois Tigeot 
3382437db0SFrançois Tigeot typedef unsigned long kernel_ulong_t;
3482437db0SFrançois Tigeot 
359f4ca867SFrançois Tigeot #define I2C_NAME_SIZE	20
369f4ca867SFrançois Tigeot 
37dbd91184SFrançois Tigeot #define DMI_MATCH(a, b)		{(a), (b)}
38dbd91184SFrançois Tigeot #define DMI_EXACT_MATCH(a, b)	{(a), (b)}
39dbd91184SFrançois Tigeot 
40be348e9fSFrançois Tigeot struct dmi_strmatch {
41be348e9fSFrançois Tigeot 	unsigned char slot;
42be348e9fSFrançois Tigeot 	char substr[79];
43be348e9fSFrançois Tigeot };
44be348e9fSFrançois Tigeot 
45be348e9fSFrançois Tigeot struct dmi_system_id {
46be348e9fSFrançois Tigeot         int (*callback)(const struct dmi_system_id *);
47be348e9fSFrançois Tigeot         const char *ident;
48be348e9fSFrançois Tigeot         struct dmi_strmatch matches[4];
49be348e9fSFrançois Tigeot };
50be348e9fSFrançois Tigeot 
51be348e9fSFrançois Tigeot int dmi_check_system(const struct dmi_system_id *);
52be348e9fSFrançois Tigeot 
53dbd91184SFrançois Tigeot #endif	/* _LINUX_MOD_DEVICETABLE_H_ */
54