All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thorsten Leemhuis <regressions@leemhuis.info>
To: "regressions@lists.linux.dev" <regressions@lists.linux.dev>
Subject: Re: [PATCH v5 2/5] acpi: Store CRC-32 hash of the _PLD in struct acpi_device #forregzbot
Date: Sat, 5 Feb 2022 06:17:32 +0100	[thread overview]
Message-ID: <33f5aac4-85ee-faae-15a7-ae90d78ed1c0@leemhuis.info> (raw)
In-Reply-To: <20220130164126.GA2942650@roeck-us.net>

For the record:

#regzbot fixed-by: 04662bac0067e2fd7f243d6abaa4d779bce14114

TWIMC: this mail is primarily send for documentation purposes and for
regzbot, my Linux kernel regression tracking bot. These mails usually
contain '#forregzbot' in the subject, to make them easy to spot and filter.

On 30.01.22 17:41, Guenter Roeck wrote:
> On Thu, Dec 23, 2021 at 11:16:17AM +0300, Heikki Krogerus wrote:
>> Storing CRC-32 hash of the Physical Location of Device
>> object (_PLD) with devices that have it. The hash is stored
>> to a new struct acpi_device member "pld_crc".
>>
>> The hash makes it easier to find devices that share a
>> location, as there is no need to evaluate the entire object
>> every time. Knowledge about devices that share a location
>> can be used in device drivers that need to know the
>> connections to other components inside a system. USB3 ports
>> will for example always share their location with a USB2
>> port.
>>
>> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> 
> Building ia64:tinyconfig ... failed
> 
> ia64-linux-ld: drivers/acpi/scan.o: in function `__acpi_device_add':
> scan.c:(.text+0x27e2): undefined reference to `crc32_le'
> 
> ACPI now depends on CRC32.
> 
> #regzbot introduced: 882c982dada4d5
> 
> Guenter
> 
>> ---
>>  drivers/acpi/scan.c     | 16 ++++++++++++++++
>>  include/acpi/acpi_bus.h |  1 +
>>  2 files changed, 17 insertions(+)
>>
>> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
>> index 7ff55a197a583..113414c46b713 100644
>> --- a/drivers/acpi/scan.c
>> +++ b/drivers/acpi/scan.c
>> @@ -19,6 +19,7 @@
>>  #include <linux/dma-map-ops.h>
>>  #include <linux/platform_data/x86/apple.h>
>>  #include <linux/pgtable.h>
>> +#include <linux/crc32.h>
>>  
>>  #include "internal.h"
>>  
>> @@ -667,6 +668,19 @@ static int acpi_tie_acpi_dev(struct acpi_device *adev)
>>  	return 0;
>>  }
>>  
>> +static void acpi_store_pld_crc(struct acpi_device *adev)
>> +{
>> +	struct acpi_pld_info *pld;
>> +	acpi_status status;
>> +
>> +	status = acpi_get_physical_device_location(adev->handle, &pld);
>> +	if (ACPI_FAILURE(status))
>> +		return;
>> +
>> +	adev->pld_crc = crc32(~0, pld, sizeof(*pld));
>> +	ACPI_FREE(pld);
>> +}
>> +
>>  static int __acpi_device_add(struct acpi_device *device,
>>  			     void (*release)(struct device *))
>>  {
>> @@ -725,6 +739,8 @@ static int __acpi_device_add(struct acpi_device *device,
>>  	if (device->wakeup.flags.valid)
>>  		list_add_tail(&device->wakeup_list, &acpi_wakeup_device_list);
>>  
>> +	acpi_store_pld_crc(device);
>> +
>>  	mutex_unlock(&acpi_device_lock);
>>  
>>  	if (device->parent)
>> diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
>> index 8e87ead2af341..f8c945418df23 100644
>> --- a/include/acpi/acpi_bus.h
>> +++ b/include/acpi/acpi_bus.h
>> @@ -360,6 +360,7 @@ struct acpi_gpio_mapping;
>>  
>>  /* Device */
>>  struct acpi_device {
>> +	u32 pld_crc;
>>  	int device_type;
>>  	acpi_handle handle;		/* no handle for fixed hardware */
>>  	struct fwnode_handle fwnode;


  reply	other threads:[~2022-02-05  5:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-23  8:16 [PATCH v5 0/5] acpi: Store _PLD information and convert users Heikki Krogerus
2021-12-23  8:16 ` [PATCH v5 1/5] acpi: Export acpi_bus_type Heikki Krogerus
2021-12-23  8:16 ` [PATCH v5 2/5] acpi: Store CRC-32 hash of the _PLD in struct acpi_device Heikki Krogerus
2022-01-30 16:41   ` Guenter Roeck
2022-02-05  5:17     ` Thorsten Leemhuis [this message]
2021-12-23  8:23 ` [PATCH v5 3/5] usb: Link the ports to the connectors they are attached to Heikki Krogerus
2021-12-23  8:24 ` [PATCH v5 4/5] usb: typec: port-mapper: Convert to the component framework Heikki Krogerus
2022-01-25 14:00   ` 'Re: [PATCH v5 4/5] usb: typec: port-mapper: Convert to the component framework' Mike Lothian
2022-01-25 14:10     ` Mike Lothian
2022-01-25 14:32     ` Heikki Krogerus
2022-01-25 15:11       ` Mike Lothian
2021-12-23  8:24 ` [PATCH v5 5/5] usb: Remove usb_for_each_port() Heikki Krogerus
2021-12-27 16:18 ` [PATCH v5 0/5] acpi: Store _PLD information and convert users Rafael J. Wysocki
2021-12-30 11:11   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=33f5aac4-85ee-faae-15a7-ae90d78ed1c0@leemhuis.info \
    --to=regressions@leemhuis.info \
    --cc=regressions@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.