diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2012-01-06 14:42:52 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2012-01-06 14:42:52 -0500 |
commit | ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df (patch) | |
tree | d851c923f85566572112d4c0f884cff388a3cc05 /arch/s390/kernel | |
parent | 805a6af8dba5dfdd35ec35dc52ec0122400b2610 (diff) | |
parent | ea04018e6bc5ddb2f0466c0e5b986bd4901b7e8e (diff) |
Merge branch 'driver-core-next' into Linux 3.2
This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
and it fixes the build error in the arch/x86/kernel/microcode_core.c
file, that the merge did not catch.
The microcode_core.c patch was provided by Stephen Rothwell
<sfr@canb.auug.org.au> who was invaluable in the merge issues involved
with the large sysdev removal process in the driver-core tree.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/smp.c | 76 | ||||
-rw-r--r-- | arch/s390/kernel/time.c | 260 | ||||
-rw-r--r-- | arch/s390/kernel/topology.c | 6 |
3 files changed, 172 insertions, 170 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 3ea872890da2..66cca03c0282 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -831,8 +831,8 @@ int setup_profiling_timer(unsigned int multiplier) | |||
831 | } | 831 | } |
832 | 832 | ||
833 | #ifdef CONFIG_HOTPLUG_CPU | 833 | #ifdef CONFIG_HOTPLUG_CPU |
834 | static ssize_t cpu_configure_show(struct sys_device *dev, | 834 | static ssize_t cpu_configure_show(struct device *dev, |
835 | struct sysdev_attribute *attr, char *buf) | 835 | struct device_attribute *attr, char *buf) |
836 | { | 836 | { |
837 | ssize_t count; | 837 | ssize_t count; |
838 | 838 | ||
@@ -842,8 +842,8 @@ static ssize_t cpu_configure_show(struct sys_device *dev, | |||
842 | return count; | 842 | return count; |
843 | } | 843 | } |
844 | 844 | ||
845 | static ssize_t cpu_configure_store(struct sys_device *dev, | 845 | static ssize_t cpu_configure_store(struct device *dev, |
846 | struct sysdev_attribute *attr, | 846 | struct device_attribute *attr, |
847 | const char *buf, size_t count) | 847 | const char *buf, size_t count) |
848 | { | 848 | { |
849 | int cpu = dev->id; | 849 | int cpu = dev->id; |
@@ -889,11 +889,11 @@ out: | |||
889 | put_online_cpus(); | 889 | put_online_cpus(); |
890 | return rc ? rc : count; | 890 | return rc ? rc : count; |
891 | } | 891 | } |
892 | static SYSDEV_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store); | 892 | static DEVICE_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store); |
893 | #endif /* CONFIG_HOTPLUG_CPU */ | 893 | #endif /* CONFIG_HOTPLUG_CPU */ |
894 | 894 | ||
895 | static ssize_t cpu_polarization_show(struct sys_device *dev, | 895 | static ssize_t cpu_polarization_show(struct device *dev, |
896 | struct sysdev_attribute *attr, char *buf) | 896 | struct device_attribute *attr, char *buf) |
897 | { | 897 | { |
898 | int cpu = dev->id; | 898 | int cpu = dev->id; |
899 | ssize_t count; | 899 | ssize_t count; |
@@ -919,22 +919,22 @@ static ssize_t cpu_polarization_show(struct sys_device *dev, | |||
919 | mutex_unlock(&smp_cpu_state_mutex); | 919 | mutex_unlock(&smp_cpu_state_mutex); |
920 | return count; | 920 | return count; |
921 | } | 921 | } |
922 | static SYSDEV_ATTR(polarization, 0444, cpu_polarization_show, NULL); | 922 | static DEVICE_ATTR(polarization, 0444, cpu_polarization_show, NULL); |
923 | 923 | ||
924 | static ssize_t show_cpu_address(struct sys_device *dev, | 924 | static ssize_t show_cpu_address(struct device *dev, |
925 | struct sysdev_attribute *attr, char *buf) | 925 | struct device_attribute *attr, char *buf) |
926 | { | 926 | { |
927 | return sprintf(buf, "%d\n", __cpu_logical_map[dev->id]); | 927 | return sprintf(buf, "%d\n", __cpu_logical_map[dev->id]); |
928 | } | 928 | } |
929 | static SYSDEV_ATTR(address, 0444, show_cpu_address, NULL); | 929 | static DEVICE_ATTR(address, 0444, show_cpu_address, NULL); |
930 | 930 | ||
931 | 931 | ||
932 | static struct attribute *cpu_common_attrs[] = { | 932 | static struct attribute *cpu_common_attrs[] = { |
933 | #ifdef CONFIG_HOTPLUG_CPU | 933 | #ifdef CONFIG_HOTPLUG_CPU |
934 | &attr_configure.attr, | 934 | &dev_attr_configure.attr, |
935 | #endif | 935 | #endif |
936 | &attr_address.attr, | 936 | &dev_attr_address.attr, |
937 | &attr_polarization.attr, | 937 | &dev_attr_polarization.attr, |
938 | NULL, | 938 | NULL, |
939 | }; | 939 | }; |
940 | 940 | ||
@@ -942,8 +942,8 @@ static struct attribute_group cpu_common_attr_group = { | |||
942 | .attrs = cpu_common_attrs, | 942 | .attrs = cpu_common_attrs, |
943 | }; | 943 | }; |
944 | 944 | ||
945 | static ssize_t show_capability(struct sys_device *dev, | 945 | static ssize_t show_capability(struct device *dev, |
946 | struct sysdev_attribute *attr, char *buf) | 946 | struct device_attribute *attr, char *buf) |
947 | { | 947 | { |
948 | unsigned int capability; | 948 | unsigned int capability; |
949 | int rc; | 949 | int rc; |
@@ -953,10 +953,10 @@ static ssize_t show_capability(struct sys_device *dev, | |||
953 | return rc; | 953 | return rc; |
954 | return sprintf(buf, "%u\n", capability); | 954 | return sprintf(buf, "%u\n", capability); |
955 | } | 955 | } |
956 | static SYSDEV_ATTR(capability, 0444, show_capability, NULL); | 956 | static DEVICE_ATTR(capability, 0444, show_capability, NULL); |
957 | 957 | ||
958 | static ssize_t show_idle_count(struct sys_device *dev, | 958 | static ssize_t show_idle_count(struct device *dev, |
959 | struct sysdev_attribute *attr, char *buf) | 959 | struct device_attribute *attr, char *buf) |
960 | { | 960 | { |
961 | struct s390_idle_data *idle; | 961 | struct s390_idle_data *idle; |
962 | unsigned long long idle_count; | 962 | unsigned long long idle_count; |
@@ -976,10 +976,10 @@ repeat: | |||
976 | goto repeat; | 976 | goto repeat; |
977 | return sprintf(buf, "%llu\n", idle_count); | 977 | return sprintf(buf, "%llu\n", idle_count); |
978 | } | 978 | } |
979 | static SYSDEV_ATTR(idle_count, 0444, show_idle_count, NULL); | 979 | static DEVICE_ATTR(idle_count, 0444, show_idle_count, NULL); |
980 | 980 | ||
981 | static ssize_t show_idle_time(struct sys_device *dev, | 981 | static ssize_t show_idle_time(struct device *dev, |
982 | struct sysdev_attribute *attr, char *buf) | 982 | struct device_attribute *attr, char *buf) |
983 | { | 983 | { |
984 | struct s390_idle_data *idle; | 984 | struct s390_idle_data *idle; |
985 | unsigned long long now, idle_time, idle_enter; | 985 | unsigned long long now, idle_time, idle_enter; |
@@ -1001,12 +1001,12 @@ repeat: | |||
1001 | goto repeat; | 1001 | goto repeat; |
1002 | return sprintf(buf, "%llu\n", idle_time >> 12); | 1002 | return sprintf(buf, "%llu\n", idle_time >> 12); |
1003 | } | 1003 | } |
1004 | static SYSDEV_ATTR(idle_time_us, 0444, show_idle_time, NULL); | 1004 | static DEVICE_ATTR(idle_time_us, 0444, show_idle_time, NULL); |
1005 | 1005 | ||
1006 | static struct attribute *cpu_online_attrs[] = { | 1006 | static struct attribute *cpu_online_attrs[] = { |
1007 | &attr_capability.attr, | 1007 | &dev_attr_capability.attr, |
1008 | &attr_idle_count.attr, | 1008 | &dev_attr_idle_count.attr, |
1009 | &attr_idle_time_us.attr, | 1009 | &dev_attr_idle_time_us.attr, |
1010 | NULL, | 1010 | NULL, |
1011 | }; | 1011 | }; |
1012 | 1012 | ||
@@ -1019,7 +1019,7 @@ static int __cpuinit smp_cpu_notify(struct notifier_block *self, | |||
1019 | { | 1019 | { |
1020 | unsigned int cpu = (unsigned int)(long)hcpu; | 1020 | unsigned int cpu = (unsigned int)(long)hcpu; |
1021 | struct cpu *c = &per_cpu(cpu_devices, cpu); | 1021 | struct cpu *c = &per_cpu(cpu_devices, cpu); |
1022 | struct sys_device *s = &c->sysdev; | 1022 | struct device *s = &c->dev; |
1023 | struct s390_idle_data *idle; | 1023 | struct s390_idle_data *idle; |
1024 | int err = 0; | 1024 | int err = 0; |
1025 | 1025 | ||
@@ -1045,7 +1045,7 @@ static struct notifier_block __cpuinitdata smp_cpu_nb = { | |||
1045 | static int __devinit smp_add_present_cpu(int cpu) | 1045 | static int __devinit smp_add_present_cpu(int cpu) |
1046 | { | 1046 | { |
1047 | struct cpu *c = &per_cpu(cpu_devices, cpu); | 1047 | struct cpu *c = &per_cpu(cpu_devices, cpu); |
1048 | struct sys_device *s = &c->sysdev; | 1048 | struct device *s = &c->dev; |
1049 | int rc; | 1049 | int rc; |
1050 | 1050 | ||
1051 | c->hotpluggable = 1; | 1051 | c->hotpluggable = 1; |
@@ -1098,8 +1098,8 @@ out: | |||
1098 | return rc; | 1098 | return rc; |
1099 | } | 1099 | } |
1100 | 1100 | ||
1101 | static ssize_t __ref rescan_store(struct sysdev_class *class, | 1101 | static ssize_t __ref rescan_store(struct device *dev, |
1102 | struct sysdev_class_attribute *attr, | 1102 | struct device_attribute *attr, |
1103 | const char *buf, | 1103 | const char *buf, |
1104 | size_t count) | 1104 | size_t count) |
1105 | { | 1105 | { |
@@ -1108,11 +1108,11 @@ static ssize_t __ref rescan_store(struct sysdev_class *class, | |||
1108 | rc = smp_rescan_cpus(); | 1108 | rc = smp_rescan_cpus(); |
1109 | return rc ? rc : count; | 1109 | return rc ? rc : count; |
1110 | } | 1110 | } |
1111 | static SYSDEV_CLASS_ATTR(rescan, 0200, NULL, rescan_store); | 1111 | static DEVICE_ATTR(rescan, 0200, NULL, rescan_store); |
1112 | #endif /* CONFIG_HOTPLUG_CPU */ | 1112 | #endif /* CONFIG_HOTPLUG_CPU */ |
1113 | 1113 | ||
1114 | static ssize_t dispatching_show(struct sysdev_class *class, | 1114 | static ssize_t dispatching_show(struct device *dev, |
1115 | struct sysdev_class_attribute *attr, | 1115 | struct device_attribute *attr, |
1116 | char *buf) | 1116 | char *buf) |
1117 | { | 1117 | { |
1118 | ssize_t count; | 1118 | ssize_t count; |
@@ -1123,8 +1123,8 @@ static ssize_t dispatching_show(struct sysdev_class *class, | |||
1123 | return count; | 1123 | return count; |
1124 | } | 1124 | } |
1125 | 1125 | ||
1126 | static ssize_t dispatching_store(struct sysdev_class *dev, | 1126 | static ssize_t dispatching_store(struct device *dev, |
1127 | struct sysdev_class_attribute *attr, | 1127 | struct device_attribute *attr, |
1128 | const char *buf, | 1128 | const char *buf, |
1129 | size_t count) | 1129 | size_t count) |
1130 | { | 1130 | { |
@@ -1148,7 +1148,7 @@ out: | |||
1148 | put_online_cpus(); | 1148 | put_online_cpus(); |
1149 | return rc ? rc : count; | 1149 | return rc ? rc : count; |
1150 | } | 1150 | } |
1151 | static SYSDEV_CLASS_ATTR(dispatching, 0644, dispatching_show, | 1151 | static DEVICE_ATTR(dispatching, 0644, dispatching_show, |
1152 | dispatching_store); | 1152 | dispatching_store); |
1153 | 1153 | ||
1154 | static int __init topology_init(void) | 1154 | static int __init topology_init(void) |
@@ -1159,11 +1159,11 @@ static int __init topology_init(void) | |||
1159 | register_cpu_notifier(&smp_cpu_nb); | 1159 | register_cpu_notifier(&smp_cpu_nb); |
1160 | 1160 | ||
1161 | #ifdef CONFIG_HOTPLUG_CPU | 1161 | #ifdef CONFIG_HOTPLUG_CPU |
1162 | rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_rescan); | 1162 | rc = device_create_file(cpu_subsys.dev_root, &dev_attr_rescan); |
1163 | if (rc) | 1163 | if (rc) |
1164 | return rc; | 1164 | return rc; |
1165 | #endif | 1165 | #endif |
1166 | rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_dispatching); | 1166 | rc = device_create_file(cpu_subsys.dev_root, &dev_attr_dispatching); |
1167 | if (rc) | 1167 | if (rc) |
1168 | return rc; | 1168 | return rc; |
1169 | for_each_present_cpu(cpu) { | 1169 | for_each_present_cpu(cpu) { |
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index ebbfab3c6e5a..fa02f443f5f6 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/cpu.h> | 27 | #include <linux/cpu.h> |
28 | #include <linux/stop_machine.h> | 28 | #include <linux/stop_machine.h> |
29 | #include <linux/time.h> | 29 | #include <linux/time.h> |
30 | #include <linux/sysdev.h> | 30 | #include <linux/device.h> |
31 | #include <linux/delay.h> | 31 | #include <linux/delay.h> |
32 | #include <linux/init.h> | 32 | #include <linux/init.h> |
33 | #include <linux/smp.h> | 33 | #include <linux/smp.h> |
@@ -1116,34 +1116,35 @@ out_unlock: | |||
1116 | /* | 1116 | /* |
1117 | * Sysfs interface functions | 1117 | * Sysfs interface functions |
1118 | */ | 1118 | */ |
1119 | static struct sysdev_class etr_sysclass = { | 1119 | static struct bus_type etr_subsys = { |
1120 | .name = "etr", | 1120 | .name = "etr", |
1121 | .dev_name = "etr", | ||
1121 | }; | 1122 | }; |
1122 | 1123 | ||
1123 | static struct sys_device etr_port0_dev = { | 1124 | static struct device etr_port0_dev = { |
1124 | .id = 0, | 1125 | .id = 0, |
1125 | .cls = &etr_sysclass, | 1126 | .bus = &etr_subsys, |
1126 | }; | 1127 | }; |
1127 | 1128 | ||
1128 | static struct sys_device etr_port1_dev = { | 1129 | static struct device etr_port1_dev = { |
1129 | .id = 1, | 1130 | .id = 1, |
1130 | .cls = &etr_sysclass, | 1131 | .bus = &etr_subsys, |
1131 | }; | 1132 | }; |
1132 | 1133 | ||
1133 | /* | 1134 | /* |
1134 | * ETR class attributes | 1135 | * ETR subsys attributes |
1135 | */ | 1136 | */ |
1136 | static ssize_t etr_stepping_port_show(struct sysdev_class *class, | 1137 | static ssize_t etr_stepping_port_show(struct device *dev, |
1137 | struct sysdev_class_attribute *attr, | 1138 | struct device_attribute *attr, |
1138 | char *buf) | 1139 | char *buf) |
1139 | { | 1140 | { |
1140 | return sprintf(buf, "%i\n", etr_port0.esw.p); | 1141 | return sprintf(buf, "%i\n", etr_port0.esw.p); |
1141 | } | 1142 | } |
1142 | 1143 | ||
1143 | static SYSDEV_CLASS_ATTR(stepping_port, 0400, etr_stepping_port_show, NULL); | 1144 | static DEVICE_ATTR(stepping_port, 0400, etr_stepping_port_show, NULL); |
1144 | 1145 | ||
1145 | static ssize_t etr_stepping_mode_show(struct sysdev_class *class, | 1146 | static ssize_t etr_stepping_mode_show(struct device *dev, |
1146 | struct sysdev_class_attribute *attr, | 1147 | struct device_attribute *attr, |
1147 | char *buf) | 1148 | char *buf) |
1148 | { | 1149 | { |
1149 | char *mode_str; | 1150 | char *mode_str; |
@@ -1157,12 +1158,12 @@ static ssize_t etr_stepping_mode_show(struct sysdev_class *class, | |||
1157 | return sprintf(buf, "%s\n", mode_str); | 1158 | return sprintf(buf, "%s\n", mode_str); |
1158 | } | 1159 | } |
1159 | 1160 | ||
1160 | static SYSDEV_CLASS_ATTR(stepping_mode, 0400, etr_stepping_mode_show, NULL); | 1161 | static DEVICE_ATTR(stepping_mode, 0400, etr_stepping_mode_show, NULL); |
1161 | 1162 | ||
1162 | /* | 1163 | /* |
1163 | * ETR port attributes | 1164 | * ETR port attributes |
1164 | */ | 1165 | */ |
1165 | static inline struct etr_aib *etr_aib_from_dev(struct sys_device *dev) | 1166 | static inline struct etr_aib *etr_aib_from_dev(struct device *dev) |
1166 | { | 1167 | { |
1167 | if (dev == &etr_port0_dev) | 1168 | if (dev == &etr_port0_dev) |
1168 | return etr_port0_online ? &etr_port0 : NULL; | 1169 | return etr_port0_online ? &etr_port0 : NULL; |
@@ -1170,8 +1171,8 @@ static inline struct etr_aib *etr_aib_from_dev(struct sys_device *dev) | |||
1170 | return etr_port1_online ? &etr_port1 : NULL; | 1171 | return etr_port1_online ? &etr_port1 : NULL; |
1171 | } | 1172 | } |
1172 | 1173 | ||
1173 | static ssize_t etr_online_show(struct sys_device *dev, | 1174 | static ssize_t etr_online_show(struct device *dev, |
1174 | struct sysdev_attribute *attr, | 1175 | struct device_attribute *attr, |
1175 | char *buf) | 1176 | char *buf) |
1176 | { | 1177 | { |
1177 | unsigned int online; | 1178 | unsigned int online; |
@@ -1180,8 +1181,8 @@ static ssize_t etr_online_show(struct sys_device *dev, | |||
1180 | return sprintf(buf, "%i\n", online); | 1181 | return sprintf(buf, "%i\n", online); |
1181 | } | 1182 | } |
1182 | 1183 | ||
1183 | static ssize_t etr_online_store(struct sys_device *dev, | 1184 | static ssize_t etr_online_store(struct device *dev, |
1184 | struct sysdev_attribute *attr, | 1185 | struct device_attribute *attr, |
1185 | const char *buf, size_t count) | 1186 | const char *buf, size_t count) |
1186 | { | 1187 | { |
1187 | unsigned int value; | 1188 | unsigned int value; |
@@ -1218,20 +1219,20 @@ out: | |||
1218 | return count; | 1219 | return count; |
1219 | } | 1220 | } |
1220 | 1221 | ||
1221 | static SYSDEV_ATTR(online, 0600, etr_online_show, etr_online_store); | 1222 | static DEVICE_ATTR(online, 0600, etr_online_show, etr_online_store); |
1222 | 1223 | ||
1223 | static ssize_t etr_stepping_control_show(struct sys_device *dev, | 1224 | static ssize_t etr_stepping_control_show(struct device *dev, |
1224 | struct sysdev_attribute *attr, | 1225 | struct device_attribute *attr, |
1225 | char *buf) | 1226 | char *buf) |
1226 | { | 1227 | { |
1227 | return sprintf(buf, "%i\n", (dev == &etr_port0_dev) ? | 1228 | return sprintf(buf, "%i\n", (dev == &etr_port0_dev) ? |
1228 | etr_eacr.e0 : etr_eacr.e1); | 1229 | etr_eacr.e0 : etr_eacr.e1); |
1229 | } | 1230 | } |
1230 | 1231 | ||
1231 | static SYSDEV_ATTR(stepping_control, 0400, etr_stepping_control_show, NULL); | 1232 | static DEVICE_ATTR(stepping_control, 0400, etr_stepping_control_show, NULL); |
1232 | 1233 | ||
1233 | static ssize_t etr_mode_code_show(struct sys_device *dev, | 1234 | static ssize_t etr_mode_code_show(struct device *dev, |
1234 | struct sysdev_attribute *attr, char *buf) | 1235 | struct device_attribute *attr, char *buf) |
1235 | { | 1236 | { |
1236 | if (!etr_port0_online && !etr_port1_online) | 1237 | if (!etr_port0_online && !etr_port1_online) |
1237 | /* Status word is not uptodate if both ports are offline. */ | 1238 | /* Status word is not uptodate if both ports are offline. */ |
@@ -1240,10 +1241,10 @@ static ssize_t etr_mode_code_show(struct sys_device *dev, | |||
1240 | etr_port0.esw.psc0 : etr_port0.esw.psc1); | 1241 | etr_port0.esw.psc0 : etr_port0.esw.psc1); |
1241 | } | 1242 | } |
1242 | 1243 | ||
1243 | static SYSDEV_ATTR(state_code, 0400, etr_mode_code_show, NULL); | 1244 | static DEVICE_ATTR(state_code, 0400, etr_mode_code_show, NULL); |
1244 | 1245 | ||
1245 | static ssize_t etr_untuned_show(struct sys_device *dev, | 1246 | static ssize_t etr_untuned_show(struct device *dev, |
1246 | struct sysdev_attribute *attr, char *buf) | 1247 | struct device_attribute *attr, char *buf) |
1247 | { | 1248 | { |
1248 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1249 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1249 | 1250 | ||
@@ -1252,10 +1253,10 @@ static ssize_t etr_untuned_show(struct sys_device *dev, | |||
1252 | return sprintf(buf, "%i\n", aib->edf1.u); | 1253 | return sprintf(buf, "%i\n", aib->edf1.u); |
1253 | } | 1254 | } |
1254 | 1255 | ||
1255 | static SYSDEV_ATTR(untuned, 0400, etr_untuned_show, NULL); | 1256 | static DEVICE_ATTR(untuned, 0400, etr_untuned_show, NULL); |
1256 | 1257 | ||
1257 | static ssize_t etr_network_id_show(struct sys_device *dev, | 1258 | static ssize_t etr_network_id_show(struct device *dev, |
1258 | struct sysdev_attribute *attr, char *buf) | 1259 | struct device_attribute *attr, char *buf) |
1259 | { | 1260 | { |
1260 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1261 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1261 | 1262 | ||
@@ -1264,10 +1265,10 @@ static ssize_t etr_network_id_show(struct sys_device *dev, | |||
1264 | return sprintf(buf, "%i\n", aib->edf1.net_id); | 1265 | return sprintf(buf, "%i\n", aib->edf1.net_id); |
1265 | } | 1266 | } |
1266 | 1267 | ||
1267 | static SYSDEV_ATTR(network, 0400, etr_network_id_show, NULL); | 1268 | static DEVICE_ATTR(network, 0400, etr_network_id_show, NULL); |
1268 | 1269 | ||
1269 | static ssize_t etr_id_show(struct sys_device *dev, | 1270 | static ssize_t etr_id_show(struct device *dev, |
1270 | struct sysdev_attribute *attr, char *buf) | 1271 | struct device_attribute *attr, char *buf) |
1271 | { | 1272 | { |
1272 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1273 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1273 | 1274 | ||
@@ -1276,10 +1277,10 @@ static ssize_t etr_id_show(struct sys_device *dev, | |||
1276 | return sprintf(buf, "%i\n", aib->edf1.etr_id); | 1277 | return sprintf(buf, "%i\n", aib->edf1.etr_id); |
1277 | } | 1278 | } |
1278 | 1279 | ||
1279 | static SYSDEV_ATTR(id, 0400, etr_id_show, NULL); | 1280 | static DEVICE_ATTR(id, 0400, etr_id_show, NULL); |
1280 | 1281 | ||
1281 | static ssize_t etr_port_number_show(struct sys_device *dev, | 1282 | static ssize_t etr_port_number_show(struct device *dev, |
1282 | struct sysdev_attribute *attr, char *buf) | 1283 | struct device_attribute *attr, char *buf) |
1283 | { | 1284 | { |
1284 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1285 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1285 | 1286 | ||
@@ -1288,10 +1289,10 @@ static ssize_t etr_port_number_show(struct sys_device *dev, | |||
1288 | return sprintf(buf, "%i\n", aib->edf1.etr_pn); | 1289 | return sprintf(buf, "%i\n", aib->edf1.etr_pn); |
1289 | } | 1290 | } |
1290 | 1291 | ||
1291 | static SYSDEV_ATTR(port, 0400, etr_port_number_show, NULL); | 1292 | static DEVICE_ATTR(port, 0400, etr_port_number_show, NULL); |
1292 | 1293 | ||
1293 | static ssize_t etr_coupled_show(struct sys_device *dev, | 1294 | static ssize_t etr_coupled_show(struct device *dev, |
1294 | struct sysdev_attribute *attr, char *buf) | 1295 | struct device_attribute *attr, char *buf) |
1295 | { | 1296 | { |
1296 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1297 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1297 | 1298 | ||
@@ -1300,10 +1301,10 @@ static ssize_t etr_coupled_show(struct sys_device *dev, | |||
1300 | return sprintf(buf, "%i\n", aib->edf3.c); | 1301 | return sprintf(buf, "%i\n", aib->edf3.c); |
1301 | } | 1302 | } |
1302 | 1303 | ||
1303 | static SYSDEV_ATTR(coupled, 0400, etr_coupled_show, NULL); | 1304 | static DEVICE_ATTR(coupled, 0400, etr_coupled_show, NULL); |
1304 | 1305 | ||
1305 | static ssize_t etr_local_time_show(struct sys_device *dev, | 1306 | static ssize_t etr_local_time_show(struct device *dev, |
1306 | struct sysdev_attribute *attr, char *buf) | 1307 | struct device_attribute *attr, char *buf) |
1307 | { | 1308 | { |
1308 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1309 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1309 | 1310 | ||
@@ -1312,10 +1313,10 @@ static ssize_t etr_local_time_show(struct sys_device *dev, | |||
1312 | return sprintf(buf, "%i\n", aib->edf3.blto); | 1313 | return sprintf(buf, "%i\n", aib->edf3.blto); |
1313 | } | 1314 | } |
1314 | 1315 | ||
1315 | static SYSDEV_ATTR(local_time, 0400, etr_local_time_show, NULL); | 1316 | static DEVICE_ATTR(local_time, 0400, etr_local_time_show, NULL); |
1316 | 1317 | ||
1317 | static ssize_t etr_utc_offset_show(struct sys_device *dev, | 1318 | static ssize_t etr_utc_offset_show(struct device *dev, |
1318 | struct sysdev_attribute *attr, char *buf) | 1319 | struct device_attribute *attr, char *buf) |
1319 | { | 1320 | { |
1320 | struct etr_aib *aib = etr_aib_from_dev(dev); | 1321 | struct etr_aib *aib = etr_aib_from_dev(dev); |
1321 | 1322 | ||
@@ -1324,64 +1325,64 @@ static ssize_t etr_utc_offset_show(struct sys_device *dev, | |||
1324 | return sprintf(buf, "%i\n", aib->edf3.buo); | 1325 | return sprintf(buf, "%i\n", aib->edf3.buo); |
1325 | } | 1326 | } |
1326 | 1327 | ||
1327 | static SYSDEV_ATTR(utc_offset, 0400, etr_utc_offset_show, NULL); | 1328 | static DEVICE_ATTR(utc_offset, 0400, etr_utc_offset_show, NULL); |
1328 | 1329 | ||
1329 | static struct sysdev_attribute *etr_port_attributes[] = { | 1330 | static struct device_attribute *etr_port_attributes[] = { |
1330 | &attr_online, | 1331 | &dev_attr_online, |
1331 | &attr_stepping_control, | 1332 | &dev_attr_stepping_control, |
1332 | &attr_state_code, | 1333 | &dev_attr_state_code, |
1333 | &attr_untuned, | 1334 | &dev_attr_untuned, |
1334 | &attr_network, | 1335 | &dev_attr_network, |
1335 | &attr_id, | 1336 | &dev_attr_id, |
1336 | &attr_port, | 1337 | &dev_attr_port, |
1337 | &attr_coupled, | 1338 | &dev_attr_coupled, |
1338 | &attr_local_time, | 1339 | &dev_attr_local_time, |
1339 | &attr_utc_offset, | 1340 | &dev_attr_utc_offset, |
1340 | NULL | 1341 | NULL |
1341 | }; | 1342 | }; |
1342 | 1343 | ||
1343 | static int __init etr_register_port(struct sys_device *dev) | 1344 | static int __init etr_register_port(struct device *dev) |
1344 | { | 1345 | { |
1345 | struct sysdev_attribute **attr; | 1346 | struct device_attribute **attr; |
1346 | int rc; | 1347 | int rc; |
1347 | 1348 | ||
1348 | rc = sysdev_register(dev); | 1349 | rc = device_register(dev); |
1349 | if (rc) | 1350 | if (rc) |
1350 | goto out; | 1351 | goto out; |
1351 | for (attr = etr_port_attributes; *attr; attr++) { | 1352 | for (attr = etr_port_attributes; *attr; attr++) { |
1352 | rc = sysdev_create_file(dev, *attr); | 1353 | rc = device_create_file(dev, *attr); |
1353 | if (rc) | 1354 | if (rc) |
1354 | goto out_unreg; | 1355 | goto out_unreg; |
1355 | } | 1356 | } |
1356 | return 0; | 1357 | return 0; |
1357 | out_unreg: | 1358 | out_unreg: |
1358 | for (; attr >= etr_port_attributes; attr--) | 1359 | for (; attr >= etr_port_attributes; attr--) |
1359 | sysdev_remove_file(dev, *attr); | 1360 | device_remove_file(dev, *attr); |
1360 | sysdev_unregister(dev); | 1361 | device_unregister(dev); |
1361 | out: | 1362 | out: |
1362 | return rc; | 1363 | return rc; |
1363 | } | 1364 | } |
1364 | 1365 | ||
1365 | static void __init etr_unregister_port(struct sys_device *dev) | 1366 | static void __init etr_unregister_port(struct device *dev) |
1366 | { | 1367 | { |
1367 | struct sysdev_attribute **attr; | 1368 | struct device_attribute **attr; |
1368 | 1369 | ||
1369 | for (attr = etr_port_attributes; *attr; attr++) | 1370 | for (attr = etr_port_attributes; *attr; attr++) |
1370 | sysdev_remove_file(dev, *attr); | 1371 | device_remove_file(dev, *attr); |
1371 | sysdev_unregister(dev); | 1372 | device_unregister(dev); |
1372 | } | 1373 | } |
1373 | 1374 | ||
1374 | static int __init etr_init_sysfs(void) | 1375 | static int __init etr_init_sysfs(void) |
1375 | { | 1376 | { |
1376 | int rc; | 1377 | int rc; |
1377 | 1378 | ||
1378 | rc = sysdev_class_register(&etr_sysclass); | 1379 | rc = subsys_system_register(&etr_subsys, NULL); |
1379 | if (rc) | 1380 | if (rc) |
1380 | goto out; | 1381 | goto out; |
1381 | rc = sysdev_class_create_file(&etr_sysclass, &attr_stepping_port); | 1382 | rc = device_create_file(etr_subsys.dev_root, &dev_attr_stepping_port); |
1382 | if (rc) | 1383 | if (rc) |
1383 | goto out_unreg_class; | 1384 | goto out_unreg_subsys; |
1384 | rc = sysdev_class_create_file(&etr_sysclass, &attr_stepping_mode); | 1385 | rc = device_create_file(etr_subsys.dev_root, &dev_attr_stepping_mode); |
1385 | if (rc) | 1386 | if (rc) |
1386 | goto out_remove_stepping_port; | 1387 | goto out_remove_stepping_port; |
1387 | rc = etr_register_port(&etr_port0_dev); | 1388 | rc = etr_register_port(&etr_port0_dev); |
@@ -1395,11 +1396,11 @@ static int __init etr_init_sysfs(void) | |||
1395 | out_remove_port0: | 1396 | out_remove_port0: |
1396 | etr_unregister_port(&etr_port0_dev); | 1397 | etr_unregister_port(&etr_port0_dev); |
1397 | out_remove_stepping_mode: | 1398 | out_remove_stepping_mode: |
1398 | sysdev_class_remove_file(&etr_sysclass, &attr_stepping_mode); | 1399 | device_remove_file(etr_subsys.dev_root, &dev_attr_stepping_mode); |
1399 | out_remove_stepping_port: | 1400 | out_remove_stepping_port: |
1400 | sysdev_class_remove_file(&etr_sysclass, &attr_stepping_port); | 1401 | device_remove_file(etr_subsys.dev_root, &dev_attr_stepping_port); |
1401 | out_unreg_class: | 1402 | out_unreg_subsys: |
1402 | sysdev_class_unregister(&etr_sysclass); | 1403 | bus_unregister(&etr_subsys); |
1403 | out: | 1404 | out: |
1404 | return rc; | 1405 | return rc; |
1405 | } | 1406 | } |
@@ -1599,14 +1600,15 @@ out_unlock: | |||
1599 | } | 1600 | } |
1600 | 1601 | ||
1601 | /* | 1602 | /* |
1602 | * STP class sysfs interface functions | 1603 | * STP subsys sysfs interface functions |
1603 | */ | 1604 | */ |
1604 | static struct sysdev_class stp_sysclass = { | 1605 | static struct bus_type stp_subsys = { |
1605 | .name = "stp", | 1606 | .name = "stp", |
1607 | .dev_name = "stp", | ||
1606 | }; | 1608 | }; |
1607 | 1609 | ||
1608 | static ssize_t stp_ctn_id_show(struct sysdev_class *class, | 1610 | static ssize_t stp_ctn_id_show(struct device *dev, |
1609 | struct sysdev_class_attribute *attr, | 1611 | struct device_attribute *attr, |
1610 | char *buf) | 1612 | char *buf) |
1611 | { | 1613 | { |
1612 | if (!stp_online) | 1614 | if (!stp_online) |
@@ -1615,10 +1617,10 @@ static ssize_t stp_ctn_id_show(struct sysdev_class *class, | |||
1615 | *(unsigned long long *) stp_info.ctnid); | 1617 | *(unsigned long long *) stp_info.ctnid); |
1616 | } | 1618 | } |
1617 | 1619 | ||
1618 | static SYSDEV_CLASS_ATTR(ctn_id, 0400, stp_ctn_id_show, NULL); | 1620 | static DEVICE_ATTR(ctn_id, 0400, stp_ctn_id_show, NULL); |
1619 | 1621 | ||
1620 | static ssize_t stp_ctn_type_show(struct sysdev_class *class, | 1622 | static ssize_t stp_ctn_type_show(struct device *dev, |
1621 | struct sysdev_class_attribute *attr, | 1623 | struct device_attribute *attr, |
1622 | char *buf) | 1624 | char *buf) |
1623 | { | 1625 | { |
1624 | if (!stp_online) | 1626 | if (!stp_online) |
@@ -1626,10 +1628,10 @@ static ssize_t stp_ctn_type_show(struct sysdev_class *class, | |||
1626 | return sprintf(buf, "%i\n", stp_info.ctn); | 1628 | return sprintf(buf, "%i\n", stp_info.ctn); |
1627 | } | 1629 | } |
1628 | 1630 | ||
1629 | static SYSDEV_CLASS_ATTR(ctn_type, 0400, stp_ctn_type_show, NULL); | 1631 | static DEVICE_ATTR(ctn_type, 0400, stp_ctn_type_show, NULL); |
1630 | 1632 | ||
1631 | static ssize_t stp_dst_offset_show(struct sysdev_class *class, | 1633 | static ssize_t stp_dst_offset_show(struct device *dev, |
1632 | struct sysdev_class_attribute *attr, | 1634 | struct device_attribute *attr, |
1633 | char *buf) | 1635 | char *buf) |
1634 | { | 1636 | { |
1635 | if (!stp_online || !(stp_info.vbits & 0x2000)) | 1637 | if (!stp_online || !(stp_info.vbits & 0x2000)) |
@@ -1637,10 +1639,10 @@ static ssize_t stp_dst_offset_show(struct sysdev_class *class, | |||
1637 | return sprintf(buf, "%i\n", (int)(s16) stp_info.dsto); | 1639 | return sprintf(buf, "%i\n", (int)(s16) stp_info.dsto); |
1638 | } | 1640 | } |
1639 | 1641 | ||
1640 | static SYSDEV_CLASS_ATTR(dst_offset, 0400, stp_dst_offset_show, NULL); | 1642 | static DEVICE_ATTR(dst_offset, 0400, stp_dst_offset_show, NULL); |
1641 | 1643 | ||
1642 | static ssize_t stp_leap_seconds_show(struct sysdev_class *class, | 1644 | static ssize_t stp_leap_seconds_show(struct device *dev, |
1643 | struct sysdev_class_attribute *attr, | 1645 | struct device_attribute *attr, |
1644 | char *buf) | 1646 | char *buf) |
1645 | { | 1647 | { |
1646 | if (!stp_online || !(stp_info.vbits & 0x8000)) | 1648 | if (!stp_online || !(stp_info.vbits & 0x8000)) |
@@ -1648,10 +1650,10 @@ static ssize_t stp_leap_seconds_show(struct sysdev_class *class, | |||
1648 | return sprintf(buf, "%i\n", (int)(s16) stp_info.leaps); | 1650 | return sprintf(buf, "%i\n", (int)(s16) stp_info.leaps); |
1649 | } | 1651 | } |
1650 | 1652 | ||
1651 | static SYSDEV_CLASS_ATTR(leap_seconds, 0400, stp_leap_seconds_show, NULL); | 1653 | static DEVICE_ATTR(leap_seconds, 0400, stp_leap_seconds_show, NULL); |
1652 | 1654 | ||
1653 | static ssize_t stp_stratum_show(struct sysdev_class *class, | 1655 | static ssize_t stp_stratum_show(struct device *dev, |
1654 | struct sysdev_class_attribute *attr, | 1656 | struct device_attribute *attr, |
1655 | char *buf) | 1657 | char *buf) |
1656 | { | 1658 | { |
1657 | if (!stp_online) | 1659 | if (!stp_online) |
@@ -1659,10 +1661,10 @@ static ssize_t stp_stratum_show(struct sysdev_class *class, | |||
1659 | return sprintf(buf, "%i\n", (int)(s16) stp_info.stratum); | 1661 | return sprintf(buf, "%i\n", (int)(s16) stp_info.stratum); |
1660 | } | 1662 | } |
1661 | 1663 | ||
1662 | static SYSDEV_CLASS_ATTR(stratum, 0400, stp_stratum_show, NULL); | 1664 | static DEVICE_ATTR(stratum, 0400, stp_stratum_show, NULL); |
1663 | 1665 | ||
1664 | static ssize_t stp_time_offset_show(struct sysdev_class *class, | 1666 | static ssize_t stp_time_offset_show(struct device *dev, |
1665 | struct sysdev_class_attribute *attr, | 1667 | struct device_attribute *attr, |
1666 | char *buf) | 1668 | char *buf) |
1667 | { | 1669 | { |
1668 | if (!stp_online || !(stp_info.vbits & 0x0800)) | 1670 | if (!stp_online || !(stp_info.vbits & 0x0800)) |
@@ -1670,10 +1672,10 @@ static ssize_t stp_time_offset_show(struct sysdev_class *class, | |||
1670 | return sprintf(buf, "%i\n", (int) stp_info.tto); | 1672 | return sprintf(buf, "%i\n", (int) stp_info.tto); |
1671 | } | 1673 | } |
1672 | 1674 | ||
1673 | static SYSDEV_CLASS_ATTR(time_offset, 0400, stp_time_offset_show, NULL); | 1675 | static DEVICE_ATTR(time_offset, 0400, stp_time_offset_show, NULL); |
1674 | 1676 | ||
1675 | static ssize_t stp_time_zone_offset_show(struct sysdev_class *class, | 1677 | static ssize_t stp_time_zone_offset_show(struct device *dev, |
1676 | struct sysdev_class_attribute *attr, | 1678 | struct device_attribute *attr, |
1677 | char *buf) | 1679 | char *buf) |
1678 | { | 1680 | { |
1679 | if (!stp_online || !(stp_info.vbits & 0x4000)) | 1681 | if (!stp_online || !(stp_info.vbits & 0x4000)) |
@@ -1681,11 +1683,11 @@ static ssize_t stp_time_zone_offset_show(struct sysdev_class *class, | |||
1681 | return sprintf(buf, "%i\n", (int)(s16) stp_info.tzo); | 1683 | return sprintf(buf, "%i\n", (int)(s16) stp_info.tzo); |
1682 | } | 1684 | } |
1683 | 1685 | ||
1684 | static SYSDEV_CLASS_ATTR(time_zone_offset, 0400, | 1686 | static DEVICE_ATTR(time_zone_offset, 0400, |
1685 | stp_time_zone_offset_show, NULL); | 1687 | stp_time_zone_offset_show, NULL); |
1686 | 1688 | ||
1687 | static ssize_t stp_timing_mode_show(struct sysdev_class *class, | 1689 | static ssize_t stp_timing_mode_show(struct device *dev, |
1688 | struct sysdev_class_attribute *attr, | 1690 | struct device_attribute *attr, |
1689 | char *buf) | 1691 | char *buf) |
1690 | { | 1692 | { |
1691 | if (!stp_online) | 1693 | if (!stp_online) |
@@ -1693,10 +1695,10 @@ static ssize_t stp_timing_mode_show(struct sysdev_class *class, | |||
1693 | return sprintf(buf, "%i\n", stp_info.tmd); | 1695 | return sprintf(buf, "%i\n", stp_info.tmd); |
1694 | } | 1696 | } |
1695 | 1697 | ||
1696 | static SYSDEV_CLASS_ATTR(timing_mode, 0400, stp_timing_mode_show, NULL); | 1698 | static DEVICE_ATTR(timing_mode, 0400, stp_timing_mode_show, NULL); |
1697 | 1699 | ||
1698 | static ssize_t stp_timing_state_show(struct sysdev_class *class, | 1700 | static ssize_t stp_timing_state_show(struct device *dev, |
1699 | struct sysdev_class_attribute *attr, | 1701 | struct device_attribute *attr, |
1700 | char *buf) | 1702 | char *buf) |
1701 | { | 1703 | { |
1702 | if (!stp_online) | 1704 | if (!stp_online) |
@@ -1704,17 +1706,17 @@ static ssize_t stp_timing_state_show(struct sysdev_class *class, | |||
1704 | return sprintf(buf, "%i\n", stp_info.tst); | 1706 | return sprintf(buf, "%i\n", stp_info.tst); |
1705 | } | 1707 | } |
1706 | 1708 | ||
1707 | static SYSDEV_CLASS_ATTR(timing_state, 0400, stp_timing_state_show, NULL); | 1709 | static DEVICE_ATTR(timing_state, 0400, stp_timing_state_show, NULL); |
1708 | 1710 | ||
1709 | static ssize_t stp_online_show(struct sysdev_class *class, | 1711 | static ssize_t stp_online_show(struct device *dev, |
1710 | struct sysdev_class_attribute *attr, | 1712 | struct device_attribute *attr, |
1711 | char *buf) | 1713 | char *buf) |
1712 | { | 1714 | { |
1713 | return sprintf(buf, "%i\n", stp_online); | 1715 | return sprintf(buf, "%i\n", stp_online); |
1714 | } | 1716 | } |
1715 | 1717 | ||
1716 | static ssize_t stp_online_store(struct sysdev_class *class, | 1718 | static ssize_t stp_online_store(struct device *dev, |
1717 | struct sysdev_class_attribute *attr, | 1719 | struct device_attribute *attr, |
1718 | const char *buf, size_t count) | 1720 | const char *buf, size_t count) |
1719 | { | 1721 | { |
1720 | unsigned int value; | 1722 | unsigned int value; |
@@ -1736,47 +1738,47 @@ static ssize_t stp_online_store(struct sysdev_class *class, | |||
1736 | } | 1738 | } |
1737 | 1739 | ||
1738 | /* | 1740 | /* |
1739 | * Can't use SYSDEV_CLASS_ATTR because the attribute should be named | 1741 | * Can't use DEVICE_ATTR because the attribute should be named |
1740 | * stp/online but attr_online already exists in this file .. | 1742 | * stp/online but dev_attr_online already exists in this file .. |
1741 | */ | 1743 | */ |
1742 | static struct sysdev_class_attribute attr_stp_online = { | 1744 | static struct device_attribute dev_attr_stp_online = { |
1743 | .attr = { .name = "online", .mode = 0600 }, | 1745 | .attr = { .name = "online", .mode = 0600 }, |
1744 | .show = stp_online_show, | 1746 | .show = stp_online_show, |
1745 | .store = stp_online_store, | 1747 | .store = stp_online_store, |
1746 | }; | 1748 | }; |
1747 | 1749 | ||
1748 | static struct sysdev_class_attribute *stp_attributes[] = { | 1750 | static struct device_attribute *stp_attributes[] = { |
1749 | &attr_ctn_id, | 1751 | &dev_attr_ctn_id, |
1750 | &attr_ctn_type, | 1752 | &dev_attr_ctn_type, |
1751 | &attr_dst_offset, | 1753 | &dev_attr_dst_offset, |
1752 | &attr_leap_seconds, | 1754 | &dev_attr_leap_seconds, |
1753 | &attr_stp_online, | 1755 | &dev_attr_stp_online, |
1754 | &attr_stratum, | 1756 | &dev_attr_stratum, |
1755 | &attr_time_offset, | 1757 | &dev_attr_time_offset, |
1756 | &attr_time_zone_offset, | 1758 | &dev_attr_time_zone_offset, |
1757 | &attr_timing_mode, | 1759 | &dev_attr_timing_mode, |
1758 | &attr_timing_state, | 1760 | &dev_attr_timing_state, |
1759 | NULL | 1761 | NULL |
1760 | }; | 1762 | }; |
1761 | 1763 | ||
1762 | static int __init stp_init_sysfs(void) | 1764 | static int __init stp_init_sysfs(void) |
1763 | { | 1765 | { |
1764 | struct sysdev_class_attribute **attr; | 1766 | struct device_attribute **attr; |
1765 | int rc; | 1767 | int rc; |
1766 | 1768 | ||
1767 | rc = sysdev_class_register(&stp_sysclass); | 1769 | rc = subsys_system_register(&stp_subsys, NULL); |
1768 | if (rc) | 1770 | if (rc) |
1769 | goto out; | 1771 | goto out; |
1770 | for (attr = stp_attributes; *attr; attr++) { | 1772 | for (attr = stp_attributes; *attr; attr++) { |
1771 | rc = sysdev_class_create_file(&stp_sysclass, *attr); | 1773 | rc = device_create_file(stp_subsys.dev_root, *attr); |
1772 | if (rc) | 1774 | if (rc) |
1773 | goto out_unreg; | 1775 | goto out_unreg; |
1774 | } | 1776 | } |
1775 | return 0; | 1777 | return 0; |
1776 | out_unreg: | 1778 | out_unreg: |
1777 | for (; attr >= stp_attributes; attr--) | 1779 | for (; attr >= stp_attributes; attr--) |
1778 | sysdev_class_remove_file(&stp_sysclass, *attr); | 1780 | device_remove_file(stp_subsys.dev_root, *attr); |
1779 | sysdev_class_unregister(&stp_sysclass); | 1781 | bus_unregister(&stp_subsys); |
1780 | out: | 1782 | out: |
1781 | return rc; | 1783 | return rc; |
1782 | } | 1784 | } |
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c index fdb5b8cb260f..6e0e29b29a7b 100644 --- a/arch/s390/kernel/topology.c +++ b/arch/s390/kernel/topology.c | |||
@@ -261,7 +261,7 @@ void store_topology(struct sysinfo_15_1_x *info) | |||
261 | int arch_update_cpu_topology(void) | 261 | int arch_update_cpu_topology(void) |
262 | { | 262 | { |
263 | struct sysinfo_15_1_x *info = tl_info; | 263 | struct sysinfo_15_1_x *info = tl_info; |
264 | struct sys_device *sysdev; | 264 | struct device *dev; |
265 | int cpu; | 265 | int cpu; |
266 | 266 | ||
267 | if (!MACHINE_HAS_TOPOLOGY) { | 267 | if (!MACHINE_HAS_TOPOLOGY) { |
@@ -273,8 +273,8 @@ int arch_update_cpu_topology(void) | |||
273 | tl_to_cores(info); | 273 | tl_to_cores(info); |
274 | update_cpu_core_map(); | 274 | update_cpu_core_map(); |
275 | for_each_online_cpu(cpu) { | 275 | for_each_online_cpu(cpu) { |
276 | sysdev = get_cpu_sysdev(cpu); | 276 | dev = get_cpu_device(cpu); |
277 | kobject_uevent(&sysdev->kobj, KOBJ_CHANGE); | 277 | kobject_uevent(&dev->kobj, KOBJ_CHANGE); |
278 | } | 278 | } |
279 | return 1; | 279 | return 1; |
280 | } | 280 | } |