path: root/drivers/sfi
AgeCommit message (Collapse)Author
2014-12-03SFI: fix compiler warningsAndy Shevchenko
drivers/sfi/sfi_core.c:164:26: warning: no previous prototype for ‘sfi_map_table’ [-Wmissing-prototypes] drivers/sfi/sfi_core.c:192:6: warning: no previous prototype for ‘sfi_unmap_table’ [-Wmissing-prototypes] Signed-off-by: Andy Shevchenko <> Signed-off-by: Len Brown <>
2013-12-07SFI / ACPI: Fix warnings reported during builds with W=1Lv Zheng
The following warnings can be seen in W=1 builds, because the original sfi_acpi.[ch] header inclusions are incorrect: include/linux/sfi_acpi.h:72:2: error: implicit declaration of function 'acpi_table_parse' [-Werror=implicit-function-declaration] drivers/sfi/sfi_acpi.c:154:5: warning: no previous prototype for 'sfi_acpi_table_parse' [-Wmissing-prototypes] Fix linux/sfi_acpi.h and modify drivers/sfi/sfi_acpi.c accordingly. Reported-by: Andy Shevchenko <> Signed-off-by: Lv Zheng <> [rjw: Subject and changelog] Signed-off-by: Rafael J. Wysocki <>
2013-12-07ACPI: Clean up inclusions of ACPI header filesLv Zheng
Replace direct inclusions of <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h>, which are incorrect, with <linux/acpi.h> inclusions and remove some inclusions of those files that aren't necessary. First of all, <acpi/acpi.h>, <acpi/acpi_bus.h> and <acpi/acpi_drivers.h> should not be included directly from any files that are built for CONFIG_ACPI unset, because that generally leads to build warnings about undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set, <linux/acpi.h> includes those files and for CONFIG_ACPI unset it provides stub ACPI symbols to be used in that case. Second, there are ordering dependencies between those files that always have to be met. Namely, it is required that <acpi/acpi_bus.h> be included prior to <acpi/acpi_drivers.h> so that the acpi_pci_root declarations the latter depends on are always there. And <acpi/acpi.h> which provides basic ACPICA type declarations should always be included prior to any other ACPI headers in CONFIG_ACPI builds. That also is taken care of including <linux/acpi.h> as appropriate. Signed-off-by: Lv Zheng <> Cc: Greg Kroah-Hartman <> Cc: Matthew Garrett <> Cc: Tony Luck <> Cc: "H. Peter Anvin" <> Acked-by: Bjorn Helgaas <> (drivers/pci stuff) Acked-by: Konrad Rzeszutek Wilk <> (Xen stuff) Signed-off-by: Rafael J. Wysocki <>
2011-10-31drivers/sfi: sfi_acpi.c needs sysfs.hRandy Dunlap
sfi_acpi.c needs to include linux/sysfs.h for data types. drivers/sfi/sfi_core.h:66: error: field 'attr' has incomplete type drivers/sfi/sfi_acpi.c:179: warning: 'struct kobject' declared inside parameter list drivers/sfi/sfi_acpi.c:179: warning: its scope is only this definition or declaration, which is probably not what you want drivers/sfi/sfi_acpi.c:182: warning: type defaults to 'int' in declaration of '__mptr' drivers/sfi/sfi_acpi.c:182: warning: initialization from incompatible pointer type Signed-off-by: Randy Dunlap <> Signed-off-by: Paul Gortmaker <>
2011-03-31Fix common misspellingsLucas De Marchi
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <>
2011-01-11SFI: use ioremap_cache() instead of ioremap()Len Brown
We copied ACPI's oversight of using ioremap() and creating non-cached table mappings when we should have been using ioremap_cache(). Signed-off-by: Len Brown <>
2010-06-01SFI: do not return freed pointerDan Carpenter
We never actually use the return value of sfi_sysfs_install_table() but it still seems wrong to return a freed pointer. Signed-off-by: Dan Carpenter <> Signed-off-by: Len Brown <>
2010-05-27SFI: add sysfs interface for SFI tables.Feng Tang
Analogous to ACPI's /sys/firmware/acpi/tables/... create /sys/firmware/sfi/tables/ The tables are primariy for the kernel, but sometimes it is useful for user-space to be able to read them. Signed-off-by: Feng Tang <> Signed-off-by: Len Brown <>
2010-05-25SFI: add support for v0.81 specFeng Tang
There are 2 major changes from v0.81 to v0.7: 1. Consolidating the SPIB/I2CB tables into a new DEVS table, which is more expandable and can support other bus types than spi/i2c. 2. Creating a new GPIO table, which list all the GPIO pins used in the platform. However, to avoid breaking current platforms who use SFI v0.7 version firmware, the definitions for SPIB/I2CB will still be kept for a while Signed-off-by: Feng Tang <> Signed-off-by: Len Brown <>
2009-10-03SFI: remove __init from sfi_verify_tableArjan van de Ven
sfi_verify_table() is called at runtime, and thus cannot be __init Signed-off-by: Arjan van de Ven <> Signed-off-by: Len Brown <>
2009-10-03SFI: fix section mismatch warnings in sfi_core.cRakib Mullick
The function sfi_map_memory/sfi_unmap_memory uses early_ioremap/early_iounmap respectively, which refers to a __init function. And function sfi_check_table also refers to a __init function sfi_verify_table. Since the references are valid, so use __ref to get rid of the warnings. We were warned by the following warnings: LD vmlinux.o MODPOST vmlinux.o WARNING: vmlinux.o(.text+0xb6ba3a): Section mismatch in reference from the function sfi_map_memory() to the function .init.text:early_ioremap() The function sfi_map_memory() references the function __init early_ioremap(). This is often because sfi_map_memory lacks a __init annotation or the annotation of early_ioremap is wrong. WARNING: vmlinux.o(.text+0xb6bab6): Section mismatch in reference from the function sfi_unmap_memory() to the function .init.text:early_iounmap() The function sfi_unmap_memory() references the function __init early_iounmap(). This is often because sfi_unmap_memory lacks a __init annotation or the annotation of early_iounmap is wrong. WARNING: vmlinux.o(.text+0xb6be30): Section mismatch in reference from the function sfi_check_table() to the function .init.text:sfi_verify_table() The function sfi_check_table() references the function __init sfi_verify_table(). This is often because sfi_check_table lacks a __init annotation or the annotation of sfi_verify_table is wrong. Signed-off-by: Rakib Mullick <> Signed-off-by: Andrew Morton <> Signed-off-by: Len Brown <>
2009-09-15SFI: remove unneeded includesFeng Tang
Signed-off-by: Feng Tang <> Signed-off-by: Len Brown <>
2009-08-28SFI: add capability to parse ACPI tablesFeng Tang
Extend SFI to access standard ACPI tables. (eg. the PCI MCFG) using sfi_acpi_table_parse(). Note that this is _not_ a hybrid ACPI + SFI mode. The platform boots in either ACPI mode or SFI mode. SFI runs only with acpi_disabled=1, which can be set at build-time via CONFIG_ACPI=n, or at boot time by the failure to find ACPI platform support. So this extension simply allows SFI-platforms to re-use existing standard table formats that happen to be defined to live in ACPI envelopes. Signed-off-by: Feng Tang <> Signed-off-by: Len Brown <>
2009-08-28SFI: add platform-independent core supportFeng Tang
drivers/sfi/sfi_core.c contains the generic SFI implementation. It has a private header, sfi_core.h, for its own use and the private use of future files in drivers/sfi/ Signed-off-by: Feng Tang <> Signed-off-by: Len Brown <>
2009-08-28SFI: Simple Firmware Interface - MAINTAINERS, KconfigLen Brown
CONFIG_SFI=y enables the kernel to boot and run optimally on platforms that support the Simple Firmware Interface. Thanks to Jacob Pan for prototyping the initial Linux SFI support, and to Feng Tang for Linux bring-up and debug both in emulation and on Moorestown hardware. See for more information on SFI. Signed-off-by: Len Brown <>