git: ce968b095e75 - main - cpufreq: Use a real device_probe routine

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 21 Oct 2024 14:26:49 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=ce968b095e75262ba3605491acf6850ce331481d

commit ce968b095e75262ba3605491acf6850ce331481d
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-10-21 14:24:15 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-10-21 14:24:15 +0000

    cpufreq: Use a real device_probe routine
    
    cpufreq doesn't have any child drivers, so calling bus_generic_probe
    was a nop.
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D47184
---
 sys/kern/kern_cpu.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/sys/kern/kern_cpu.c b/sys/kern/kern_cpu.c
index 23256f37a3f7..1b55ebf0738b 100644
--- a/sys/kern/kern_cpu.c
+++ b/sys/kern/kern_cpu.c
@@ -97,6 +97,7 @@ TAILQ_HEAD(cf_setting_lst, cf_setting_array);
 		printf("cpufreq: " msg);	\
 	} while (0)
 
+static int	cpufreq_probe(device_t dev);
 static int	cpufreq_attach(device_t dev);
 static void	cpufreq_startup_task(void *ctx, int pending);
 static int	cpufreq_detach(device_t dev);
@@ -116,7 +117,7 @@ static int	cpufreq_levels_sysctl(SYSCTL_HANDLER_ARGS);
 static int	cpufreq_settings_sysctl(SYSCTL_HANDLER_ARGS);
 
 static device_method_t cpufreq_methods[] = {
-	DEVMETHOD(device_probe,		bus_generic_probe),
+	DEVMETHOD(device_probe,		cpufreq_probe),
 	DEVMETHOD(device_attach,	cpufreq_attach),
 	DEVMETHOD(device_detach,	cpufreq_detach),
 
@@ -141,6 +142,13 @@ SYSCTL_INT(_debug_cpufreq, OID_AUTO, lowest, CTLFLAG_RWTUN, &cf_lowest_freq, 1,
 SYSCTL_INT(_debug_cpufreq, OID_AUTO, verbose, CTLFLAG_RWTUN, &cf_verbose, 1,
     "Print verbose debugging messages");
 
+static int
+cpufreq_probe(device_t dev)
+{
+	device_set_desc(dev, "CPU frequency control");
+	return (BUS_PROBE_DEFAULT);
+}
+
 /*
  * This is called as the result of a hardware specific frequency control driver
  * calling cpufreq_register. It provides a general interface for system wide