carl9170 firmware: integrate firmware descriptors
[carl9170fw.git] / carlfw / include / fwdsc.h
1 /*
2  * carl9170 firmware - used by the ar9170 wireless device
3  *
4  * Firmware definition
5  *
6  * Copyright 2009, 2010 Christian Lamparter <chunkeey@googlemail.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21  */
22
23 #ifndef __CARL9170FW_FWDSC_H
24 #define __CARL9170FW_FWDSC_H
25
26 #include "config.h"
27 #include "compiler.h"
28 #include "types.h"
29 #include "fwdesc.h"
30
31 struct carl9170_firmware_descriptor {
32         struct carl9170fw_otus_desc otus;
33         struct carl9170fw_motd_desc motd;
34         struct carl9170fw_dbg_desc  dbg;
35         struct carl9170fw_last_desc last;
36 } __packed;
37
38 extern const struct carl9170_firmware_descriptor carl9170fw_desc;
39
40 static inline void __check_fw(void)
41 {
42         BUILD_BUG_ON(sizeof(carl9170fw_desc) & 0x3);
43         BUILD_BUG_ON(sizeof(carl9170fw_desc) > CARL9170FW_DESC_MAX_LENGTH);
44 }
45
46 #endif /* __CARL9170FW_FWDSC_H */