upload tizen1.0 source
[kernel/linux-2.6.36.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 struct device_attribute *bfad_im_host_attrs[];
22 extern struct device_attribute *bfad_im_vport_attrs[];
23
24 u32 *bfad_get_firmware_buf(struct pci_dev *pdev);
25 u32 *bfad_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
26                         u32 *bfi_image_size, char *fw_name);
27
28 static inline u32 *
29 bfad_load_fwimg(struct pci_dev *pdev)
30 {
31         return bfad_get_firmware_buf(pdev);
32 }
33
34 static inline void
35 bfad_free_fwimg(void)
36 {
37         if (bfi_image_ct_fc_size && bfi_image_ct_fc)
38                 vfree(bfi_image_ct_fc);
39         if (bfi_image_ct_cna_size && bfi_image_ct_cna)
40                 vfree(bfi_image_ct_cna);
41         if (bfi_image_cb_fc_size && bfi_image_cb_fc)
42                 vfree(bfi_image_cb_fc);
43 }
44
45 #endif