lkml.org 
[lkml]   [2013]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/30] ACPI / hotplug / PCI: Major rework + Thunderbolt workarounds
    Date
    Hi All,

    Now the series has been rebased on top of current linux-pm.git/linux-next
    and tested on two systems with Thunderbolt. Some changes have been made too. ->

    On Friday, July 12, 2013 01:34:20 AM Rafael J. Wysocki wrote:
    > Hi,
    >
    > I've made some progress with my ACPIPHP rework since I posted the series last
    > time and here goes an update.
    >
    > First off, the previous series was somewhat racy, which should be fixed now.
    > Apart from this there's quite some new material on top of the patches I posted
    > last time (or rather on top of their new versions) and I integrated the
    > Thunderbolt series from Mika with that. As a result,
    >
    > https://patchwork.kernel.org/patch/2817341/
    >
    > is required to be applied.
    >
    > Still untested, still based on 3.10 with ACPI+PM 3.11 material merged on top,
    > but this time I don't have any plans to add more patches to the series for the
    > time being. Also 3.11-rc1 should be out in a couple of days, so I'll be able
    > to integrate this work with the previous cleanups series from Gerry and myself
    > on top of it.
    >
    > I did my best not to change too much at a time and some steps add stuff that
    > is removed by the subsequent ones, so hopefully it is bisectable.
    >
    > If anyone finds something questionable or outright bogus in these patches,
    > please let me know before it's too late. ;-)
    >
    > [ 1/30] Make bus registration and unregistration symmetric. [Resend]
    > [ 2/30] Consolidate acpiphp_enumerate_slots(). [Resend]
    > [ 3/30] Fix error code path in register_slot(). [Resend]
    > [ 4/30] Introduce hotplug context objects for ACPI device objects corresponding
    > to PCI hotplug devices. [Update]
    > [ 5/30] Unified notify handler for hotplug events. [Update]
    > [ 6/30] Drop acpiphp_handle_to_bridge() and use context objects instead of it. [Update]
    > [ 7/30] Pass entire hotplug context objects (instead of their fields
    > individually) to event handling work functions. [Update]
    > [ 8/30] Merge hotplug event handling functions. [Update]
    > [ 9/30] Drop func field from struct acpiphp_bridge.
    > [10/30] Refactor slot allocation code in register_slot().
    > [11/30] Make acpiphp_enumerate_slots() to register all devices on the given bus
    > and install the notification handler for all of them.
    > [12/30] Drop sun field from struct acpiphp_slot.
    > [13/30] Use common slot count variable in register_slot().

    -> The one above has been dropped, because it might cause regressions to appear
    on some systems, but that's not a big deal.

    The numbering of the patches below has changed as a result, so the next one is
    [13/30] now and so on.

    > [14/30] Drop flags field from struct acpiphp_bridge.
    > [15/30] Embed function structure into struct acpiphp_context.
    > [16/30] Drop handle field from struct acpiphp_func.
    > [17/30] Drop handle field from struct acpiphp_bridge.
    > [18/30] Store parent bridge pointer in function objects and bus pointer in slot
    > objects.
    > [19/30] Rework ACPI namespace scanning and trimming routines.
    > [20/30] Drop redundant checks from check_hotplug_bridge().
    > [21/30] Consolidate slot disabling and ejecting
    > [22/30] Do not queue up event handling work items for non-hotplug events.
    > [23/30] Do not execute _PS0 and _PS3 directly.

    This one was fixed after Mika had reported a problem with it.

    > [24/30] Do not check SLOT_ENABLED in enable_device(). [Thunderbolt series]
    > [25/30] Allow slots without new devices to be rescanned. [Thunderbolt series]
    > [26/30] Check for new devices on enabled slots. [Thunderbolt series, TBD]

    This one was reworked to use acpi_bus_trim() on ACPI device objects
    corresponding to PCI devices being removed (it also uses _STA to check the
    status of those devices if available).

    > [27/30] Get rid of unused constands in acpiphp.h. [Thunderbolt series]
    > [28/30] Sanitize acpiphp_get_(latch)|(adapter)_status(). [Thunderbolt series]
    > [29/30] Redefine enable_device() and disable_device() (rename and change to void).
    > [30/30] Clean up the usage of bridge_mutex.

    The one above is [29/30] now and we have added one more patch:

    [30/30] Drop check_sub_bridges() which isn't necessary any more.

    The updated patches follow.

    If you don't hate this stuff, I'll put it into linux-next over the weekend for
    further testing.

    Thanks,
    Rafael


    --
    I speak only for myself.
    Rafael J. Wysocki, Intel Open Source Technology Center.


    \
     
     \ /
      Last update: 2013-07-18 05:41    [W:3.591 / U:0.636 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site