diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig index cd0b562913f..509d6238d2d 100644 --- a/drivers/devfreq/Kconfig +++ b/drivers/devfreq/Kconfig @@ -12,27 +12,6 @@ config DEVFREQ if DEVFREQ -choice - prompt "DEVFREQ_DEFAULT_GOVERNOR" - default DEVFREQ_DEFAULT_GOV_PERFORMANCE - -config DEVFREQ_DEFAULT_GOV_PERFORMANCE - bool "devfreq_performance" - ---help--- - devfreq performance governor, always choose the highest frequency - -config DEVFREQ_DEFAULT_GOV_POWERSAVE - bool "devfreq_powersave" - ---help--- - devfreq powersave governor, always choose the lowest frequency - -config DEVFREQ_DEFAULT_GOV_PASSIVE - bool "devfreq_passive" - ---help--- - devfreq passive governor, a device-defined governor - -endchoice - config DEVFREQ_PROCFS bool "devfreq_procfs" default n diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index c2116315b5c..28eaa2b6096 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -485,6 +485,9 @@ FAR struct devfreq_s *devfreq_register( devfreq->priv = priv; devfreq->suspended = false; devfreq->freq_table = driver->get_table(devfreq); + devfreq->min = 0; + devfreq->max = UINT32_MAX; + devfreq->cur = driver->get_frequency(devfreq); if (!devfreq->freq_table) { goto out; @@ -497,13 +500,11 @@ FAR struct devfreq_s *devfreq_register( if (!governor) { - devfreq->governor = devfreq_default_governor(); - } - else - { - devfreq->governor = governor; + goto out; } + devfreq->governor = governor; + if (devfreq_init_governor(devfreq) < 0) { goto out; diff --git a/drivers/devfreq/devfreq_performance.c b/drivers/devfreq/devfreq_performance.c index 5e582607f9e..1b39ce3341c 100644 --- a/drivers/devfreq/devfreq_performance.c +++ b/drivers/devfreq/devfreq_performance.c @@ -24,8 +24,6 @@ #include -#ifdef CONFIG_DEVFREQ_DEFAULT_GOV_PERFORMANCE - /**************************************************************************** * Private Function Prototypes ****************************************************************************/ @@ -55,9 +53,7 @@ static uint32_t devfreq_performance_limit(FAR struct devfreq_s *devfreq) * Public Functions ****************************************************************************/ -FAR struct devfreq_governor_s *devfreq_default_governor(void) +FAR struct devfreq_governor_s *devfreq_performance(void) { return &g_devfreq_gov_performance; } - -#endif /* CONFIG_DEVFREQ_DEFAULT_GOV_PERFORMANCE */ diff --git a/drivers/devfreq/devfreq_powersave.c b/drivers/devfreq/devfreq_powersave.c index bc4e991dd12..6d272c1753a 100644 --- a/drivers/devfreq/devfreq_powersave.c +++ b/drivers/devfreq/devfreq_powersave.c @@ -24,8 +24,6 @@ #include -#ifdef CONFIG_DEVFREQ_DEFAULT_GOV_POWERSAVE - /**************************************************************************** * Private Function Prototypes ****************************************************************************/ @@ -55,9 +53,7 @@ static uint32_t devfreq_powersave_limit(FAR struct devfreq_s *devfreq) * Public Functions ****************************************************************************/ -FAR struct devfreq_governor_s *devfreq_default_governor(void) +FAR struct devfreq_governor_s *devfreq_powersave(void) { return &g_devfreq_gov_powersave; } - -#endif /* CONFIG_DEVFREQ_DEFAULT_GOV_POWERSAVE */ diff --git a/include/nuttx/devfreq.h b/include/nuttx/devfreq.h index 2487a05bf1e..426d3fb585f 100644 --- a/include/nuttx/devfreq.h +++ b/include/nuttx/devfreq.h @@ -222,7 +222,7 @@ int devfreq_unregister_notifier(FAR struct devfreq_s *devfreq, FAR struct notifier_block *nb); /**************************************************************************** - * Name: devfreq_get + * Name: devfreq_get_frequency * * Description: * get the current device frequency (in kHz) @@ -342,11 +342,8 @@ FAR struct devfreq_s *devfreq_find_by_index(size_t index); void devfreq_procfs_initialize(void); -#ifdef CONFIG_DEVFREQ_DEFAULT_GOV_PASSIVE -#define devfreq_default_governor() NULL -#else -FAR struct devfreq_governor_s *devfreq_default_governor(void); -#endif +FAR struct devfreq_governor_s *devfreq_performance(void); +FAR struct devfreq_governor_s *devfreq_powersave(void); #undef EXTERN #if defined(__cplusplus)