aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>2011-12-08 17:42:53 -0500
committerRafael J. Wysocki <rjw@sisk.pl>2011-12-09 17:37:07 -0500
commitcf007e3526a785a95a738d5a8fba44f1f4fe33e0 (patch)
tree0b36d8a1568c4579e439dda5fa8e079723589769
parentb298d289c79211508f11cb50749b0d1d54eb244a (diff)
PM / Hibernate: Remove deprecated hibernation snapshot ioctls
Several snapshot ioctls were marked for removal quite some time ago, since they were deprecated. Remove them. Suggested-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r--Documentation/feature-removal-schedule.txt11
-rw-r--r--kernel/power/user.c87
2 files changed, 0 insertions, 98 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 3d849122b5b1..9f51fc439a81 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -85,17 +85,6 @@ Who: Robin Getz <rgetz@blackfin.uclinux.org> & Matt Mackall <mpm@selenic.com>
85 85
86--------------------------- 86---------------------------
87 87
88What: Deprecated snapshot ioctls
89When: 2.6.36
90
91Why: The ioctls in kernel/power/user.c were marked as deprecated long time
92 ago. Now they notify users about that so that they need to replace
93 their userspace. After some more time, remove them completely.
94
95Who: Jiri Slaby <jirislaby@gmail.com>
96
97---------------------------
98
99What: The ieee80211_regdom module parameter 88What: The ieee80211_regdom module parameter
100When: March 2010 / desktop catchup 89When: March 2010 / desktop catchup
101 90
diff --git a/kernel/power/user.c b/kernel/power/user.c
index 98ade217da6c..78bdb4404aab 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -30,28 +30,6 @@
30 30
31#include "power.h" 31#include "power.h"
32 32
33/*
34 * NOTE: The SNAPSHOT_SET_SWAP_FILE and SNAPSHOT_PMOPS ioctls are obsolete and
35 * will be removed in the future. They are only preserved here for
36 * compatibility with existing userland utilities.
37 */
38#define SNAPSHOT_SET_SWAP_FILE _IOW(SNAPSHOT_IOC_MAGIC, 10, unsigned int)
39#define SNAPSHOT_PMOPS _IOW(SNAPSHOT_IOC_MAGIC, 12, unsigned int)
40
41#define PMOPS_PREPARE 1
42#define PMOPS_ENTER 2
43#define PMOPS_FINISH 3
44
45/*
46 * NOTE: The following ioctl definitions are wrong and have been replaced with
47 * correct ones. They are only preserved here for compatibility with existing
48 * userland utilities and will be removed in the future.
49 */
50#define SNAPSHOT_ATOMIC_SNAPSHOT _IOW(SNAPSHOT_IOC_MAGIC, 3, void *)
51#define SNAPSHOT_SET_IMAGE_SIZE _IOW(SNAPSHOT_IOC_MAGIC, 6, unsigned long)
52#define SNAPSHOT_AVAIL_SWAP _IOR(SNAPSHOT_IOC_MAGIC, 7, void *)
53#define SNAPSHOT_GET_SWAP_PAGE _IOR(SNAPSHOT_IOC_MAGIC, 8, void *)
54
55 33
56#define SNAPSHOT_MINOR 231 34#define SNAPSHOT_MINOR 231
57 35
@@ -213,15 +191,6 @@ unlock:
213 return res; 191 return res;
214} 192}
215 193
216static void snapshot_deprecated_ioctl(unsigned int cmd)
217{
218 if (printk_ratelimit())
219 printk(KERN_NOTICE "%pf: ioctl '%.8x' is deprecated and will "
220 "be removed soon, update your suspend-to-disk "
221 "utilities\n",
222 __builtin_return_address(0), cmd);
223}
224
225static long snapshot_ioctl(struct file *filp, unsigned int cmd, 194static long snapshot_ioctl(struct file *filp, unsigned int cmd,
226 unsigned long arg) 195 unsigned long arg)
227{ 196{
@@ -272,8 +241,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
272 data->frozen = 0; 241 data->frozen = 0;
273 break; 242 break;
274 243
275 case SNAPSHOT_ATOMIC_SNAPSHOT:
276 snapshot_deprecated_ioctl(cmd);
277 case SNAPSHOT_CREATE_IMAGE: 244 case SNAPSHOT_CREATE_IMAGE:
278 if (data->mode != O_RDONLY || !data->frozen || data->ready) { 245 if (data->mode != O_RDONLY || !data->frozen || data->ready) {
279 error = -EPERM; 246 error = -EPERM;
@@ -308,8 +275,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
308 data->ready = 0; 275 data->ready = 0;
309 break; 276 break;
310 277
311 case SNAPSHOT_SET_IMAGE_SIZE:
312 snapshot_deprecated_ioctl(cmd);
313 case SNAPSHOT_PREF_IMAGE_SIZE: 278 case SNAPSHOT_PREF_IMAGE_SIZE:
314 image_size = arg; 279 image_size = arg;
315 break; 280 break;
@@ -324,16 +289,12 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
324 error = put_user(size, (loff_t __user *)arg); 289 error = put_user(size, (loff_t __user *)arg);
325 break; 290 break;
326 291
327 case SNAPSHOT_AVAIL_SWAP:
328 snapshot_deprecated_ioctl(cmd);
329 case SNAPSHOT_AVAIL_SWAP_SIZE: 292 case SNAPSHOT_AVAIL_SWAP_SIZE:
330 size = count_swap_pages(data->swap, 1); 293 size = count_swap_pages(data->swap, 1);
331 size <<= PAGE_SHIFT; 294 size <<= PAGE_SHIFT;
332 error = put_user(size, (loff_t __user *)arg); 295 error = put_user(size, (loff_t __user *)arg);
333 break; 296 break;
334 297
335 case SNAPSHOT_GET_SWAP_PAGE:
336 snapshot_deprecated_ioctl(cmd);
337 case SNAPSHOT_ALLOC_SWAP_PAGE: 298 case SNAPSHOT_ALLOC_SWAP_PAGE:
338 if (data->swap < 0 || data->swap >= MAX_SWAPFILES) { 299 if (data->swap < 0 || data->swap >= MAX_SWAPFILES) {
339 error = -ENODEV; 300 error = -ENODEV;
@@ -356,27 +317,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
356 free_all_swap_pages(data->swap); 317 free_all_swap_pages(data->swap);
357 break; 318 break;
358 319
359 case SNAPSHOT_SET_SWAP_FILE: /* This ioctl is deprecated */
360 snapshot_deprecated_ioctl(cmd);
361 if (!swsusp_swap_in_use()) {
362 /*
363 * User space encodes device types as two-byte values,
364 * so we need to recode them
365 */
366 if (old_decode_dev(arg)) {
367 data->swap = swap_type_of(old_decode_dev(arg),
368 0, NULL);
369 if (data->swap < 0)
370 error = -ENODEV;
371 } else {
372 data->swap = -1;
373 error = -EINVAL;
374 }
375 } else {
376 error = -EPERM;
377 }
378 break;
379
380 case SNAPSHOT_S2RAM: 320 case SNAPSHOT_S2RAM:
381 if (!data->frozen) { 321 if (!data->frozen) {
382 error = -EPERM; 322 error = -EPERM;
@@ -399,33 +339,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
399 error = hibernation_platform_enter(); 339 error = hibernation_platform_enter();
400 break; 340 break;
401 341
402 case SNAPSHOT_PMOPS: /* This ioctl is deprecated */
403 snapshot_deprecated_ioctl(cmd);
404 error = -EINVAL;
405
406 switch (arg) {
407
408 case PMOPS_PREPARE:
409 data->platform_support = 1;
410 error = 0;
411 break;
412
413 case PMOPS_ENTER:
414 if (data->platform_support)
415 error = hibernation_platform_enter();
416 break;
417
418 case PMOPS_FINISH:
419 if (data->platform_support)
420 error = 0;
421 break;
422
423 default:
424 printk(KERN_ERR "SNAPSHOT_PMOPS: invalid argument %ld\n", arg);
425
426 }
427 break;
428
429 case SNAPSHOT_SET_SWAP_AREA: 342 case SNAPSHOT_SET_SWAP_AREA:
430 if (swsusp_swap_in_use()) { 343 if (swsusp_swap_in_use()) {
431 error = -EPERM; 344 error = -EPERM;