PM / Hibernate: Remove deprecated hibernation snapshot ioctls
authorSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Thu, 8 Dec 2011 22:42:53 +0000 (23:42 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Fri, 9 Dec 2011 22:37:07 +0000 (23:37 +0100)
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>
Documentation/feature-removal-schedule.txt
kernel/power/user.c

index 3d849122b5b1bf345eac90465c988ff6bf1a0b68..9f51fc439a81b82bdea306c78c3c193b511fb2d1 100644 (file)
@@ -85,17 +85,6 @@ Who: Robin Getz <rgetz@blackfin.uclinux.org> & Matt Mackall <mpm@selenic.com>
 
 ---------------------------
 
-What:  Deprecated snapshot ioctls
-When:  2.6.36
-
-Why:   The ioctls in kernel/power/user.c were marked as deprecated long time
-       ago. Now they notify users about that so that they need to replace
-       their userspace. After some more time, remove them completely.
-
-Who:   Jiri Slaby <jirislaby@gmail.com>
-
----------------------------
-
 What:  The ieee80211_regdom module parameter
 When:  March 2010 / desktop catchup
 
index 98ade217da6c2c8d032c78a56d5358170d12819d..78bdb4404aab1759feab8c3a7344a297faf80f46 100644 (file)
 
 #include "power.h"
 
-/*
- * NOTE: The SNAPSHOT_SET_SWAP_FILE and SNAPSHOT_PMOPS ioctls are obsolete and
- * will be removed in the future.  They are only preserved here for
- * compatibility with existing userland utilities.
- */
-#define SNAPSHOT_SET_SWAP_FILE _IOW(SNAPSHOT_IOC_MAGIC, 10, unsigned int)
-#define SNAPSHOT_PMOPS         _IOW(SNAPSHOT_IOC_MAGIC, 12, unsigned int)
-
-#define PMOPS_PREPARE  1
-#define PMOPS_ENTER    2
-#define PMOPS_FINISH   3
-
-/*
- * NOTE: The following ioctl definitions are wrong and have been replaced with
- * correct ones.  They are only preserved here for compatibility with existing
- * userland utilities and will be removed in the future.
- */
-#define SNAPSHOT_ATOMIC_SNAPSHOT       _IOW(SNAPSHOT_IOC_MAGIC, 3, void *)
-#define SNAPSHOT_SET_IMAGE_SIZE                _IOW(SNAPSHOT_IOC_MAGIC, 6, unsigned long)
-#define SNAPSHOT_AVAIL_SWAP            _IOR(SNAPSHOT_IOC_MAGIC, 7, void *)
-#define SNAPSHOT_GET_SWAP_PAGE         _IOR(SNAPSHOT_IOC_MAGIC, 8, void *)
-
 
 #define SNAPSHOT_MINOR 231
 
@@ -213,15 +191,6 @@ unlock:
        return res;
 }
 
-static void snapshot_deprecated_ioctl(unsigned int cmd)
-{
-       if (printk_ratelimit())
-               printk(KERN_NOTICE "%pf: ioctl '%.8x' is deprecated and will "
-                               "be removed soon, update your suspend-to-disk "
-                               "utilities\n",
-                               __builtin_return_address(0), cmd);
-}
-
 static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                                                        unsigned long arg)
 {
@@ -272,8 +241,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                data->frozen = 0;
                break;
 
-       case SNAPSHOT_ATOMIC_SNAPSHOT:
-               snapshot_deprecated_ioctl(cmd);
        case SNAPSHOT_CREATE_IMAGE:
                if (data->mode != O_RDONLY || !data->frozen  || data->ready) {
                        error = -EPERM;
@@ -308,8 +275,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                data->ready = 0;
                break;
 
-       case SNAPSHOT_SET_IMAGE_SIZE:
-               snapshot_deprecated_ioctl(cmd);
        case SNAPSHOT_PREF_IMAGE_SIZE:
                image_size = arg;
                break;
@@ -324,16 +289,12 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                error = put_user(size, (loff_t __user *)arg);
                break;
 
-       case SNAPSHOT_AVAIL_SWAP:
-               snapshot_deprecated_ioctl(cmd);
        case SNAPSHOT_AVAIL_SWAP_SIZE:
                size = count_swap_pages(data->swap, 1);
                size <<= PAGE_SHIFT;
                error = put_user(size, (loff_t __user *)arg);
                break;
 
-       case SNAPSHOT_GET_SWAP_PAGE:
-               snapshot_deprecated_ioctl(cmd);
        case SNAPSHOT_ALLOC_SWAP_PAGE:
                if (data->swap < 0 || data->swap >= MAX_SWAPFILES) {
                        error = -ENODEV;
@@ -356,27 +317,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                free_all_swap_pages(data->swap);
                break;
 
-       case SNAPSHOT_SET_SWAP_FILE: /* This ioctl is deprecated */
-               snapshot_deprecated_ioctl(cmd);
-               if (!swsusp_swap_in_use()) {
-                       /*
-                        * User space encodes device types as two-byte values,
-                        * so we need to recode them
-                        */
-                       if (old_decode_dev(arg)) {
-                               data->swap = swap_type_of(old_decode_dev(arg),
-                                                       0, NULL);
-                               if (data->swap < 0)
-                                       error = -ENODEV;
-                       } else {
-                               data->swap = -1;
-                               error = -EINVAL;
-                       }
-               } else {
-                       error = -EPERM;
-               }
-               break;
-
        case SNAPSHOT_S2RAM:
                if (!data->frozen) {
                        error = -EPERM;
@@ -399,33 +339,6 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
                        error = hibernation_platform_enter();
                break;
 
-       case SNAPSHOT_PMOPS: /* This ioctl is deprecated */
-               snapshot_deprecated_ioctl(cmd);
-               error = -EINVAL;
-
-               switch (arg) {
-
-               case PMOPS_PREPARE:
-                       data->platform_support = 1;
-                       error = 0;
-                       break;
-
-               case PMOPS_ENTER:
-                       if (data->platform_support)
-                               error = hibernation_platform_enter();
-                       break;
-
-               case PMOPS_FINISH:
-                       if (data->platform_support)
-                               error = 0;
-                       break;
-
-               default:
-                       printk(KERN_ERR "SNAPSHOT_PMOPS: invalid argument %ld\n", arg);
-
-               }
-               break;
-
        case SNAPSHOT_SET_SWAP_AREA:
                if (swsusp_swap_in_use()) {
                        error = -EPERM;