<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in acpiphp_core.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>33883eed - PCI: acpiphp: Allow built-in drivers for Attention Indicators</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#33883eed</link>
        <description>PCI: acpiphp: Allow built-in drivers for Attention IndicatorsSince the introduction of the attention callback in acpiphp, a non-zerostruct module *owner has been required in acpiphp_register_attention(). Theintent seemed to be that the core code could hold a refcount on the modulewhile invoking a callback.This check accidentally precludes the possibility of attention callbacks tobuilt-in drivers.Remove the check on `struct module *owner` in acpiphp_register_attention()so attention callbacks can also be registered from built-in drivers.Link: https://lore.kernel.org/r/20230930002036.6491-1-scott@os.amperecomputing.comSigned-off-by: D Scott Phillips &lt;scott@os.amperecomputing.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 30 Sep 2023 00:20:35 +0000</pubDate>
        <dc:creator>D Scott Phillips &lt;scott@os.amperecomputing.com&gt;</dc:creator>
    </item>
<item>
        <title>f98954b2 - PCI: Remove MODULE_LICENSE so boolean drivers don&apos;t look like modules</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#f98954b2</link>
        <description>PCI: Remove MODULE_LICENSE so boolean drivers don&apos;t look like modulesSince 8b41fc4454e3 (&quot;kbuild: create modules.builtin withoutMakefile.modbuiltin or tristate.conf&quot;), MODULE_LICENSE declarations areused to identify modules. As a consequence, MODULE_LICENSE in non-modulescauses modprobe to misidentify the object file as a module when it is not,and modprobe might succeed rather than failing with a suitable errormessage.For tristate modules that can be either built-in or loaded at runtime,modprobe succeeds in both cases:  # modprobe ext4  [exit status zero if CONFIG_EXT4_FS=y or =m]For boolean modules like the Standard Hot Plug Controller driver (shpchp)that cannot be loaded at runtime, modprobe should always fail like this:  # modprobe shpchp  modprobe: FATAL: Module shpchp not found in directory /lib/modules/...  [exit status non-zero regardless of CONFIG_HOTPLUG_PCI_SHPC]but prior to this commit, shpchp_core.c contained MODULE_LICENSE, so&quot;modprobe shpchp&quot; silently succeeded when it should have failed.Remove MODULE_LICENSE in files that cannot be built as modules.[bhelgaas: commit log, squash]Suggested-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;Link: https://lore.kernel.org/r/20230216152410.4312-1-nick.alcock@oracle.com/Signed-off-by: Nick Alcock &lt;nick.alcock@oracle.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;Cc: Luis Chamberlain &lt;mcgrof@kernel.org&gt;Cc: Hitomi Hasegawa &lt;hasegawa-hitomi@fujitsu.com&gt;Cc: Rob Herring &lt;robh@kernel.org&gt;Cc: Lorenzo Pieralisi &lt;lpieralisi@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Thu, 16 Feb 2023 15:24:04 +0000</pubDate>
        <dc:creator>Nick Alcock &lt;nick.alcock@oracle.com&gt;</dc:creator>
    </item>
<item>
        <title>3d0186bb - Update email address</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#3d0186bb</link>
        <description>Update email addressRedirect some older email addresses that are in the git logs.Signed-off-by: Matthew Wilcox &lt;willy@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 16 Jun 2018 21:32:07 +0000</pubDate>
        <dc:creator>Matthew Wilcox &lt;willy@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>125450f8 - PCI: hotplug: Embed hotplug_slot</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#125450f8</link>
        <description>PCI: hotplug: Embed hotplug_slotWhen the PCI hotplug core and its first user, cpqphp, were introduced inFebruary 2002 with historic commit a8a2069f432c, cpqphp allocated a slotstruct for its internal use plus a hotplug_slot struct to be registeredwith the hotplug core and linked the two with pointers:https://git.kernel.org/tglx/history/c/a8a2069f432cNowadays, the predominant pattern in the tree is to embed (&quot;subclass&quot;)such structures in one another and cast to the containing struct withcontainer_of().  But it wasn&apos;t until July 2002 that container_of() wasintroduced with historic commit ec4f214232cf:https://git.kernel.org/tglx/history/c/ec4f214232cfpnv_php, introduced in 2016, did the right thing and embedded structhotplug_slot in its internal struct pnv_php_slot, but all other driverscargo-culted cpqphp&apos;s design and linked separate structs with pointers.Embedding structs is preferrable to linking them with pointers becauseit requires fewer allocations, thereby reducing overhead and simplifyingerror paths.  Casting an embedded struct to the containing structbecomes a cheap subtraction rather than a dereference.  And having fewerpointers reduces the risk of them pointing nowhere either accidentallyor due to an attack.Convert all drivers to embed struct hotplug_slot in their internal slotstruct.  The &quot;private&quot; pointer in struct hotplug_slot thereby becomesunused, so drop it.Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;  # drivers/pci/hotplug/rpa*Acked-by: Sebastian Ott &lt;sebott@linux.ibm.com&gt;        # drivers/pci/hotplug/s390*Acked-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt; # drivers/platform/x86Cc: Len Brown &lt;lenb@kernel.org&gt;Cc: Scott Murray &lt;scott@spiteful.org&gt;Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;Cc: Paul Mackerras &lt;paulus@samba.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Oliver OHalloran &lt;oliveroh@au1.ibm.com&gt;Cc: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.com&gt;Cc: Corentin Chary &lt;corentin.chary@gmail.com&gt;Cc: Darren Hart &lt;dvhart@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 08 Sep 2018 07:59:01 +0000</pubDate>
        <dc:creator>Lukas Wunner &lt;lukas@wunner.de&gt;</dc:creator>
    </item>
<item>
        <title>a7da2161 - PCI: hotplug: Drop hotplug_slot_info</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#a7da2161</link>
        <description>PCI: hotplug: Drop hotplug_slot_infoEver since the PCI hotplug core was introduced in 2002, drivers had toallocate and register a struct hotplug_slot_info for every slot:https://git.kernel.org/tglx/history/c/a8a2069f432cApparently the idea was that drivers furnish the hotplug core with anup-to-date card presence status, power status, latch status andattention indicator status as well as notify the hotplug core of changesthereof.  However only 4 out of 12 hotplug drivers bother to notify thehotplug core with pci_hp_change_slot_info() and the hotplug core nevermade any use of the information:  There is just a single macro inpci_hotplug_core.c, GET_STATUS(), which uses the hotplug_slot_info ifthe driver lacks the corresponding callback in hotplug_slot_ops.  Themacro is called when the user reads the attribute via sysfs.Now, if the callback isn&apos;t defined, the attribute isn&apos;t exposed in sysfsin the first place (see e.g. has_power_file()).  There are only twosituations when the hotplug_slot_info would actually be accessed:* If the driver defines -&gt;enable_slot or -&gt;disable_slot but not  -&gt;get_power_status.* If the driver defines -&gt;set_attention_status but not  -&gt;get_attention_status.There is no driver doing the former and just a single driver doing thelatter, namely pnv_php.c.  Amend it with a -&gt;get_attention_statuscallback.  With that, the hotplug_slot_info becomes completely unused bythe PCI hotplug core.  But a few drivers use it internally as a cache:cpcihp uses it to cache the latch_status and adapter_status.cpqhp uses it to cache the adapter_status.pnv_php and rpaphp use it to cache the attention_status.shpchp uses it to cache all four values.Amend these drivers to cache the information in their private slotstruct.  shpchp&apos;s slot struct already contains members to cache thepower_status and adapter_status, so additional members are only neededfor the other two values.  In the case of cpqphp, the cached value isonly accessed in a single place, so instead of caching it, read thecurrent value from the hardware.Caution:  acpiphp, cpci, cpqhp, shpchp, asus-wmi and eeepc-laptoppopulate the hotplug_slot_info with initial values on probe.  That codeis herewith removed.  There is a theoretical chance that the code hasside effects without which the driver fails to function, e.g. if theACPI method to read the adapter status needs to be executed at leastonce on probe.  That seems unlikely to me, still maintainers shouldreview the changes carefully for this possibility.Rafael adds: &quot;I&apos;m not aware of any case in which it will break anything,[...] but if that happens, it may be necessary to add the execution ofthe control methods in question directly to the initialization part.&quot;Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;  # drivers/pci/hotplug/rpa*Acked-by: Sebastian Ott &lt;sebott@linux.ibm.com&gt;        # drivers/pci/hotplug/s390*Acked-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt; # drivers/platform/x86Cc: Len Brown &lt;lenb@kernel.org&gt;Cc: Scott Murray &lt;scott@spiteful.org&gt;Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;Cc: Paul Mackerras &lt;paulus@samba.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Oliver OHalloran &lt;oliveroh@au1.ibm.com&gt;Cc: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.com&gt;Cc: Corentin Chary &lt;corentin.chary@gmail.com&gt;Cc: Darren Hart &lt;dvhart@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 08 Sep 2018 07:59:01 +0000</pubDate>
        <dc:creator>Lukas Wunner &lt;lukas@wunner.de&gt;</dc:creator>
    </item>
<item>
        <title>81c4b5bf - PCI: hotplug: Constify hotplug_slot_ops</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#81c4b5bf</link>
        <description>PCI: hotplug: Constify hotplug_slot_opsHotplug drivers cannot declare their hotplug_slot_ops const, making themattractive targets for attackers, because upon registration of a hotplugslot, __pci_hp_initialize() writes to the &quot;owner&quot; and &quot;mod_name&quot; membersin that struct.Fix by moving these members to struct hotplug_slot and constify everydriver&apos;s hotplug_slot_ops except for pciehp.pciehp constructs its hotplug_slot_ops at runtime based on the PCIeport&apos;s capabilities, hence cannot declare them const.  It can beconverted to __write_rarely once that&apos;s mainlined:http://www.openwall.com/lists/kernel-hardening/2016/11/16/3Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Tyrel Datwyler &lt;tyreld@linux.vnet.ibm.com&gt;  # drivers/pci/hotplug/rpa*Acked-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt; # drivers/platform/x86Cc: Len Brown &lt;lenb@kernel.org&gt;Cc: Scott Murray &lt;scott@spiteful.org&gt;Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;Cc: Paul Mackerras &lt;paulus@samba.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Oliver OHalloran &lt;oliveroh@au1.ibm.com&gt;Cc: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;Cc: Sebastian Ott &lt;sebott@linux.vnet.ibm.com&gt;Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.com&gt;Cc: Corentin Chary &lt;corentin.chary@gmail.com&gt;Cc: Darren Hart &lt;dvhart@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 08 Sep 2018 07:59:01 +0000</pubDate>
        <dc:creator>Lukas Wunner &lt;lukas@wunner.de&gt;</dc:creator>
    </item>
<item>
        <title>51bbf9be - PCI: hotplug: Demidlayer registration with the core</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#51bbf9be</link>
        <description>PCI: hotplug: Demidlayer registration with the coreWhen a hotplug driver calls pci_hp_register(), all steps necessary forregistration are carried out in one go, including creation of a kobjectand addition to sysfs.  That&apos;s a problem for pciehp once it&apos;s convertedto enable/disable the slot exclusively from the IRQ thread:  The threadneeds to be spawned after creation of the kobject (because it uses thekobject&apos;s name), but before addition to sysfs (because it will handleenable/disable requests submitted via sysfs).pci_hp_deregister() does offer a -&gt;release callback that&apos;s invokedafter deletion from sysfs and before destruction of the kobject.  Butbecause pci_hp_register() doesn&apos;t offer a counterpart, hotplug drivers&apos;-&gt;probe and -&gt;remove code becomes asymmetric, which is error proneas recently discovered use-after-free bugs in pciehp&apos;s -&gt;remove hookhave shown.In a sense, this appears to be a case of the midlayer antipattern:   &quot;The core thesis of the &quot;midlayer mistake&quot; is that midlayers are    bad and should not exist.  That common functionality which it is    so tempting to put in a midlayer should instead be provided as    library routines which can [be] used, augmented, or ignored by    each bottom level driver independently.  Thus every subsystem    that supports multiple implementations (or drivers) should    provide a very thin top layer which calls directly into the    bottom layer drivers, and a rich library of support code that    eases the implementation of those drivers.  This library is    available to, but not forced upon, those drivers.&quot;        --  Neil Brown (2009), https://lwn.net/Articles/336262/The presence of midlayer traits in the PCI hotplug core might be ascribedto its age:  When it was introduced in February 2002, the blessings of alibrary approach might not have been well known:https://git.kernel.org/tglx/history/c/a8a2069f432cFor comparison, the driver core does offer split functions for creatinga kobject (device_initialize()) and addition to sysfs (device_add()) asan alternative to carrying out everything at once (device_register()).This was introduced in October 2002:https://git.kernel.org/tglx/history/c/8b290eb19962The odd -&gt;release callback in the PCI hotplug core was added in 2003:https://git.kernel.org/tglx/history/c/69f8d663b595Clearly, a library approach would not force every hotplug driver toimplement a -&gt;release callback, but rather allow the driver to removethe sysfs files, release its data structures and finally destroy thekobject.  Alternatively, a driver may choose to remove everything withpci_hp_deregister(), then release its data structures.To this end, offer drivers pci_hp_initialize() and pci_hp_add() as asplit-up version of pci_hp_register().  Likewise, offer pci_hp_del()and pci_hp_destroy() as a split-up version of pci_hp_deregister().Eliminate the -&gt;release callback and move its code into each driver&apos;steardown routine.Declare pci_hp_deregister() void, in keeping with the usual kernelpattern that enablement can fail, but disablement cannot.  It onlyreturned an error if the caller passed in a NULL pointer or a slot whichhas never or is no longer registered or is sharing its name with anotherslot.  Those would be bugs, so WARN about them.  Few hotplug driversactually checked the return value and those that did only printed auseless error message to dmesg.  Remove that.For most drivers the conversion was straightforward since it doesn&apos;tmatter whether the code in the -&gt;release callback is executed before orafter destruction of the kobject.  But in the case of ibmphp, it wasunclear to me whether setting slot_cur-&gt;ctrl and slot_cur-&gt;bus_on toNULL needs to happen before the kobject is destroyed, so I erred onthe side of caution and ensured that the order stays the same.  Anothernontrivial case is pnv_php, I&apos;ve found the list and kref logic difficultto understand, however my impression was that it is safe to delete thelist element and drop the references until after the kobject isdestroyed.Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Acked-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;  # drivers/platform/x86Cc: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;Cc: Len Brown &lt;lenb@kernel.org&gt;Cc: Scott Murray &lt;scott@spiteful.org&gt;Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;Cc: Paul Mackerras &lt;paulus@samba.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;Cc: Sebastian Ott &lt;sebott@linux.vnet.ibm.com&gt;Cc: Gerald Schaefer &lt;gerald.schaefer@de.ibm.com&gt;Cc: Corentin Chary &lt;corentin.chary@gmail.com&gt;Cc: Darren Hart &lt;dvhart@infradead.org&gt;Cc: Andy Shevchenko &lt;andy@infradead.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Thu, 19 Jul 2018 22:27:43 +0000</pubDate>
        <dc:creator>Lukas Wunner &lt;lukas@wunner.de&gt;</dc:creator>
    </item>
<item>
        <title>736759ef - PCI: Add SPDX GPL-2.0+ to replace GPL v2 or later boilerplate</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#736759ef</link>
        <description>PCI: Add SPDX GPL-2.0+ to replace GPL v2 or later boilerplateAdd SPDX GPL-2.0+ to all PCI files that specified the GPL and allowedeither GPL version 2 or any later version.Remove the boilerplate GPL version 2 or later language, relying on theassertion in b24413180f56 (&quot;License cleanup: add SPDX GPL-2.0 licenseidentifier to files with no license&quot;) that the SPDX identifier may be usedinstead of the full boilerplate text.Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Fri, 26 Jan 2018 20:22:04 +0000</pubDate>
        <dc:creator>Bjorn Helgaas &lt;bhelgaas@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ff3ce480 - PCI: Fix all whitespace issues</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#ff3ce480</link>
        <description>PCI: Fix all whitespace issuesFix all whitespace issues (missing or needed whitespace) in all files indrivers/pci.  Code is compiled with allyesconfig before and after codechanges and objects are recorded and checked with objdiff and they are notchanged after this commit.Signed-off-by: Bogicevic Sasa &lt;brutallesale@gmail.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sun, 27 Dec 2015 21:21:11 +0000</pubDate>
        <dc:creator>Bogicevic Sasa &lt;brutallesale@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b7fe9434 - PCI: Move EXPORT_SYMBOL so it immediately follows function/variable</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#b7fe9434</link>
        <description>PCI: Move EXPORT_SYMBOL so it immediately follows function/variableMove EXPORT_SYMBOL so it immediately follows the function or variable.No functional change.[bhelgaas: squash similar changes, fix hotplug, probe, rom, search, too]Signed-off-by: Ryan Desfosses &lt;ryan@desfo.org&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Fri, 25 Apr 2014 20:32:25 +0000</pubDate>
        <dc:creator>Ryan Desfosses &lt;ryan@desfo.org&gt;</dc:creator>
    </item>
<item>
        <title>9217a984 - ACPI / hotplug / PCI: Use global PCI rescan-remove locking</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#9217a984</link>
        <description>ACPI / hotplug / PCI: Use global PCI rescan-remove lockingMultiple race conditions are possible between the ACPI-based PCI hotplug(ACPIPHP) and the generic PCI bus rescan and device removal that can betriggered via sysfs.To avoid those race conditions make the ACPIPHP code use global PCIrescan-remove locking.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Fri, 10 Jan 2014 14:24:41 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>f7625980 - PCI: Fix whitespace, capitalization, and spelling errors</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#f7625980</link>
        <description>PCI: Fix whitespace, capitalization, and spelling errorsFix whitespace, capitalization, and spelling errors.  No functional change.I know &quot;busses&quot; is not an error, but &quot;buses&quot; was more common, so I used itconsistently.Signed-off-by: Marta Rybczynska &lt;rybczynska@gmail.com&gt; (pci_reset_bridge_secondary_bus())Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Thu, 14 Nov 2013 18:28:18 +0000</pubDate>
        <dc:creator>Bjorn Helgaas &lt;bhelgaas@google.com&gt;</dc:creator>
    </item>
<item>
        <title>bd950799 - PCI: acpiphp: Convert to dynamic debug</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#bd950799</link>
        <description>PCI: acpiphp: Convert to dynamic debugThis patch is to use pr_debug/info/warn/err to replace acpiphp debugfunctions and remove module&apos;s debug param.User interface change: before this patch, boot with the &quot;acpiphp.debug&quot;kernel parameter to turn on debug.  After this patch, setCONFIG_DYNAMIC_DEBUG=y and boot with &quot;acpiphp.dyndebug=+p&quot; instead.See Documentation/dynamic-debug-howto.txt.[bhelgaas: changelog]Signed-off-by: Lan Tianyu &lt;tianyu.lan@intel.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Wed, 25 Sep 2013 00:11:48 +0000</pubDate>
        <dc:creator>Lan Tianyu &lt;tianyu.lan@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>ad21d2d0 - ACPI / hotplug / PCI: Consolidate slot disabling and ejecting</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#ad21d2d0</link>
        <description>ACPI / hotplug / PCI: Consolidate slot disabling and ejectingBoth acpiphp_disable_slot() and acpiphp_eject_slot() are alwayscalled together so instead of calling each separately we canconsolidate them into one function acpiphp_disable_and_eject_slot()that does both (but it will return success on _EJ0 failures thatwere ignored in the majority of call sites anyway).[rjw: Rebased plus minor tweaks]Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 13 Jul 2013 21:27:26 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>bda46dbb - ACPI / hotplug / PCI: Store parent in functions and bus in slots</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#bda46dbb</link>
        <description>ACPI / hotplug / PCI: Store parent in functions and bus in slotsTo avoid chasing more pointers than necessary in some situations,move the bridge pointer from struct acpiphp_slot to structacpiphp_func (and call it &apos;parent&apos;) and add a bus pointer tostruct acpiphp_slot.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Tested-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 13 Jul 2013 21:27:25 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>7342798d - ACPI / hotplug / PCI: Drop sun field from struct acpiphp_slot</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#7342798d</link>
        <description>ACPI / hotplug / PCI: Drop sun field from struct acpiphp_slotIf the slot unique number is passed as an additional argument toacpiphp_register_hotplug_slot(), the &apos;sun&apos; field in structacpiphp_slot is only used by ibm_[s|g]et_attention_status(),but then it&apos;s more efficient to store it in struct slot.Thus move the &apos;sun&apos; field from struct acpiphp_slot to struct slotchanging its data type to unsigned int in the process, and redefineacpiphp_register_hotplug_slot() to take the slot number as separateargument.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Tested-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 13 Jul 2013 21:27:25 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>3b63aaa7 - PCI: acpiphp: Do not use ACPI PCI subdriver mechanism</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#3b63aaa7</link>
        <description>PCI: acpiphp: Do not use ACPI PCI subdriver mechanismPreviously the acpiphp driver registered itself as an ACPI PCI subdriver,so its callbacks were invoked when creating/destroying PCI rootbuses to manage ACPI-based PCI hotplug slots.  But it doesn&apos;t handleP2P bridge hotplug events, so it will cause strange behaviour if thereare hotplug slots associated with a hot-removed P2P bridge.This patch fixes this issue by:1) Directly hooking into PCI core to update hotplug slot devices when   creating/destroying PCI buses through:	pci_{add|remove}_bus() -&gt; acpi_pci_{add|remove}_bus()2) Getting rid of unused ACPI PCI subdriver-related codeIt also cleans up unused code in the acpiphp driver.[bhelgaas: keep acpi_pci_add_bus() stub for CONFIG_ACPI=n]Signed-off-by: Jiang Liu &lt;jiang.liu@huawei.com&gt;Signed-off-by: Yijing Wang &lt;wangyijing@huawei.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Reviewed-by: Yinghai Lu &lt;yinghai@kernel.org&gt;Cc: &quot;Rafael J. Wysocki&quot; &lt;rafael.j.wysocki@intel.com&gt;Cc: Toshi Kani &lt;toshi.kani@hp.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Fri, 12 Apr 2013 05:44:26 +0000</pubDate>
        <dc:creator>Jiang Liu &lt;liuj97@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6037a803 - PCI: acpiphp: Convert acpiphp to be builtin only, not modular</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#6037a803</link>
        <description>PCI: acpiphp: Convert acpiphp to be builtin only, not modularConvert acpiphp to be builtin only, with no module option.Previously, when HOTPLUG_PCI_ACPI=m, users could disable acpiphp byremoving the module or preventing it from loading.  That can&apos;t be doneif acpiphp is builtin statically, so this adds an &quot;acpiphp.disable&quot;kernel parameter.  If a user needs to use this parameter, it is a bug,and we want to hear about it.[bhelgaas: fold in acpiphp.disable here, remove documentation]Signed-off-by: Jiang Liu &lt;jiang.liu@huawei.com&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Fri, 12 Apr 2013 05:44:25 +0000</pubDate>
        <dc:creator>Jiang Liu &lt;liuj97@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d59f53bc - PCI: acpiphp: Keep driver loaded even if no slots found</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#d59f53bc</link>
        <description>PCI: acpiphp: Keep driver loaded even if no slots foundCould have root bus hot-added later and there may be slots that needacpiphp.The result returned by acpiphp_get_num_slots() is meaningless, becausethe bridge the slots are under may be added after this function has beencalled, so drop acpiphp_get_num_slots() and the code using it.Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Mon, 21 Jan 2013 21:20:50 +0000</pubDate>
        <dc:creator>Yinghai Lu &lt;yinghai@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2ac45f28 - PCI: acpiphp: merge acpiphp_debug and debug</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/pci/hotplug/acpiphp_core.c#2ac45f28</link>
        <description>PCI: acpiphp: merge acpiphp_debug and debugShould not have two, just remove debug, and use module_param_namedinstead.Also change acpiphp_debug to bool.Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;

            List of files:
            /linux-6.15/drivers/pci/hotplug/acpiphp_core.c</description>
        <pubDate>Sat, 23 Jun 2012 07:42:03 +0000</pubDate>
        <dc:creator>Yinghai Lu &lt;yinghai@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
