linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] ACPICA: Reduce source code differences between Linux and ACPICA.
@ 2012-12-31  0:23 Lv Zheng
  2012-12-31  0:25 ` [PATCH 1/3] ACPICA: Cleanup PM_TIMER_FREQUENCY definition Lv Zheng
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Lv Zheng @ 2012-12-31  0:23 UTC (permalink / raw)
  To: Len Brown, Rafael J Wysocki, Robert Moore; +Cc: linux-acpi, devel, Lv Zheng

This patch set is based on the ACPICA 20121220 release.

This patch set has passed basic build and boot tests.

The source code differences between Linux and ACPICA can be summarized as
follows:
1. 1976 Lines (70.5 Kbytes) before applying the patch set;
2. 1796 Lines (64.8 Kbytes) after applying the patch set.

Please review.

Lv Zheng (3):
  ACPICA: Cleanup PM_TIMER_FREQUENCY definition.
  ACPICA: Cleanup table handler naming conflicts.
  ACPICA: Add new statistics interface.

 drivers/acpi/acpica/acglobal.h |    4 +++-
 drivers/acpi/acpica/dsmethod.c |    1 +
 drivers/acpi/acpica/evsci.c    |    1 +
 drivers/acpi/acpica/tbxface.c  |    4 ++--
 drivers/acpi/acpica/utglobal.c |   11 +++++++++++
 drivers/acpi/acpica/utxface.c  |   38 ++++++++++++++++++++++++++++++++++++++
 drivers/acpi/numa.c            |    2 +-
 drivers/acpi/processor_idle.c  |    5 +++--
 drivers/acpi/tables.c          |    6 +++---
 include/acpi/acpixf.h          |    6 ++++--
 include/acpi/actypes.h         |   16 +++++++++++-----
 include/linux/acpi.h           |   15 ++++++++++-----
 12 files changed, 88 insertions(+), 21 deletions(-)

---

         Background of "ACPICA <-> Linux Divergences Fixes"

The divergences fixes are meant to make the ACPICA release engineering work
easier. More jobs can be done by the scripts running on the machines without
the human intervention if the divergences can be controlled down to an
acceptable level.

The fixes will use the following two steps to reduce the divergences:
1. Fix the "cosmetic" stuff:
   The ACPICA release engineers will focus on the divergences that relate
   to the "commentary", "indentation", "coding styles", "debug messages",
   "code block offsetting", etc. in this step.
   Such divergences are fixed so that the "useful" stuff can rise to the
   surface. Most of the fixes do not affect the generation of the Linux
   binary, some of them do not affect the functionality of the generated
   Linux binary. Since introducing such fixes to Linux is low risk and some
   release patches depend on the divergences fixes, the work might be done
   by the ACPICA release engineers using a reduced community process. Such
   fixes will be attached on top of the release patch set directly during
   the release work.
   Such "cosmetic" fixes are expected to be done in 2-4 merge cycles.
2. Fix the "useful" stuff:
   Either by porting the Linux bug fixes to the ACPICA.
   Or by merging the lost ACPICA features to the Linux.
   These patches will be sent to community one by one, awaiting comments,
   then get merged. They will not appear in the release patch set.

Every "cosmetic" divergences fix patch lists the line number of the
divergences reduced by the patch.
The divergences result is generated by the following steps:
---------------------------------------------------------------------------
1. pop the patch from the kernel
2. divergence.sh -s <kernel source tree>
3. push the patch to the kernel
4. divergence.sh -s <kernel source tree>
---------------------------------------------------------------------------
Where the divergence.sh can be found in the generate/linux folder of the
acpica project source tree.

If a "cosmetic" divergences fix patch does not affect the generation of the
Linux binary, you can find a binary comparision result in the patch
description.
The comparision result is generated by the following steps:
---------------------------------------------------------------------------
1. pop the patch and build the kernel
2. objcopy -R .notes binary1 > binary2
3. objdump -d binary2 > before.dump
4. push the patch and build the kernel
5. objcopy -R .notes binary1 > binary2
6. objdump -d binary2 > after.dump
7. diff -u before.dump after.dump
---------------------------------------------------------------------------
Where:
1. Basically, binary1 will be "drivers/acpi/acpica/acpi.o". The same
   process will be executed on "vmlinux" for confirmation if there are
   header file changes that will seriously affect the generation of the
   vmlinux.
2. The build step is done by an i386 toolchain so we need to delete .note
   section which belongs to the .text section to avoid confusions.

If you have concerns about such fixes, please do not send your blame to the
code authors or the subsystem maintainers as they have done the right
things to help improve the Linux or the ACPICA. Please send your blame to
the following mail address whose owner is the culprit doing the bad things
(ex. introducing the mistakes) during the release engineering work.
---------------------------------------------------------------------------
Lv "ZETALOG" Zheng <lv.zheng@intel.com>
---------------------------------------------------------------------------

-- 
1.7.10


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-12-31  0:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-31  0:23 [PATCH 0/3] ACPICA: Reduce source code differences between Linux and ACPICA Lv Zheng
2012-12-31  0:25 ` [PATCH 1/3] ACPICA: Cleanup PM_TIMER_FREQUENCY definition Lv Zheng
2012-12-31  0:26 ` [PATCH 2/3] ACPICA: Cleanup table handler naming conflicts Lv Zheng
2012-12-31  0:26 ` [PATCH 3/3] ACPICA: Add new statistics interface Lv Zheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).