<?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 ec.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>b9886853 - ACPI: EC: Set ec_no_wakeup for Lenovo Go S</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#b9886853</link>
        <description>ACPI: EC: Set ec_no_wakeup for Lenovo Go SWhen AC adapter is unplugged or plugged in EC wakes from HW sleep butAPU doesn&apos;t enter back into HW sleep.The reason this happens is that, when the APU exits HW sleep, the powerrails controlled by the EC will power up the TCON.  The TCON has a GPIOthat will be toggled at this time.  The GPIO is not marked as a wakeupsource, but the GPIO controller still has an unserviced interrupt.Unserviced interrupts will block entering HW sleep again. Clearing theGPIO doesn&apos;t help as the TCON continues to assert it until it&apos;s beeninitialized by i2c-hid.Fixing this would require TCON F/W changes and it&apos;s already broken inthe wild on production hardware.To avoid triggering this issue add a quirk to avoid letting EC wakeup system at all.  The power button still works properly on this system.Reported-by: Antheas Kapenekakis &lt;lkml@antheas.dev&gt;Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3929Link: https://github.com/bazzite-org/patchwork/commit/95b93b2852718ee1e808c72e6b1836da4a95fc63Co-developed-by: Antheas Kapenekakis &lt;lkml@antheas.dev&gt;Signed-off-by: Antheas Kapenekakis &lt;lkml@antheas.dev&gt;Signed-off-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;Link: https://patch.msgid.link/20250401133858.1892077-1-superm1@kernel.org[ rjw: Changelog edits ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Tue, 01 Apr 2025 13:38:51 +0000</pubDate>
        <dc:creator>Mario Limonciello &lt;mario.limonciello@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>f098bb55 - ACPI: EC: Use strscpy() instead of strcpy()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#f098bb55</link>
        <description>ACPI: EC: Use strscpy() instead of strcpy()Replace strcpy() with strscpy() in the ACPI EC driver.strcpy() has been deprecated because it is generally unsafe, so itis better to eliminate it from the kernel source.Link: https://github.com/KSPP/linux/issues/88Signed-off-by: Muhammad Qasim Abdul Majeed &lt;qasim.majeed20@gmail.com&gt;Link: https://patch.msgid.link/20240915183822.34588-2-qasim.majeed20@gmail.com[ rjw: Subject and changelog edits ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Sun, 15 Sep 2024 18:38:14 +0000</pubDate>
        <dc:creator>Muhammad Qasim Abdul Majeed &lt;qasim.majeed20@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>71bf41b8 - ACPI: EC: Evaluate _REG outside the EC scope more carefully</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#71bf41b8</link>
        <description>ACPI: EC: Evaluate _REG outside the EC scope more carefullyCommit 60fa6ae6e6d0 (&quot;ACPI: EC: Install address space handler at thenamespace root&quot;) caused _REG methods for EC operation regions outsidethe EC device scope to be evaluated which on some systems leads to theevaluation of _REG methods in the scopes of device objects representingdevices that are not present and not functional according to the _STAreturn values. Some of those device objects represent EC &quot;alternatives&quot;and if _REG is evaluated for their operation regions, the platformfirmware may be confused and the platform may start to behaveincorrectly.To avoid this problem, only evaluate _REG for EC operation regionslocated in the scopes of device objects representing known-to-be-presentdevices.For this purpose, partially revert commit 60fa6ae6e6d0 and trigger theevaluation of _REG for EC operation regions from acpi_bus_attach() forthe known-valid devices.Fixes: 60fa6ae6e6d0 (&quot;ACPI: EC: Install address space handler at the namespace root&quot;)Link: https://lore.kernel.org/linux-acpi/1f76b7e2-1928-4598-8037-28a1785c2d13@redhat.comLink: https://bugzilla.redhat.com/show_bug.cgi?id=2298938Link: https://bugzilla.redhat.com/show_bug.cgi?id=2302253Reported-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Cc: All applicable &lt;stable@vger.kernel.org&gt;Link: https://patch.msgid.link/23612351.6Emhk5qWAg@rjwysocki.net

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Mon, 12 Aug 2024 13:16:21 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>cdf65d73 - ACPICA: Add a depth argument to acpi_execute_reg_methods()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#cdf65d73</link>
        <description>ACPICA: Add a depth argument to acpi_execute_reg_methods()A subsequent change will need to pass a depth argument toacpi_execute_reg_methods(), so prepare that function for it.No intentional functional changes.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Cc: All applicable &lt;stable@vger.kernel.org&gt;Link: https://patch.msgid.link/8451567.NyiUUSuA9g@rjwysocki.net

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Mon, 12 Aug 2024 13:11:42 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>779bac99 - Revert &quot;ACPI: EC: Evaluate orphan _REG under EC device&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#779bac99</link>
        <description>Revert &quot;ACPI: EC: Evaluate orphan _REG under EC device&quot;This reverts commit 0e6b6dedf168 (&quot;Revert &quot;ACPI: EC: Evaluate orphan_REG under EC device&quot;) because the problem addressed by it will beaddressed differently in what follows.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Cc: All applicable &lt;stable@vger.kernel.org&gt;Link: https://patch.msgid.link/3236716.5fSG56mABF@rjwysocki.net

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Mon, 12 Aug 2024 13:08:04 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>dc171114 - ACPI: EC: Do not release locks during operation region accesses</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#dc171114</link>
        <description>ACPI: EC: Do not release locks during operation region accessesIt is not particularly useful to release locks (the EC mutex and theACPI global lock, if present) and re-acquire them immediately thereafterduring EC address space accesses in acpi_ec_space_handler().First, releasing them for a while before grabbing them again does notreally help anyone because there may not be enough time for anotherthread to acquire them.Second, if another thread successfully acquires them and carries outa new EC write or read in the middle if an operation region access inprogress, it may confuse the EC firmware, especially after the burstmode has been enabled.Finally, manipulating the locks after writing or reading every singlebyte of data is overhead that it is better to avoid.Accordingly, modify the code to carry out EC address space accessesentirely without releasing the locks.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Link: https://patch.msgid.link/12473338.O9o76ZdvQC@rjwysocki.net

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Thu, 04 Jul 2024 16:26:54 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>0e6b6ded - ACPI: EC: Evaluate orphan _REG under EC device</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#0e6b6ded</link>
        <description>ACPI: EC: Evaluate orphan _REG under EC deviceAfter starting to install the EC address space handler at the ACPInamespace root, if there is an &quot;orphan&quot; _REG method in the EC device&apos;sscope, it will not be evaluated any more.  This breaks EC operationregions on some systems, like Asus gu605.To address this, use a wrapper around an existing ACPICA function tolook for an &quot;orphan&quot; _REG method in the EC device scope and evaluateit if present.Fixes: 60fa6ae6e6d0 (&quot;ACPI: EC: Install address space handler at the namespace root&quot;)Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218945Reported-by: VitaliiT &lt;vitaly.torshyn@gmail.com&gt;Tested-by: VitaliiT &lt;vitaly.torshyn@gmail.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Wed, 12 Jun 2024 14:15:55 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>c4bd7f1d - ACPI: EC: Avoid returning AE_OK on errors in address space handler</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#c4bd7f1d</link>
        <description>ACPI: EC: Avoid returning AE_OK on errors in address space handlerIf an error code other than EINVAL, ENODEV or ETIME is returnedby acpi_ec_read() / acpi_ec_write(), then AE_OK is incorrectlyreturned by acpi_ec_space_handler().Fix this by only returning AE_OK on success, and return AE_ERRORotherwise.Signed-off-by: Armin Wolf &lt;W_Armin@gmx.de&gt;[ rjw: Subject and changelog edits ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Wed, 22 May 2024 21:36:49 +0000</pubDate>
        <dc:creator>Armin Wolf &lt;W_Armin@gmx.de&gt;</dc:creator>
    </item>
<item>
        <title>f6f172dc - ACPI: EC: Abort address space access upon error</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#f6f172dc</link>
        <description>ACPI: EC: Abort address space access upon errorWhen a multi-byte address space access is requested, acpi_ec_read()/acpi_ec_write() is being called multiple times.Abort such operations if a single call to acpi_ec_read() /acpi_ec_write() fails, as the data read from / written to the ECmight be incomplete.Signed-off-by: Armin Wolf &lt;W_Armin@gmx.de&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Wed, 22 May 2024 21:36:48 +0000</pubDate>
        <dc:creator>Armin Wolf &lt;W_Armin@gmx.de&gt;</dc:creator>
    </item>
<item>
        <title>60fa6ae6 - ACPI: EC: Install address space handler at the namespace root</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#60fa6ae6</link>
        <description>ACPI: EC: Install address space handler at the namespace rootIt is reported that _DSM evaluation fails in ucsi_acpi_dsm() on LenovoIdeaPad Pro 5 due to a missing address space handler for the EC addressspace: ACPI Error: No handler for Region [ECSI] (000000007b8176ee) [EmbeddedControl] (20230628/evregion-130)This happens because if there is no ECDT, the EC driver only registersthe EC address space handler for operation regions defined in the ECdevice scope of the ACPI namespace while the operation region beingaccessed by the _DSM in question is located beyond that scope.To address this, modify the ACPI EC driver to install the EC addressspace handler at the root of the ACPI namespace for the first EC thatcan be found regardless of whether or not an ECDT is present.Note that this change is consistent with some examples in the ACPIspecification in which EC operation regions located outside the ECdevice scope are used (for example, see Section 9.17.15 in ACPI 6.5),so the current behavior of the EC driver is arguably questionable.Reported-by: webcaptcha &lt;webcapcha@gmail.com&gt;Link: https://bugzilla.kernel.org/show_bug.cgi?id=218789Link: https://uefi.org/specs/ACPI/6.5/09_ACPI_Defined_Devices_and_Device_Specific_Objects.html#example-asl-codeLink: https://lore.kernel.org/linux-acpi/Zi+0whTvDbAdveHq@kuha.fi.intel.comSuggested-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Reviewed-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Reviewed-by: Mario Limonciello &lt;mario.limonciello@amd.com&gt;Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Wed, 15 May 2024 19:40:54 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>e0359f15 - Revert &quot;ACPI: EC: Use a spin lock without disabing interrupts&quot;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#e0359f15</link>
        <description>Revert &quot;ACPI: EC: Use a spin lock without disabing interrupts&quot;Commit eb9299beadbd (&quot;ACPI: EC: Use a spin lock without disabinginterrupts&quot;) introduced an unexpected user-visible change inbehavior, which is a significant CPU load increase when the ECis in use.This most likely happens due to increased spinlock contentionand so reducing this effect would require a major rework of theEC driver locking.  There is no time for this in the currentcycle, so revert commit eb9299beadbd.Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218511Reported-by: Dieter Mummenschanz &lt;dmummenschanz@web.de&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Thu, 22 Feb 2024 09:35:54 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>eb9299be - ACPI: EC: Use a spin lock without disabing interrupts</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#eb9299be</link>
        <description>ACPI: EC: Use a spin lock without disabing interruptsSince all of the ACPI EC driver code runs in thread context after recentchanges, it does not need to disable interrupts on the local CPU whenacquiring a spin lock.Make it use the spin lock without disabling interrupts.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Fri, 15 Dec 2023 11:27:30 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>655a6e7c - ACPI: EC: Use a threaded handler for dedicated IRQ</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#655a6e7c</link>
        <description>ACPI: EC: Use a threaded handler for dedicated IRQAfter commit 7a36b901a6eb (&quot;ACPI: OSL: Use a threaded interrupt handlerfor SCI&quot;) all of the EC code runs in thread context on all systems whereEC events are signaled through a GPE.It may as well run in thread context on systems using a dedicated IRQfor EC events signaling, so make it use a threaded handler for that IRQ.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Fri, 15 Dec 2023 11:26:33 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>891ddc03 - ACPI: EC: Add quirk for HP 250 G7 Notebook PC</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#891ddc03</link>
        <description>ACPI: EC: Add quirk for HP 250 G7 Notebook PCAdd GPE quirk entry for HP 250 G7 Notebook PC.This change allows the lid switch to be identified as the lid switchand not a keyboard button. With the lid switch properly identified, thedevice triggers suspend correctly on lid close.Signed-off-by: Jonathan Denose &lt;jdenose@google.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Tue, 24 Oct 2023 14:13:36 +0000</pubDate>
        <dc:creator>Jonathan Denose &lt;jdenose@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>cd4aece4 - ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxx</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#cd4aece4</link>
        <description>ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxxAdded GPE quirk entry for the HP Pavilion Gaming 15-dk1xxx.There is a quirk entry for 2 15-c..... laptops, this isfor a new version which has 15-dk1xxx as identifier.This fixes the LID switch and rfkill and brightness hotkeysnot working.Closes: https://github.com/systemd/systemd/issues/28942Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Wed, 20 Sep 2023 13:05:06 +0000</pubDate>
        <dc:creator>Hans de Goede &lt;hdegoede@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>b5539eb5 - ACPI: EC: Fix acpi_ec_dispatch_gpe()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#b5539eb5</link>
        <description>ACPI: EC: Fix acpi_ec_dispatch_gpe()Commit 896e97bf99ec (&quot;ACPI: EC: Clear GPE on interrupt handling only&quot;)broke suspend-to-idle at least on Dell XPS13 9360 and 9380.The problem is that acpi_ec_dispatch_gpe() must clear the EC GPE,because the EC GPE handler never runs when the system is in thesuspend-to-idle state and if the EC GPE is not cleared by the suspend-to-idle loop, it is never cleared at all which leads to a GPE storm.This causes suspend-to-idle to burn energy instead of saving it whichis potentially dangerous (the affected machines heat up rather badlywhen that happens).Addess this by making acpi_ec_dispatch_gpe() clear the EC GPE as it didbefore.Fixes: 896e97bf99ec (&quot;ACPI: EC: Clear GPE on interrupt handling only&quot;)Tested-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Tue, 27 Jun 2023 14:35:52 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>896e97bf - ACPI: EC: Clear GPE on interrupt handling only</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#896e97bf</link>
        <description>ACPI: EC: Clear GPE on interrupt handling onlyOn multiple devices I work on, we noticed that/sys/firmware/acpi/interrupts/sci_not is non-zero and keeps increasingover time.It turns out that there is a race condition between servicing a GPEinterrupt and handling task driven transactions.If a GPE interrupt is received at the same time ec_poll() is running,the advance_transaction() clears the GPE flag and the interrupt is notserviced as acpi_ev_detect_gpe() relies on the GPE flag to call thehandler. As a result, `sci_not&apos; is increased.To address this, move the GPE status check and clearing fromadvance_transaction() directly into acpi_ec_handle_interrupt(), so theEC GPE only gets cleared in the interrupt handling path.Signed-off-by: Jeremy Compostella &lt;jeremy.compostella@intel.com&gt;[ rjw: Changelog edits ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Tue, 06 Jun 2023 16:13:23 +0000</pubDate>
        <dc:creator>Compostella, Jeremy &lt;jeremy.compostella@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>e5b492c6 - ACPI: EC: Fix oops when removing custom query handlers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#e5b492c6</link>
        <description>ACPI: EC: Fix oops when removing custom query handlersWhen removing custom query handlers, the handler might stillbe used inside the EC query workqueue, causing a kernel oopsif the module holding the callback function was already unloaded.Fix this by flushing the EC query workqueue when removingcustom query handlers.Tested on a Acer Travelmate 4002WLMiSigned-off-by: Armin Wolf &lt;W_Armin@gmx.de&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Fri, 24 Mar 2023 20:26:27 +0000</pubDate>
        <dc:creator>Armin Wolf &lt;W_Armin@gmx.de&gt;</dc:creator>
    </item>
<item>
        <title>28f7b858 - ACPI: EC: Limit explicit removal of query handlers to custom query handlers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#28f7b858</link>
        <description>ACPI: EC: Limit explicit removal of query handlers to custom query handlersAccording to the ACPI spec part 5.6.4.1.2, EC query handlers discoveredthru ACPI should not be removed when a driver removes his custom queryhandler. On the Acer Travelmate 4002WLMi for example, such a queryhandler is used as a fallback to handle the EC SMBus alert when no driveris present.Change acpi_ec_remove_query_handlers() so that only custom queryhandlers are removed then remove_all is false. Query handlers discoveredthru ACPI will still get removed when remove_all is true, which happenson device removal. Also add a simple check to ensure thatacpi_ec_add_query_handler() is always called with either handle or funcbeing set, since custom query handlers are detected based whetherhandlers-&gt;func is set or not.Tested on a Acer Travelmate 4002WLMi.Signed-off-by: Armin Wolf &lt;W_Armin@gmx.de&gt;[ rjw: Comment adjustment ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Fri, 24 Mar 2023 20:26:26 +0000</pubDate>
        <dc:creator>Armin Wolf &lt;W_Armin@gmx.de&gt;</dc:creator>
    </item>
<item>
        <title>ab4620f5 - ACPI: EC: Fix ECDT probe ordering issues</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/ec.c#ab4620f5</link>
        <description>ACPI: EC: Fix ECDT probe ordering issuesACPI-2.0 says that the EC OpRegion handler must be available immediately(like the standard default OpRegion handlers):Quoting from the ACPI spec version 6.3: &quot;6.5.4 _REG (Region) ...2. OSPM must make Embedded Controller operation regions, accessed viathe Embedded Controllers described in ECDT, available before executingany control method. These operation regions may become inaccessibleafter OSPM runs _REG(EmbeddedControl, 0).&quot;So acpi_bus_init() calls acpi_ec_ecdt_probe(), which callsacpi_install_address_space_handler() to install the EC&apos;s OpRegionhandler, early on.This not only installs the OpRegion handler, but also calls the EC&apos;s_REG method. The _REG method call is a problem because it may rely oninitialization done by the _INI methods of one of the PCI / _SB root devs,see for example: https://bugzilla.kernel.org/show_bug.cgi?id=214899 .Generally speaking _REG methods are executed when the ACPI-device theyare part of has a driver bound to it. Where as _INI methods must beexecuted at table load time (according to the spec). The problem hereis that the early acpi_install_address_space_handler() call causesthe _REG handler to run too early.To allow fixing this the ACPICA code now allows to split the OpRegionhandler installation and the executing of _REG into 2 separate steps.This commit uses this ACPICA functionality to fix the EC probe orderingby delaying the executing of _REG for ECDT described ECs till the matchingEC device in the DSDT gets parsed and acpi_ec_add() for it gets called.This moves the calling of _REG for the EC on devices with an ECDT tothe same point in time where it is called on devices without an ECDT table.BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214899Reported-and-tested-by: Johannes Pen&#223;el &lt;johannespenssel@posteo.net&gt;Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/ec.c</description>
        <pubDate>Thu, 08 Dec 2022 14:23:35 +0000</pubDate>
        <dc:creator>Hans de Goede &lt;hdegoede@redhat.com&gt;</dc:creator>
    </item>
</channel>
</rss>
