This patch uses abstract file IO and AcpiLogError() APIs to enhance
CmGetFileSize() so that applications that invoke this API could have
portability improved.
With actual references added to abstract file IO and AcpiLogError(), the
applications need to link utlibcfs.o, utdebug.o, utexcep.o, utmath.o,
utprint.o and utxferror.o.
Though it is required to add AcpiOsInitialize() invocations if an
application starts to use AcpiLogError(), this doesn't appear in this
patch. A previous patch in the same series should have already added
AcpiOsInitialize() invocations for all applications. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
This patch is mainly for acpidump where there are redundant
AcpiOsPrintf()/AcpiOsVprintf() stubs implemented. This patch cleans up such
specific implementation by linking acpidump to osunixxf.c/oswinxf.c.
To make AcpiOsPrintf() exported by osunixxf.c/oswinxf.c to behave as the
old acpidump specific ones, applications need to:
1. Initialize AcpiGbl_DbOutputFlags to ACPI_DB_CONSOLE_OUTPUT.
This is automatically done by ACPI_INIT_GLOBAL(), applications need to
link utglobal.o to utilize this mechanism.
2. Initialize AcpiGbl_OutputFile to stdout.
For GCC, assigning stdout to AcpiGbl_OutputFile using ACPI_INIT_GLOBAL()
is not possible as stdout is not a constant in GCC environment. As an
alternative solution, stdout assignment is put into AcpiOsInitialize().
Thus AcpiOsInitialize() need to be invoked very early by the
applications to initialize the default output of AcpiOsPrintf().
Note that acpidump has been released to Linux kernel, after adding
osunixxf.c to generate/unix/acpidump/Makefile, libacpica.sh also need to be
updated to release osunixxf.c to Linux kernel. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
This patch updates release automation with new structures and files that
are used by the newly released acpidump. Lv Zheng.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
This change add support to invoke necessary conversions on patch
descriptions in the release process so that human intervention can be reduced.
After applying, data types/structures and mixed case words will be
converted. It reduces human intervention greatly but we still need to
check the URL address fields (From/Signed-off-by/Buglink/Reported-by/
Tested-by/Original-by/etc.) after conversion as there are low
possibilities that they are matched to the target conversion types.
Lv Zheng.
As AcpiSrc supports the case that the input/output files are the same file,
ACPICA_TMP is not useful for divergence.sh any more.
This patch cleans up ACPICA_TMP by invoking new linuxize_format() function
provided by libacpica.sh. A similar cleanup is also done in gen-repo.sh in
this patch. Lv Zheng.
Fixes some issues detected by the divergences check step of the ACPICA
20130927 release QA process:
1. AcpiSrc -i mode is not executed for divergence.sh.
2. 2 files containing ACPI_EXPORT_SYMBOL are not marked with
EXPORT_ACPI_INTERFACES.
Lv Zheng.
All functions defined for the linuxizing scripts lack "local"
declarations. This patch adds "local" for all such variables. No
functional changes. Lv Zheng.
During the linuxizing process, some extra white spaces are added by the
"indent" program at the beginning of the line which is an invocation of a
macro and there is no ";" at the end of the line.
This patch adds new mode to AcpiSrc to remove extra spaces inserted before
invoking such macros and add an empty line between the invocations of such
macros (like the other function declarations). This new mode is executed
after executing "indent" during the Linux release process.
The affected macros and files are:
1. ACPI_HW_DEPENDENT_RETURN (acpixf.h):
This macro is used as a wrapper for hardware dependent APIs to offer a
stub when the reduced hardware is configured during compilation.
2. ACPI_EXPORT_SYMBOL (utglobal.c):
This macro is used by Linux to export symbols to be found by Linux
modules. All such invocations are well formatted except those exported
as global variables.
This can help to reduce the source code differences between Linux and
ACPICA, and also help to automate the release process. Lv Zheng.
It is reported by kernel build test systems that all ACPICA linuxized
files have incorrect label indentation. This patch changes default indent
option to fix this bug. Lv Zheng.
This patch includes the following fixes:
1. removes non-Linux header files from release process.
2. makes the path names in the generated divergences diff to be relative
path names.
These changes affect the scripts in the generate/linux folder. Lv Zheng.
This patch removes deprecated generate/linux/patches folder, moves useful
release scripts to the generate/linux folder, reduces code redundancy by
creating a script library libacpica.sh file under generate/linux folder.
Lv Zheng.
The make-patches.pl will generate patches with broken patch descriptions. This
is because the script is written to generate Linuxized patches for CVS commits.
The complexity in the make-patches.pl is not needed as GIT has offered many
features to let the patch descriptions to be extracted correctly from the
command line.
The new make-patches.sh script invokes git-extract.sh to provide equivalent
functionalities as make-patches.pl for ACPICA release. This patch also modifies
the git-extract.sh to allow generation of patches that can be used as a part of
an ACPICA release patch set. Lv Zheng.
The enhancement of AcpiSrc generation per-commit could not meet
all requirements of the monthly ACPICA -> Linux release process.
This patch allows the per-commit generation to be selected by the
users. Lv Zheng.
Linuxized patches lack patch headers, thus can not be
directly applied to the Linux source codes. This patch updates
the scripts to allow patch headers to be generated for the
linuxized patches. Lv Zheng.
The functions for the original/legacy sleep/wake registers are
in hwsleep.c, and the functions for the new extended FADT V5
sleep registers are in hwesleep.c
Add dependencies for ACPICA and local headers.
Simplify by using source directory search via "vpath" in order
to eliminate one explicit rule per object/source file.