From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Wang Subject: [PATCH v5 4/9] x86/intel_pstate: relocate the driver register function Date: Mon, 14 Sep 2015 10:32:05 +0800 Message-ID: <1442197930-3738-5-git-send-email-wei.w.wang@intel.com> References: <1442197930-3738-1-git-send-email-wei.w.wang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1442197930-3738-1-git-send-email-wei.w.wang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: jbeulich@suse.com, andrew.cooper3@citrix.com, xen-devel@lists.xen.org Cc: Wei Wang List-Id: xen-devel@lists.xenproject.org Move the driver register function to the cpufreq.c. Signed-off-by: Wei Wang --- xen/drivers/cpufreq/cpufreq.c | 15 +++++++++++++++ xen/include/acpi/cpufreq/cpufreq.h | 27 +-------------------------- 2 files changed, 16 insertions(+), 26 deletions(-) changes in v5: 1) keep cpufreq_presmp_init() intact. diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c index 567e9e9..0c437d4 100644 --- a/xen/drivers/cpufreq/cpufreq.c +++ b/xen/drivers/cpufreq/cpufreq.c @@ -638,3 +638,18 @@ static int __init cpufreq_presmp_init(void) } presmp_initcall(cpufreq_presmp_init); +int cpufreq_register_driver(struct cpufreq_driver *driver_data) +{ + if ( !driver_data || !driver_data->init || + !driver_data->verify || !driver_data->exit || + (!driver_data->target == !driver_data->setpolicy) ) + return -EINVAL; + + if ( cpufreq_driver ) + return -EBUSY; + + cpufreq_driver = driver_data; + + register_cpu_notifier(&cpu_nfb); + return 0; +} diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h index 1ec04ca..c6976d0 100644 --- a/xen/include/acpi/cpufreq/cpufreq.h +++ b/xen/include/acpi/cpufreq/cpufreq.h @@ -170,32 +170,7 @@ struct cpufreq_driver { extern struct cpufreq_driver *cpufreq_driver; -static __inline__ -int cpufreq_register_driver(struct cpufreq_driver *driver_data) -{ - if (!driver_data || - !driver_data->init || - !driver_data->exit || - !driver_data->verify || - !driver_data->target) - return -EINVAL; - - if (cpufreq_driver) - return -EBUSY; - - cpufreq_driver = driver_data; - return 0; -} - -static __inline__ -int cpufreq_unregister_driver(struct cpufreq_driver *driver) -{ - if (!cpufreq_driver || (driver != cpufreq_driver)) - return -EINVAL; - - cpufreq_driver = NULL; - return 0; -} +extern int cpufreq_register_driver(struct cpufreq_driver *driver_data); static __inline__ void cpufreq_verify_within_limits(struct cpufreq_policy *policy, -- 1.9.1