diff options
| -rw-r--r-- | drivers/base/memory.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/drivers/base/memory.c b/drivers/base/memory.c index bd025059711f..ae6b6c43cff9 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c | |||
| @@ -309,17 +309,19 @@ static SYSDEV_ATTR(removable, 0444, show_mem_removable, NULL); | |||
| 309 | * Block size attribute stuff | 309 | * Block size attribute stuff |
| 310 | */ | 310 | */ |
| 311 | static ssize_t | 311 | static ssize_t |
| 312 | print_block_size(struct class *class, char *buf) | 312 | print_block_size(struct sysdev_class *class, |
| 313 | struct sysdev_class_attribute *class_attr, | ||
| 314 | char *buf) | ||
| 313 | { | 315 | { |
| 314 | return sprintf(buf, "%#lx\n", (unsigned long)PAGES_PER_SECTION * PAGE_SIZE); | 316 | return sprintf(buf, "%#lx\n", (unsigned long)PAGES_PER_SECTION * PAGE_SIZE); |
| 315 | } | 317 | } |
| 316 | 318 | ||
| 317 | static CLASS_ATTR(block_size_bytes, 0444, print_block_size, NULL); | 319 | static SYSDEV_CLASS_ATTR(block_size_bytes, 0444, print_block_size, NULL); |
| 318 | 320 | ||
| 319 | static int block_size_init(void) | 321 | static int block_size_init(void) |
| 320 | { | 322 | { |
| 321 | return sysfs_create_file(&memory_sysdev_class.kset.kobj, | 323 | return sysfs_create_file(&memory_sysdev_class.kset.kobj, |
| 322 | &class_attr_block_size_bytes.attr); | 324 | &attr_block_size_bytes.attr); |
| 323 | } | 325 | } |
| 324 | 326 | ||
| 325 | /* | 327 | /* |
| @@ -330,7 +332,9 @@ static int block_size_init(void) | |||
| 330 | */ | 332 | */ |
| 331 | #ifdef CONFIG_ARCH_MEMORY_PROBE | 333 | #ifdef CONFIG_ARCH_MEMORY_PROBE |
| 332 | static ssize_t | 334 | static ssize_t |
| 333 | memory_probe_store(struct class *class, const char *buf, size_t count) | 335 | memory_probe_store(struct sysdev_class *class, |
| 336 | struct sysdev_class_attribute *class_attr, | ||
| 337 | const char *buf, size_t count) | ||
| 334 | { | 338 | { |
| 335 | u64 phys_addr; | 339 | u64 phys_addr; |
| 336 | int nid; | 340 | int nid; |
| @@ -346,12 +350,12 @@ memory_probe_store(struct class *class, const char *buf, size_t count) | |||
| 346 | 350 | ||
| 347 | return count; | 351 | return count; |
| 348 | } | 352 | } |
| 349 | static CLASS_ATTR(probe, S_IWUSR, NULL, memory_probe_store); | 353 | static SYSDEV_CLASS_ATTR(probe, S_IWUSR, NULL, memory_probe_store); |
| 350 | 354 | ||
| 351 | static int memory_probe_init(void) | 355 | static int memory_probe_init(void) |
| 352 | { | 356 | { |
| 353 | return sysfs_create_file(&memory_sysdev_class.kset.kobj, | 357 | return sysfs_create_file(&memory_sysdev_class.kset.kobj, |
| 354 | &class_attr_probe.attr); | 358 | &attr_probe.attr); |
| 355 | } | 359 | } |
| 356 | #else | 360 | #else |
| 357 | static inline int memory_probe_init(void) | 361 | static inline int memory_probe_init(void) |
| @@ -367,7 +371,9 @@ static inline int memory_probe_init(void) | |||
| 367 | 371 | ||
| 368 | /* Soft offline a page */ | 372 | /* Soft offline a page */ |
| 369 | static ssize_t | 373 | static ssize_t |
| 370 | store_soft_offline_page(struct class *class, const char *buf, size_t count) | 374 | store_soft_offline_page(struct sysdev_class *class, |
| 375 | struct sysdev_class_attribute *class_attr, | ||
| 376 | const char *buf, size_t count) | ||
| 371 | { | 377 | { |
| 372 | int ret; | 378 | int ret; |
| 373 | u64 pfn; | 379 | u64 pfn; |
| @@ -384,7 +390,9 @@ store_soft_offline_page(struct class *class, const char *buf, size_t count) | |||
| 384 | 390 | ||
| 385 | /* Forcibly offline a page, including killing processes. */ | 391 | /* Forcibly offline a page, including killing processes. */ |
| 386 | static ssize_t | 392 | static ssize_t |
| 387 | store_hard_offline_page(struct class *class, const char *buf, size_t count) | 393 | store_hard_offline_page(struct sysdev_class *class, |
| 394 | struct sysdev_class_attribute *class_attr, | ||
| 395 | const char *buf, size_t count) | ||
| 388 | { | 396 | { |
| 389 | int ret; | 397 | int ret; |
| 390 | u64 pfn; | 398 | u64 pfn; |
| @@ -397,18 +405,18 @@ store_hard_offline_page(struct class *class, const char *buf, size_t count) | |||
| 397 | return ret ? ret : count; | 405 | return ret ? ret : count; |
| 398 | } | 406 | } |
| 399 | 407 | ||
| 400 | static CLASS_ATTR(soft_offline_page, 0644, NULL, store_soft_offline_page); | 408 | static SYSDEV_CLASS_ATTR(soft_offline_page, 0644, NULL, store_soft_offline_page); |
| 401 | static CLASS_ATTR(hard_offline_page, 0644, NULL, store_hard_offline_page); | 409 | static SYSDEV_CLASS_ATTR(hard_offline_page, 0644, NULL, store_hard_offline_page); |
| 402 | 410 | ||
| 403 | static __init int memory_fail_init(void) | 411 | static __init int memory_fail_init(void) |
| 404 | { | 412 | { |
| 405 | int err; | 413 | int err; |
| 406 | 414 | ||
| 407 | err = sysfs_create_file(&memory_sysdev_class.kset.kobj, | 415 | err = sysfs_create_file(&memory_sysdev_class.kset.kobj, |
| 408 | &class_attr_soft_offline_page.attr); | 416 | &attr_soft_offline_page.attr); |
| 409 | if (!err) | 417 | if (!err) |
| 410 | err = sysfs_create_file(&memory_sysdev_class.kset.kobj, | 418 | err = sysfs_create_file(&memory_sysdev_class.kset.kobj, |
| 411 | &class_attr_hard_offline_page.attr); | 419 | &attr_hard_offline_page.attr); |
| 412 | return err; | 420 | return err; |
| 413 | } | 421 | } |
| 414 | #else | 422 | #else |
