Merge branch 'master' into radar
[carl9170fw.git] / carlfw / include / fwdsc.h
1 /*
2  * carl9170 firmware - used by the ar9170 wireless device
3  *
4  * Firmware definition
5  *
6  * Copyright 2009-2011 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_txsq_desc txsq;
34 #ifdef CONFIG_CARL9170FW_WOL
35         struct carl9170fw_wol_desc  wol;
36 #endif /* CONFIG_CARL9170FW_WOL */
37         struct carl9170fw_motd_desc motd;
38 #ifdef CONFIG_CARL9170FW_RADAR
39         struct carl9170fw_radar_desc radar;
40 #endif /* CONFIG_CARL9170FW_RADAR */
41         struct carl9170fw_dbg_desc  dbg;
42         struct carl9170fw_last_desc last;
43 } __packed;
44
45 extern const struct carl9170_firmware_descriptor carl9170fw_desc;
46
47 static inline void __check_fw(void)
48 {
49         BUILD_BUG_ON(sizeof(carl9170fw_desc) & 0x3);
50         BUILD_BUG_ON(sizeof(carl9170fw_desc) > CARL9170FW_DESC_MAX_LENGTH);
51 }
52
53 #endif /* __CARL9170FW_FWDSC_H */