<?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 acpi_platform.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>bf6067a6 - ACPI: platform: Move SMB0001 HID to the header and reuse</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#bf6067a6</link>
        <description>ACPI: platform: Move SMB0001 HID to the header and reuseThere are at least two places in the kernel that are usingthe SMB0001 HID. Make it to be available via acpi_drivers.hheader file. While at it, replace hard coded one with adefinition.Reviewed-by: Andi Shyti &lt;andi.shyti@kernel.org&gt;Acked-by: Wolfram Sang &lt;wsa@kernel.org&gt; # for I2CLink: https://lore.kernel.org/r/20230621151652.79579-2-andriy.shevchenko@linux.intel.comSigned-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Mon, 03 Jul 2023 12:14:09 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>cefbd80b - ACPI: platform: Ignore SMB0001 only when it has resources</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#cefbd80b</link>
        <description>ACPI: platform: Ignore SMB0001 only when it has resourcesAfter switching i2c-scmi driver to be a platform one, it stoppedbeing enumerated on number of Kontron platforms, because it&apos;slisted in the forbidden_id_list.To resolve the situation, add a flag to driver data to allow deviceswith no resources in _CRS to be enumerated via platform bus.Fixes: 03d4287add6e (&quot;i2c: scmi: Convert to be a platform driver&quot;)Closes: https://lore.kernel.org/r/60c1756765b9a3f1eab0dcbd84f59f00fe1caf48.camel@kontron.comLink: https://lore.kernel.org/r/20230621151652.79579-1-andriy.shevchenko@linux.intel.comSigned-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Reviewed-by: Andi Shyti &lt;andi.shyti@kernel.org&gt;[ rjw: Move has_resource definition to the block in which it is used and  initialize it to &apos;false&apos; ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Mon, 03 Jul 2023 12:14:08 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>2814108c - ACPI: platform: Use PLATFORM_DEVID_NONE in acpi_create_platform_device()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#2814108c</link>
        <description>ACPI: platform: Use PLATFORM_DEVID_NONE in acpi_create_platform_device()Instead of hardcoding the value for the id, use PLATFORM_DEVID_NONE.Signed-off-by: John Garry &lt;john.garry@huawei.com&gt;Reviewed-by: Andy Shevchenko &lt;andy.shevchenko@gmail.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Thu, 01 Sep 2022 10:04:11 +0000</pubDate>
        <dc:creator>John Garry &lt;john.garry@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>1902d158 - ACPI: platform: Sort forbidden_id_list[] in ascending order</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#1902d158</link>
        <description>ACPI: platform: Sort forbidden_id_list[] in ascending orderFor easier maintenance, sort the forbidden_id_list[] table rows inascending order with respect to the device ID field.While at it, use an empty row as the list terminator, which is moreusual in the kernel.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 31 Aug 2022 14:03:27 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>895a4d6c - ACPI: platform: Use sizeof(*pointer) instead of sizeof(type)</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#895a4d6c</link>
        <description>ACPI: platform: Use sizeof(*pointer) instead of sizeof(type)It is preferred to use sizeof(*pointer) instead of sizeof(type).The type of the variable can change and one needs not changethe former (unlike the latter). No functional change intended.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 31 Aug 2022 14:03:26 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>1d190148 - ACPI: platform: Remove redundant print on -ENOMEM</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#1d190148</link>
        <description>ACPI: platform: Remove redundant print on -ENOMEMWe rely on somebody else to print enough information on memoryallocation failures. So remove the log inthe acpi_create_platform_device() when return -ENOMEM.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 31 Aug 2022 14:03:25 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>f3bc9ca5 - ACPI: platform: Get rid of redundant &apos;else&apos;</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#f3bc9ca5</link>
        <description>ACPI: platform: Get rid of redundant &apos;else&apos;In the snippets like the following	if (...)		return / goto / break / continue ...;	else		...the &apos;else&apos; is redundant. Get rid of it.Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 31 Aug 2022 14:03:24 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>62fcb99b - ACPI: Drop parent field from struct acpi_device</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#62fcb99b</link>
        <description>ACPI: Drop parent field from struct acpi_deviceThe parent field in struct acpi_device is, in fact, redundant,because the dev.parent field in it effectively points to the sameobject and it is used by the driver core.Accordingly, the parent field can be dropped from struct acpi_deviceand for this purpose define acpi_dev_parent() to retrieve a parentstruct acpi_device pointer from the dev.parent field in structacpi_device.  Next, update all of the users of the parent fieldin struct acpi_device to use acpi_dev_parent() instead of it anddrop it.While at it, drop the ACPI_IS_ROOT_DEVICE() macro that is only usedin one place in a confusing way.No intentional functional impact.Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Mark Brown &lt;broonie@kernel.org&gt;Acked-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;Acked-by: Wei Liu &lt;wei.liu@kernel.org&gt;Reviewed-by: Punit Agrawal &lt;punit.agrawal@bytedance.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 24 Aug 2022 16:59:48 +0000</pubDate>
        <dc:creator>Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>2cbfae0f - ACPI: platform: Constify properties parameter in acpi_create_platform_device()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#2cbfae0f</link>
        <description>ACPI: platform: Constify properties parameter in acpi_create_platform_device()Properties are not and should not be changed in the callee, hence constifyproperties parameter in acpi_create_platform_device().Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 23 Feb 2022 23:56:20 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>da5b6432 - ACPI: platform: Remove ACPI_MODULE_NAME()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#da5b6432</link>
        <description>ACPI: platform: Remove ACPI_MODULE_NAME()ACPI_MODULE_NAME() is not used in the acpi_platform.c, remove it.Signed-off-by: Hanjun Guo &lt;guohanjun@huawei.com&gt;[ rjw: Subject edit ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Thu, 24 Sep 2020 02:56:56 +0000</pubDate>
        <dc:creator>Hanjun Guo &lt;guohanjun@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>cb0701ac - ACPI: platform: Unregister stale platform devices</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#cb0701ac</link>
        <description>ACPI: platform: Unregister stale platform devicesWhen commit 68bdb6773289 (&quot;ACPI: add support for ACPI reconfigurationnotifiers&quot;) introduced reconfiguration notifiers, it missed the pointthat the ACPI table, which might be loaded and then unloaded viaConfigFS, could contain devices that were not enumerated by theirparents.In such cases, the stale platform device is dangling in the systemwhile the rest of the devices from the same table are already gone.Introduce acpi_platform_device_remove_notify() notifier that, insimilar way to I&#178;C or SPI buses, unregisters the platform deviceson table removal event.Fixes: 68bdb6773289 (&quot;ACPI: add support for ACPI reconfiguration notifiers&quot;)Depends-on: 00500147cbd3 (&quot;drivers: Introduce device lookup variants by ACPI_COMPANION device&quot;)Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;[ rjw: Changelog &amp; function rename ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Fri, 30 Aug 2019 14:34:32 +0000</pubDate>
        <dc:creator>Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>d2912cb1 - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#d2912cb1</link>
        <description>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500Based on 2 normalized pattern(s):  this program is free software you can redistribute it and or modify  it under the terms of the gnu general public license version 2 as  published by the free software foundation  this program is free software you can redistribute it and or modify  it under the terms of the gnu general public license version 2 as  published by the free software foundation #extracted by the scancode license scanner the SPDX license identifier  GPL-2.0-onlyhas been chosen to replace the boilerplate/reference in 4122 file(s).Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;Reviewed-by: Kate Stewart &lt;kstewart@linuxfoundation.org&gt;Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;Cc: linux-spdx@vger.kernel.orgLink: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.deSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Tue, 04 Jun 2019 08:11:33 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>2bbb5fa3 - ACPI / platform: Add SMB0001 HID to forbidden_id_list</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#2bbb5fa3</link>
        <description>ACPI / platform: Add SMB0001 HID to forbidden_id_listMany HP AMD based laptops contain an SMB0001 device like this:Device (SMBD){    Name (_HID, &quot;SMB0001&quot;)  // _HID: Hardware ID    Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings    {        IO (Decode16,            0x0B20,             // Range Minimum            0x0B20,             // Range Maximum            0x20,               // Alignment            0x20,               // Length            )        IRQ (Level, ActiveLow, Shared, )            {7}    })}The legacy style IRQ resource here causes acpi_dev_get_irqresource() tobe called with legacy=true and this message to show in dmesg:ACPI: IRQ 7 override to edge, highThis causes issues when later on the AMD0030 GPIO device gets enumerated:Device (GPIO){    Name (_HID, &quot;AMDI0030&quot;)  // _HID: Hardware ID    Name (_CID, &quot;AMDI0030&quot;)  // _CID: Compatible ID    Name (_UID, Zero)  // _UID: Unique ID    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings    {	Name (RBUF, ResourceTemplate ()	{	    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )	    {		0x00000007,	    }	    Memory32Fixed (ReadWrite,		0xFED81500,         // Address Base		0x00000400,         // Address Length		)	})	Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */    }}Now acpi_dev_get_irqresource() gets called with legacy=false, but becauseof the earlier override of the trigger-type acpi_register_gsi() returns-EBUSY (because we try to register the same interrupt with a differenttrigger-type) and we end up setting IORESOURCE_DISABLED in the flags.The setting of IORESOURCE_DISABLED causes platform_get_irq() to callacpi_irq_get() which is not implemented on x86 and returns -EINVAL.resulting in the following in dmesg:amd_gpio AMDI0030:00: Failed to get gpio IRQ: -22amd_gpio: probe of AMDI0030:00 failed with error -22The SMB0001 is a &quot;virtual&quot; device in the sense that the only way the OSinteracts with it is through calling a couple of methods to do SMBustransfers. As such it is weird that it has IO and IRQ resources at all,because the driver for it is not expected to ever access the hardwaredirectly.The Linux driver for the SMB0001 device directly binds to the acpi_devicethrough the acpi_bus, so we do not need to instantiate a platform_devicefor this ACPI device. This commit adds the SMB0001 HID to theforbidden_id_list, avoiding the instantiating of a platform_device for it.Not instantiating a platform_device means we will no longer callacpi_dev_get_irqresource() for the legacy IRQ resource fixing the probe ofthe AMDI0030 device failing.BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1644013BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=198715BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=199523Reported-by: Lukas Kahnert &lt;openproggerfreak@gmail.com&gt;Tested-by: Marc &lt;suaefar@googlemail.com&gt;Cc: All applicable &lt;stable@vger.kernel.org&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/acpi_platform.c</description>
        <pubDate>Mon, 19 Nov 2018 18:06:01 +0000</pubDate>
        <dc:creator>Hans de Goede &lt;hdegoede@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>6396bb22 - treewide: kzalloc() -&gt; kcalloc()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#6396bb22</link>
        <description>treewide: kzalloc() -&gt; kcalloc()The kzalloc() function has a 2-factor argument form, kcalloc(). Thispatch replaces cases of:        kzalloc(a * b, gfp)with:        kcalloc(a * b, gfp)as well as handling cases of:        kzalloc(a * b * c, gfp)with:        kzalloc(array3_size(a, b, c), gfp)as it&apos;s slightly less ugly than:        kzalloc_array(array_size(a, b), c, gfp)This does, however, attempt to ignore constant size factors like:        kzalloc(4 * 1024, gfp)though any constants defined via macros get caught up in the conversion.Any factors with a sizeof() of &quot;unsigned char&quot;, &quot;char&quot;, and &quot;u8&quot; weredropped, since they&apos;re redundant.The Coccinelle script used for this was:// Fix redundant parens around sizeof().@@type TYPE;expression THING, E;@@(  kzalloc(-	(sizeof(TYPE)) * E+	sizeof(TYPE) * E  , ...)|  kzalloc(-	(sizeof(THING)) * E+	sizeof(THING) * E  , ...))// Drop single-byte sizes and redundant parens.@@expression COUNT;typedef u8;typedef __u8;@@(  kzalloc(-	sizeof(u8) * (COUNT)+	COUNT  , ...)|  kzalloc(-	sizeof(__u8) * (COUNT)+	COUNT  , ...)|  kzalloc(-	sizeof(char) * (COUNT)+	COUNT  , ...)|  kzalloc(-	sizeof(unsigned char) * (COUNT)+	COUNT  , ...)|  kzalloc(-	sizeof(u8) * COUNT+	COUNT  , ...)|  kzalloc(-	sizeof(__u8) * COUNT+	COUNT  , ...)|  kzalloc(-	sizeof(char) * COUNT+	COUNT  , ...)|  kzalloc(-	sizeof(unsigned char) * COUNT+	COUNT  , ...))// 2-factor product with sizeof(type/expression) and identifier or constant.@@type TYPE;expression THING;identifier COUNT_ID;constant COUNT_CONST;@@(- kzalloc+ kcalloc  (-	sizeof(TYPE) * (COUNT_ID)+	COUNT_ID, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(TYPE) * COUNT_ID+	COUNT_ID, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(TYPE) * (COUNT_CONST)+	COUNT_CONST, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(TYPE) * COUNT_CONST+	COUNT_CONST, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * (COUNT_ID)+	COUNT_ID, sizeof(THING)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * COUNT_ID+	COUNT_ID, sizeof(THING)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * (COUNT_CONST)+	COUNT_CONST, sizeof(THING)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * COUNT_CONST+	COUNT_CONST, sizeof(THING)  , ...))// 2-factor product, only identifiers.@@identifier SIZE, COUNT;@@- kzalloc+ kcalloc  (-	SIZE * COUNT+	COUNT, SIZE  , ...)// 3-factor product with 1 sizeof(type) or sizeof(expression), with// redundant parens removed.@@expression THING;identifier STRIDE, COUNT;type TYPE;@@(  kzalloc(-	sizeof(TYPE) * (COUNT) * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kzalloc(-	sizeof(TYPE) * (COUNT) * STRIDE+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kzalloc(-	sizeof(TYPE) * COUNT * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kzalloc(-	sizeof(TYPE) * COUNT * STRIDE+	array3_size(COUNT, STRIDE, sizeof(TYPE))  , ...)|  kzalloc(-	sizeof(THING) * (COUNT) * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kzalloc(-	sizeof(THING) * (COUNT) * STRIDE+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kzalloc(-	sizeof(THING) * COUNT * (STRIDE)+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...)|  kzalloc(-	sizeof(THING) * COUNT * STRIDE+	array3_size(COUNT, STRIDE, sizeof(THING))  , ...))// 3-factor product with 2 sizeof(variable), with redundant parens removed.@@expression THING1, THING2;identifier COUNT;type TYPE1, TYPE2;@@(  kzalloc(-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))  , ...)|  kzalloc(-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))  , ...)|  kzalloc(-	sizeof(THING1) * sizeof(THING2) * COUNT+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))  , ...)|  kzalloc(-	sizeof(THING1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))  , ...)|  kzalloc(-	sizeof(TYPE1) * sizeof(THING2) * COUNT+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))  , ...)|  kzalloc(-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))  , ...))// 3-factor product, only identifiers, with redundant parens removed.@@identifier STRIDE, SIZE, COUNT;@@(  kzalloc(-	(COUNT) * STRIDE * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	COUNT * (STRIDE) * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	COUNT * STRIDE * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	(COUNT) * (STRIDE) * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	COUNT * (STRIDE) * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	(COUNT) * STRIDE * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	(COUNT) * (STRIDE) * (SIZE)+	array3_size(COUNT, STRIDE, SIZE)  , ...)|  kzalloc(-	COUNT * STRIDE * SIZE+	array3_size(COUNT, STRIDE, SIZE)  , ...))// Any remaining multi-factor products, first at least 3-factor products,// when they&apos;re not all constants...@@expression E1, E2, E3;constant C1, C2, C3;@@(  kzalloc(C1 * C2 * C3, ...)|  kzalloc(-	(E1) * E2 * E3+	array3_size(E1, E2, E3)  , ...)|  kzalloc(-	(E1) * (E2) * E3+	array3_size(E1, E2, E3)  , ...)|  kzalloc(-	(E1) * (E2) * (E3)+	array3_size(E1, E2, E3)  , ...)|  kzalloc(-	E1 * E2 * E3+	array3_size(E1, E2, E3)  , ...))// And then all remaining 2 factors products when they&apos;re not all constants,// keeping sizeof() as the second factor argument.@@expression THING, E1, E2;type TYPE;constant C1, C2, C3;@@(  kzalloc(sizeof(THING) * C2, ...)|  kzalloc(sizeof(TYPE) * C2, ...)|  kzalloc(C1 * C2 * C3, ...)|  kzalloc(C1 * C2, ...)|- kzalloc+ kcalloc  (-	sizeof(TYPE) * (E2)+	E2, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(TYPE) * E2+	E2, sizeof(TYPE)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * (E2)+	E2, sizeof(THING)  , ...)|- kzalloc+ kcalloc  (-	sizeof(THING) * E2+	E2, sizeof(THING)  , ...)|- kzalloc+ kcalloc  (-	(E1) * E2+	E1, E2  , ...)|- kzalloc+ kcalloc  (-	(E1) * (E2)+	E1, E2  , ...)|- kzalloc+ kcalloc  (-	E1 * E2+	E1, E2  , ...))Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Tue, 12 Jun 2018 21:03:40 +0000</pubDate>
        <dc:creator>Kees Cook &lt;keescook@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>79f97c30 - ACPI / platform: Update platform device NUMA node based on _PXM method</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#79f97c30</link>
        <description>ACPI / platform: Update platform device NUMA node based on _PXM methodThe optional _PXM method evaluates to an integer that identifies theproximity domain of a device object. On ACPI based kernel boot, thefield numa_node in &apos;struct device&apos; is always set to -1 irrespectiveof _PXM value that is specified in the ACPI device object. But incase of device-tree based kernel boot the numa_node field is populatedand reflects to a DT property that is specified in DTS according tothe below document.https://www.kernel.org/doc/Documentation/devicetree/bindings/numa.txthttp://lxr.free-electrons.com/source/drivers/of/device.c#L54Without this patch dev_to_node() always returns -1 for all platformdevices. This patch adds support for the ACPI _PXM method and updatesthe platform device NUMA node id using acpi_get_node() which providesthe PXM-to-NUMA mapping information.The individual platform device drivers should be able to use theNUMA-aware memory allocation functions kmalloc_node() andalloc_pages_node() to improve performance.Signed-off-by: Shanker Donthineni &lt;shankerd@codeaurora.org&gt;Reviewed-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt;Tested-by: Jiandi An &lt;anjiandi@codeaurora.org&gt;[ rjw: Subject / changelog ]Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 29 Mar 2017 11:39:19 +0000</pubDate>
        <dc:creator>Shanker Donthineni &lt;shankerd@codeaurora.org&gt;</dc:creator>
    </item>
<item>
        <title>08f63d97 - ACPI: Do not create a platform_device for IOAPIC/IOxAPIC</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#08f63d97</link>
        <description>ACPI: Do not create a platform_device for IOAPIC/IOxAPICNo platform-device is required for IO(x)APICs, so don&apos;t evencreate them.[ rjw: This fixes a problem with leaking platform device objects  after IOAPIC/IOxAPIC hot-removal events.]Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt;Cc: All applicable &lt;stable@vger.kernel.org&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Wed, 22 Mar 2017 17:33:25 +0000</pubDate>
        <dc:creator>Joerg Roedel &lt;jroedel@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>1571875b - ACPI / platform: Add support for build-in properties</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#1571875b</link>
        <description>ACPI / platform: Add support for build-in propertiesWe have a couple of drivers, acpi_apd.c and acpi_lpss.c,that need to pass extra build-in properties to the devicesthey create. Previously the drivers added those propertiesto the struct device which is member of the structacpi_device, but that does not work. Those properties needto be assigned to the struct device of the platform deviceinstead in order for them to become available to thedrivers.To fix this, this patch changes acpi_create_platform_devicefunction to take struct property_entry pointer as parameter.Fixes: 20a875e2e86e (serial: 8250_dw: Add quirk for APM X-Gene SoC)Signed-off-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;Tested-by: Yazen Ghannam &lt;yazen.ghannam@amd.com&gt;Tested-by: J&#233;r&#244;me de Bretagne &lt;jerome.debretagne@gmail.com&gt;Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Thu, 03 Nov 2016 14:21:26 +0000</pubDate>
        <dc:creator>Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>a252d881 - ACPI / platform: Pay attention to parent device&apos;s resources</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#a252d881</link>
        <description>ACPI / platform: Pay attention to parent device&apos;s resourcesGiven following simplified device hierarchy:  // PCI device having BAR0 (RMEM) split between 4 GPIO devices.  Device (P2S)  {      Name (_ADR, 0x000d0000)      Device (GPO0)      {          Name (_HID, &quot;INT3452&quot;)          Name (_UID, 1)          Name (_CRS, ResourceTemplate () {              Memory32Fixed (ReadWrite, 0, 0x4000, RMEM + 0x0000)          })      }      Device (GPO1)      {          Name (_HID, &quot;INT3452&quot;)          Name (_UID, 2)          Name (_CRS, ResourceTemplate () {              Memory32Fixed (ReadWrite, 0, 0x4000, RMEM + 0x4000)          })      }      Device (GPO2)      {          Name (_HID, &quot;INT3452&quot;)          Name (_UID, 3)          Name (_CRS, ResourceTemplate () {              Memory32Fixed (ReadWrite, 0, 0x4000, RMEM + 0x8000)          })      }      Device (GPO3)      {          Name (_HID, &quot;INT3452&quot;)          Name (_UID, 4)          Name (_CRS, ResourceTemplate () {              Memory32Fixed (ReadWrite, 0, 0x4000, RMEM + 0xc000)          })      }  }The current ACPI platform enumeration code allocates resources from theglobal MMIO resource pool (/proc/iomem) for all the four GPIO devices.After this PCI core calls pcibios_resource_survey() to allocate resourcesfor all PCI devices including the parent device for these GPIO devices(P2S). Since that resource range has already been reserved the allocationfails.The reason for this is that we never bother with parent device&apos;s resourceswhen ACPI platform devices are created.Fix this by checking whether there is a parent device and in that case makesure we assign correct parent resource to the resources for the child ACPIplatform device. Currently we only deal with parent devices if they are PCIdevices but we may expand this later to cover other bus types as well.Reported-by: Aaron Durbin &lt;adurbin@google.com&gt;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/acpi/acpi_platform.c</description>
        <pubDate>Thu, 15 Sep 2016 08:07:04 +0000</pubDate>
        <dc:creator>Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>3b95bd16 - ACPI: introduce a function to find the first physical device</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#3b95bd16</link>
        <description>ACPI: introduce a function to find the first physical deviceFactor out the code that finds the first physical deviceof a given ACPI device.  It is used in several places.Signed-off-by: Aleksey Makarov &lt;aleksey.makarov@linaro.org&gt;Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Tue, 16 Feb 2016 12:52:38 +0000</pubDate>
        <dc:creator>Aleksey Makarov &lt;aleksey.makarov@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>9a975bee - drivers: Initialize resource entry to zero</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/drivers/acpi/acpi_platform.c#9a975bee</link>
        <description>drivers: Initialize resource entry to zeroI/O resource descriptor, &apos;desc&apos; in struct resource, needs to beinitialized to zero by default.  Some drivers call kmalloc() toallocate a resource entry, but do not initialize it to zero bymemset().  Change these drivers to call kzalloc(), instead.Signed-off-by: Toshi Kani &lt;toshi.kani@hpe.com&gt;Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;Acked-by: Alexandre Bounine &lt;alexandre.bounine@idt.com&gt;Acked-by: Helge Deller &lt;deller@gmx.de&gt;Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;Acked-by: Simon Horman &lt;horms+renesas@verge.net.au&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Cc: Andy Lutomirski &lt;luto@amacapital.net&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Brian Gerst &lt;brgerst@gmail.com&gt;Cc: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Cc: Luis R. Rodriguez &lt;mcgrof@suse.com&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Toshi Kani &lt;toshi.kani@hp.com&gt;Cc: linux-acpi@vger.kernel.orgCc: linux-arch@vger.kernel.orgCc: linux-mm &lt;linux-mm@kvack.org&gt;Cc: linux-parisc@vger.kernel.orgCc: linux-renesas-soc@vger.kernel.orgCc: linux-sh@vger.kernel.orgLink: http://lkml.kernel.org/r/1453841853-11383-10-git-send-email-bp@alien8.deSigned-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;

            List of files:
            /linux-6.15/drivers/acpi/acpi_platform.c</description>
        <pubDate>Tue, 26 Jan 2016 20:57:25 +0000</pubDate>
        <dc:creator>Toshi Kani &lt;toshi.kani@hpe.com&gt;</dc:creator>
    </item>
</channel>
</rss>
