13 Jan, 2012

1 commit


17 Jul, 2011

1 commit

  • Structs battery_file, acpi_dock_ops, file_operations,
    thermal_cooling_device_ops, thermal_zone_device_ops, kernel_param_ops
    are not changed in runtime. It is safe to make them const.
    register_hotplug_dock_device() was altered to take const "ops" argument
    to respect acpi_dock_ops' const notion.

    Signed-off-by: Vasiliy Kulikov
    Acked-by: Jeff Garzik
    Signed-off-by: Len Brown

    Vasiliy Kulikov
     

12 Jan, 2011

1 commit

  • Some function and variable names are renamed to be consistent with
    ACPICA code base.

    acpi_raw_enable_gpe -> acpi_ev_add_gpe_reference
    acpi_raw_disable_gpe -> acpi_ev_remove_gpe_reference
    acpi_gpe_can_wake -> acpi_setup_gpe_for_wake
    acpi_gpe_wakeup -> acpi_set_gpe_wake_mask
    acpi_update_gpes -> acpi_update_all_gpes
    acpi_all_gpes_initialized -> acpi_gbl_all_gpes_initialized
    acpi_handler_info -> acpi_gpe_handler_info
    ...

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     

27 Oct, 2010

1 commit


20 Oct, 2010

1 commit

  • find_dock and find_bay are only called by dock_init which lives in
    .init.text dock_add is only called by find_dock and find_bay. So all
    three functions can be moved to .init.text, too.

    This fixes:

    WARNING: vmlinux.o(.text+0x2134b7): Section mismatch in reference from the function dock_add() to the function .init.text:platform_device_register_resndata()
    The function dock_add() references
    the function __init platform_device_register_resndata().
    This is often because dock_add lacks a __init
    annotation or the annotation of platform_device_register_resndata is wrong.

    for a build with unset CONFIG_MODULES.

    Signed-off-by: Uwe Kleine-König
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Len Brown

    Uwe Kleine-König
     

25 Sep, 2010

1 commit

  • The current ACPI GPEs initialization code has a problem that it
    enables some GPEs pointed to by device _PRW methods, generally
    intended for signaling wakeup events (system or device wakeup).
    These GPEs are then almost immediately disabled by the ACPI namespace
    scanning code with the help of acpi_gpe_can_wake(), but it would be
    better not to enable them at all until really necessary.

    Modify the initialization of GPEs so that the ones that have
    associated _Lxx or _Exx methods and are not pointed to by any _PRW
    methods will be enabled after the namespace scan is complete.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     

07 Apr, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

23 Mar, 2010

1 commit


08 Mar, 2010

1 commit


16 Feb, 2010

1 commit

  • Commit fe06fba2 (ACPI: dock: add struct dock_station * directly
    to platform device data) changed dock_add() to use the
    platform_device_register_data() API.

    We passed that interface a stack variable, which is kmemdup'ed
    and assigned to the device's platform_data pointer.

    Unfortunately, whatever random garbage is in the stack variable
    gets coped during the kmemdup, and that leads to broken behavior.

    Explicitly zero out the structure before passing it to the API.

    This fixes the T41 docking button issue:
    http://bugzilla.kernel.org/show_bug.cgi?id=15000

    Cc: stable@kernel.org
    Reported-by: Chris Mason
    Signed-off-by: Alex Chiang
    Signed-off-by: Len Brown

    Alex Chiang
     

09 Feb, 2010

1 commit

  • In particular, several occurances of funny versions of 'success',
    'unknown', 'therefore', 'acknowledge', 'argument', 'achieve', 'address',
    'beginning', 'desirable', 'separate' and 'necessary' are fixed.

    Signed-off-by: Daniel Mack
    Cc: Joe Perches
    Cc: Junio C Hamano
    Signed-off-by: Jiri Kosina

    Daniel Mack
     

16 Dec, 2009

6 commits


25 Nov, 2009

1 commit

  • The existing interface only has a pre-order callback. This change
    adds an additional parameter for a post-order callback which will
    be more useful for bus scans. ACPICA BZ 779.

    Also update the external calls to acpi_walk_namespace.

    http://www.acpica.org/bugzilla/show_bug.cgi?id=779

    Signed-off-by: Lin Ming
    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Lin Ming
     

04 Nov, 2009

1 commit


03 Oct, 2009

1 commit


19 Sep, 2009

1 commit


29 Aug, 2009

1 commit

  • Linux/ACPI core files using internal.h all PREFIX "ACPI: ",
    however, not all ACPI drivers use/want it -- and they
    should not have to #undef PREFIX to define their own.

    Add GPL commment to internal.h while we are there.

    This does not change any actual console output,
    asside from a whitespace fix.

    Signed-off-by: Len Brown

    Len Brown
     

27 Aug, 2009

1 commit

  • Completed a major update for the acpi_get_object_info external interface.
    Changes include:
    - Support for variable, unlimited length HID, UID, and CID strings
    - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
    - Call the _SxW power methods on behalf of a device object
    - Determine if a device is a PCI root bridge
    - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
    These changes will require an update to all callers of this interface.
    See the ACPICA Programmer Reference for details.

    Also, update all invocations of acpi_get_object_info interface

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     

05 Apr, 2009

1 commit


04 Apr, 2009

1 commit

  • dock_remove() calls kfree() on dock_station so we should use
    list_for_each_entry_safe() to avoid dereferencing freed memory.

    Found by smatch (http://repo.or.cz/w/smatch.git/). Compile tested.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Len Brown

    Dan Carpenter
     

25 Mar, 2009

1 commit

  • This patch implements uevent suppress in kobject and removes it
    from struct device, based on the following ideas:

    1,Uevent sending should be one attribute of kobject, so suppressing it
    in kobject layer is more natural than in device layer. By this way,
    we can do it for other objects embedded with kobject.

    2,It may save several bytes for each instance of struct device.(On my
    omap3(32bit ARM) based box, can save 8bytes per device object)

    This patch also introduces dev_set|get_uevent_suppress() helpers to
    set and query uevent_suppress attribute in case to help kobject
    as private part of struct device in future.

    [This version is against the latest driver-core patch set of Greg,please
    ignore the last version.]

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     

07 Feb, 2009

3 commits


23 Oct, 2008

1 commit


11 Oct, 2008

2 commits


24 Sep, 2008

7 commits

  • add a sysfs file to present dock type. Suggested by Holger.

    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    Shaohua Li
     
  • an ATA bay can be in a dock and itself can be ejected separately.
    This patch handles such eject bay. Found by Holger.

    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    Shaohua Li
     
  • dock's uevent reported itself, not ata. It might be difficult to find an
    ata device just according to a dock. This patch introduces docking ops
    for each device in a dock. when docking, dock driver can send device
    specific uevent. This should help dock station too (not just bay)

    Signed-off-by: Shaohua Li
    Acked-by: Tejun Heo
    Signed-off-by: Len Brown

    Shaohua Li
     
  • dock driver can handle ata(bay) hotplug now. dock driver already handles
    _EJ0 and _STA, so remove them. Also libata doesn't need register
    notification handler anymore.

    Signed-off-by: Shaohua Li
    Acked-by: Tejun Heo
    Signed-off-by: Len Brown

    Shaohua Li
     
  • The hotplug notification handler and drivers' notification handler all
    run in one workqueue. Before hotplug removes an acpi device, the
    device driver's notification handler is already be recorded to run just
    after global notification handler. After hotplug notification handler
    runs, acpica will notice a NULL notification handler and crash.

    So now we run run hotplug in another workqueue and wait
    for all acpi notication handlers finish.
    This was found in battery hotplug, but actually all
    hotplug can be affected.

    Signed-off-by: Zhang Rui
    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    Zhang Rui
     
  • The battery driver already registers notification handler.
    To avoid registering notification handler again,
    introduce a notifier chain in global system notifier handler
    and use it in dock driver.

    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    Shaohua Li
     
  • Make the dock driver support bay and battery hotplug.
    They are all regarded as dock, so handling can be unified.

    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    Shaohua Li