GNU Linux-libre 4.9.283-gnu1
[releases.git] / drivers / net / wireless / intersil / orinoco / hermes_dld.h
1 /*
2  * Copyright (C) 2007, David Kilroy
3  *
4  * The contents of this file are subject to the Mozilla Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License
7  * at http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11  * the License for the specific language governing rights and
12  * limitations under the License.
13  *
14  * Alternatively, the contents of this file may be used under the
15  * terms of the GNU General Public License version 2 (the "GPL"), in
16  * which case the provisions of the GPL are applicable instead of the
17  * above.  If you wish to allow the use of your version of this file
18  * only under the terms of the GPL and not to allow others to use your
19  * version of this file under the MPL, indicate your decision by
20  * deleting the provisions above and replace them with the notice and
21  * other provisions required by the GPL.  If you do not delete the
22  * provisions above, a recipient may use your version of this file
23  * under either the MPL or the GPL.
24  */
25 #ifndef _HERMES_DLD_H
26 #define _HERMES_DLD_H
27
28 #include "hermes.h"
29
30 int hermesi_program_init(struct hermes *hw, u32 offset);
31 int hermesi_program_end(struct hermes *hw);
32 int hermes_program(struct hermes *hw, const char *first_block, const void *end);
33
34 int hermes_read_pda(struct hermes *hw,
35                     __le16 *pda,
36                     u32 pda_addr,
37                     u16 pda_len,
38                     int use_eeprom);
39 int hermes_apply_pda(struct hermes *hw,
40                      const char *first_pdr,
41                      const void *pdr_end,
42                      const __le16 *pda,
43                      const void *pda_end);
44 int hermes_apply_pda_with_defaults(struct hermes *hw,
45                                    const char *first_pdr,
46                                    const void *pdr_end,
47                                    const __le16 *pda,
48                                    const void *pda_end);
49
50 size_t hermes_blocks_length(const char *first_block, const void *end);
51
52 #endif /* _HERMES_DLD_H */