2009-08-14 23:13:46 +04:00
/* sfi_core.h Simple Firmware Interface, internal header */
/*
This file is provided under a dual BSD / GPLv2 license . When using or
redistributing this file , you may do so under either license .
GPL LICENSE SUMMARY
Copyright ( c ) 2009 Intel Corporation . All rights reserved .
This program is free software ; you can redistribute it and / or modify
it under the terms of version 2 of the GNU General Public License as
published by the Free Software Foundation .
This program is distributed in the hope that it will be useful , but
WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 51 Franklin St - Fifth Floor , Boston , MA 02110 - 1301 USA .
The full GNU General Public License is included in this distribution
in the file called LICENSE . GPL .
BSD LICENSE
Copyright ( c ) 2009 Intel Corporation . All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions
are met :
* Redistributions of source code must retain the above copyright
notice , this list of conditions and the following disclaimer .
* Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in
the documentation and / or other materials provided with the
distribution .
* Neither the name of Intel Corporation nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
" AS IS " AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL ,
SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT
LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE ,
DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
*/
2011-07-30 05:09:12 +04:00
# include <linux/sysfs.h>
2009-08-14 23:13:46 +04:00
struct sfi_table_key {
char * sig ;
char * oem_id ;
char * oem_table_id ;
} ;
2010-05-26 07:28:08 +04:00
/* sysfs interface */
struct sfi_table_attr {
struct bin_attribute attr ;
char name [ 8 ] ;
} ;
2009-08-14 23:13:46 +04:00
# define SFI_ANY_KEY { .sig = NULL, .oem_id = NULL, .oem_table_id = NULL }
extern int __init sfi_acpi_init ( void ) ;
extern struct sfi_table_header * sfi_check_table ( u64 paddr ,
struct sfi_table_key * key ) ;
struct sfi_table_header * sfi_get_table ( struct sfi_table_key * key ) ;
extern void sfi_put_table ( struct sfi_table_header * table ) ;
2010-05-26 07:28:08 +04:00
extern struct sfi_table_attr __init * sfi_sysfs_install_table ( u64 pa ) ;
extern void __init sfi_acpi_sysfs_init ( void ) ;