Merge branch 'x86/asm' into x86/urgent
[pandora-kernel.git] / drivers / scsi / bfa / bfad_im_compat.h
1 /*
2  * Copyright (c) 2005-2009 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17
18 #ifndef __BFAD_IM_COMPAT_H__
19 #define __BFAD_IM_COMPAT_H__
20
21 extern u32 *bfi_image_buf;
22 extern u32 bfi_image_size;
23
24 extern struct device_attribute *bfad_im_host_attrs[];
25 extern struct device_attribute *bfad_im_vport_attrs[];
26
27 u32 *bfad_get_firmware_buf(struct pci_dev *pdev);
28 u32 *bfad_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
29                         u32 *bfi_image_size, char *fw_name);
30
31 static inline u32 *
32 bfad_load_fwimg(struct pci_dev *pdev)
33 {
34         return bfad_get_firmware_buf(pdev);
35 }
36
37 static inline void
38 bfad_free_fwimg(void)
39 {
40         if (bfi_image_ct_size && bfi_image_ct)
41                 vfree(bfi_image_ct);
42         if (bfi_image_cb_size && bfi_image_cb)
43                 vfree(bfi_image_cb);
44 }
45
46 #endif