Apply new sysfs API to x86_64 core
PATCH 1/1 Apply new sysfs API to x86_64 core
This patch is against 2.5.71, and brings x86_64 into line with the new sysfs API.
<b
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas:
# ChangeSet 1.1314 -> 1.1315
# arch/x86_64/kernel/apic.c 1.23 -> 1.24
# arch/x86_64/kernel/nmi.c 1.12 -> 1.13
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/06/14 [email protected] 1.1315
# Bring x86_64 into line with new sysfs API.
# --------------------------------------------
#
arch/x86_64/kernel/apic.c +15 -21
@@ -25,6 +25,7 @@#include <linux/interrupt.h> #include <linux/mc146818rtc.h> #include <linux/kernel_stat.h> +#include <linux/sysdev.h> #include <asm/atomic.h> #include <asm/smp.h>
@@ -464,13 +465,11 @@unsigned int apic_thmr; } apic_pm_state; -static int lapic_suspend (struct device *dev,u32 state,u32 level) +static int lapic_suspend (struct sys_device *dev,u32 state) {unsigned int l, h;unsigned long flags; -if (level !=SUSPEND_POWER_DOWN ) -return 0 ;if (!apic_pm_state.active)return 0 ;
@@ -497,13 +496,11 @@return 0 ; } -static int lapic_resume (struct device *dev,u32 level) +static int lapic_resume (struct sys_device *dev) {unsigned int l, h;unsigned long flags; -if (level !=RESUME_POWER_ON ) -return 0 ;if (!apic_pm_state.active)return 0 ;
@@ -537,38 +534,35 @@ return 0; } -static struct device_driver lapic_driver = { - .name ="lapic" , - .bus = &system_bus_type, +static struct sysdev_class lapic_sysclass = { +set_kset_name ("lapic" ), .resume = lapic_resume, .suspend = lapic_suspend, }; -/* not static, needed by child devices */ -struct sys_device device_lapic = { - .name ="lapic" , +static struct sys_device device_lapic = { .id =0 , - .dev = { - .name ="lapic" , - .driver = &lapic_driver, - }, + .cls = &lapic_sysclass, }; -EXPORT_SYMBOL (device_lapic);static void __init apic_pm_activate (void ) { apic_pm_state.active =1 ; } -static int __init init_lapic_devicefs (void ) +static int __init init_lapic_sysfs (void ) { +int error; +if (!cpu_has_apic)return 0 ;/* XXX: remove suspend/resume procs if !apic_pm_state.active? */ -driver_register (&lapic_driver); -return sys_device_register (&device_lapic); + error =sysdev_class_register (&lapic_sysclass); +if (!error) + error =sys_device_register (&device_lapic); +return error; } -device_initcall (init_lapic_devicefs); +device_initcall (init_lapic_sysfs);#else /* CONFIG_PM */
arch/x86_64/kernel/nmi.c +20 -24
76 lines not on this page · raw message
Quoted 2 lines · Bryan O'Sullivan
This patch is against 2.5.71, and brings
x86_64into line with the new sysfs API.
I applied it by hand now, because it had lots of rejects.
-Andi (who hopes that this sysfs thing will eventually settle down to something usable)