From: Jonathan Cameron <Jonathan.Cameron@huawei.com> To: Thomas Gleixner <tglx@linutronix.de>, Peter Zijlstra <peterz@infradead.org>, <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>, <linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <kvmarm@lists.linux.dev>, <x86@kernel.org>, Russell King <linux@armlinux.org.uk>, "Rafael J . Wysocki" <rafael@kernel.org>, Miguel Luis <miguel.luis@oracle.com>, James Morse <james.morse@arm.com>, Salil Mehta <salil.mehta@huawei.com>, Jean-Philippe Brucker <jean-philippe@linaro.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> Cc: Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, <linuxarm@huawei.com>, <justin.he@arm.com>, <jianyong.wu@arm.com> Subject: [PATCH v6 07/16] ACPI: scan: switch to flags for acpi_scan_check_and_detach(); Date: Wed, 17 Apr 2024 14:19:00 +0100 [thread overview] Message-ID: <20240417131909.7925-8-Jonathan.Cameron@huawei.com> (raw) In-Reply-To: <20240417131909.7925-1-Jonathan.Cameron@huawei.com> Precursor patch adds the ability to pass a uintptr_t of flags into acpi_scan_check_and detach() so that additional flags can be added to indicate whether to defer portions of the eject flow. The new flag follows in the next patch. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> --- v6: Based on internal feedback switch to less invasive change to using flags rather than a struct. v5: New patch resulting from rebase. - Internal review suggested we could also do this with flags so I'm looking for feedback on which option people find more readable. --- drivers/acpi/scan.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index d1464324de95..1ec9677e6c2d 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -244,13 +244,16 @@ static int acpi_scan_try_to_offline(struct acpi_device *device) return 0; } -static int acpi_scan_check_and_detach(struct acpi_device *adev, void *check) +#define ACPI_SCAN_CHECK_FLAG_STATUS BIT(0) + +static int acpi_scan_check_and_detach(struct acpi_device *adev, void *p) { struct acpi_scan_handler *handler = adev->handler; + uintptr_t flags = (uintptr_t)p; - acpi_dev_for_each_child_reverse(adev, acpi_scan_check_and_detach, check); + acpi_dev_for_each_child_reverse(adev, acpi_scan_check_and_detach, p); - if (check) { + if (flags & ACPI_SCAN_CHECK_FLAG_STATUS) { acpi_bus_get_status(adev); /* * Skip devices that are still there and take the enabled @@ -288,7 +291,9 @@ static int acpi_scan_check_and_detach(struct acpi_device *adev, void *check) static void acpi_scan_check_subtree(struct acpi_device *adev) { - acpi_scan_check_and_detach(adev, (void *)true); + uintptr_t flags = ACPI_SCAN_CHECK_FLAG_STATUS; + + acpi_scan_check_and_detach(adev, (void *)flags); } static int acpi_scan_hot_remove(struct acpi_device *device) @@ -2601,7 +2606,9 @@ EXPORT_SYMBOL(acpi_bus_scan); */ void acpi_bus_trim(struct acpi_device *adev) { - acpi_scan_check_and_detach(adev, NULL); + uintptr_t flags = 0; + + acpi_scan_check_and_detach(adev, (void *)flags); } EXPORT_SYMBOL_GPL(acpi_bus_trim); -- 2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@huawei.com> To: Thomas Gleixner <tglx@linutronix.de>, Peter Zijlstra <peterz@infradead.org>, <linux-pm@vger.kernel.org>, <loongarch@lists.linux.dev>, <linux-acpi@vger.kernel.org>, <linux-arch@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <kvmarm@lists.linux.dev>, <x86@kernel.org>, Russell King <linux@armlinux.org.uk>, "Rafael J . Wysocki" <rafael@kernel.org>, Miguel Luis <miguel.luis@oracle.com>, James Morse <james.morse@arm.com>, Salil Mehta <salil.mehta@huawei.com>, Jean-Philippe Brucker <jean-philippe@linaro.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> Cc: Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, <linuxarm@huawei.com>, <justin.he@arm.com>, <jianyong.wu@arm.com> Subject: [PATCH v6 07/16] ACPI: scan: switch to flags for acpi_scan_check_and_detach(); Date: Wed, 17 Apr 2024 14:19:00 +0100 [thread overview] Message-ID: <20240417131909.7925-8-Jonathan.Cameron@huawei.com> (raw) In-Reply-To: <20240417131909.7925-1-Jonathan.Cameron@huawei.com> Precursor patch adds the ability to pass a uintptr_t of flags into acpi_scan_check_and detach() so that additional flags can be added to indicate whether to defer portions of the eject flow. The new flag follows in the next patch. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> --- v6: Based on internal feedback switch to less invasive change to using flags rather than a struct. v5: New patch resulting from rebase. - Internal review suggested we could also do this with flags so I'm looking for feedback on which option people find more readable. --- drivers/acpi/scan.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index d1464324de95..1ec9677e6c2d 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -244,13 +244,16 @@ static int acpi_scan_try_to_offline(struct acpi_device *device) return 0; } -static int acpi_scan_check_and_detach(struct acpi_device *adev, void *check) +#define ACPI_SCAN_CHECK_FLAG_STATUS BIT(0) + +static int acpi_scan_check_and_detach(struct acpi_device *adev, void *p) { struct acpi_scan_handler *handler = adev->handler; + uintptr_t flags = (uintptr_t)p; - acpi_dev_for_each_child_reverse(adev, acpi_scan_check_and_detach, check); + acpi_dev_for_each_child_reverse(adev, acpi_scan_check_and_detach, p); - if (check) { + if (flags & ACPI_SCAN_CHECK_FLAG_STATUS) { acpi_bus_get_status(adev); /* * Skip devices that are still there and take the enabled @@ -288,7 +291,9 @@ static int acpi_scan_check_and_detach(struct acpi_device *adev, void *check) static void acpi_scan_check_subtree(struct acpi_device *adev) { - acpi_scan_check_and_detach(adev, (void *)true); + uintptr_t flags = ACPI_SCAN_CHECK_FLAG_STATUS; + + acpi_scan_check_and_detach(adev, (void *)flags); } static int acpi_scan_hot_remove(struct acpi_device *device) @@ -2601,7 +2606,9 @@ EXPORT_SYMBOL(acpi_bus_scan); */ void acpi_bus_trim(struct acpi_device *adev) { - acpi_scan_check_and_detach(adev, NULL); + uintptr_t flags = 0; + + acpi_scan_check_and_detach(adev, (void *)flags); } EXPORT_SYMBOL_GPL(acpi_bus_trim); -- 2.39.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2024-04-17 13:22 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-04-17 13:18 [PATCH v6 00/16] ACPI/arm64: add support for virtual cpu hotplug Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 01/16] ACPI: processor: Simplify initial onlining to use same path for cold and hotplug Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 02/16] cpu: Do not warn on arch_register_cpu() returning -EPROBE_DEFER Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 14:01 ` Russell King (Oracle) 2024-04-17 14:01 ` Russell King (Oracle) 2024-04-17 14:41 ` Jonathan Cameron 2024-04-17 14:41 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 03/16] ACPI: processor: Drop duplicated check on _STA (enabled + present) Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 04/16] ACPI: processor: Move checks and availability of acpi_processor earlier Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 15:08 ` Salil Mehta 2024-04-17 15:08 ` Salil Mehta 2024-04-17 15:19 ` Jonathan Cameron 2024-04-17 15:19 ` Jonathan Cameron 2024-04-18 8:16 ` Jonathan Cameron 2024-04-18 8:16 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 05/16] ACPI: processor: Add acpi_get_processor_handle() helper Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 13:18 ` [PATCH v6 06/16] ACPI: processor: Register deferred CPUs from acpi_processor_get_info() Jonathan Cameron 2024-04-17 13:18 ` Jonathan Cameron 2024-04-17 15:03 ` Salil Mehta 2024-04-17 15:03 ` Salil Mehta 2024-04-17 15:38 ` Jonathan Cameron 2024-04-17 15:38 ` Jonathan Cameron 2024-04-17 15:59 ` Rafael J. Wysocki 2024-04-17 15:59 ` Rafael J. Wysocki 2024-04-17 17:09 ` Jonathan Cameron 2024-04-17 17:09 ` Jonathan Cameron 2024-04-17 17:59 ` Rafael J. Wysocki 2024-04-17 17:59 ` Rafael J. Wysocki 2024-04-17 18:57 ` Jonathan Cameron 2024-04-17 18:57 ` Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron [this message] 2024-04-17 13:19 ` [PATCH v6 07/16] ACPI: scan: switch to flags for acpi_scan_check_and_detach(); Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 08/16] ACPI: Add post_eject to struct acpi_scan_handler for cpu hotplug Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 09/16] arm64: acpi: Move get_cpu_for_acpi_id() to a header Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 10/16] irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc() Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 11/16] irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 12/16] arm64: psci: Ignore DENIED CPUs Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 13/16] arm64: arch_register_cpu() variant to check if an ACPI handle is now available Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 16:33 ` Salil Mehta 2024-04-17 16:33 ` Salil Mehta 2024-04-17 16:55 ` Jonathan Cameron 2024-04-17 16:55 ` Jonathan Cameron 2024-04-17 17:03 ` Salil Mehta 2024-04-17 17:03 ` Salil Mehta 2024-04-17 13:19 ` [PATCH v6 14/16] arm64: Kconfig: Enable hotplug CPU on arm64 if ACPI_PROCESSOR is enabled Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 15/16] arm64: document virtual CPU hotplug's expectations Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 13:19 ` [PATCH v6 16/16] cpumask: Add enabled cpumask for present CPUs that can be brought online Jonathan Cameron 2024-04-17 13:19 ` Jonathan Cameron 2024-04-17 17:01 ` Salil Mehta 2024-04-17 17:01 ` Salil Mehta
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=20240417131909.7925-8-Jonathan.Cameron@huawei.com \ --to=jonathan.cameron@huawei.com \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=dave.hansen@linux.intel.com \ --cc=james.morse@arm.com \ --cc=jean-philippe@linaro.org \ --cc=jianyong.wu@arm.com \ --cc=justin.he@arm.com \ --cc=kvmarm@lists.linux.dev \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=linuxarm@huawei.com \ --cc=loongarch@lists.linux.dev \ --cc=miguel.luis@oracle.com \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=rafael@kernel.org \ --cc=salil.mehta@huawei.com \ --cc=tglx@linutronix.de \ --cc=will@kernel.org \ --cc=x86@kernel.org \ /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: linkBe 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.