Merge tag 'hwmon-for-linus-v4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / include / linux / blkpg.h
index a8519446c111ab02fb71e79e6b31fea1df666223..bef124fde61e55ee34d3012b8597199ddfc2fbca 100644 (file)
@@ -3,57 +3,19 @@
 
 /*
  * Partition table and disk geometry handling
- *
- * A single ioctl with lots of subfunctions:
- *
- * Device number stuff:
- *    get_whole_disk()         (given the device number of a partition,
- *                               find the device number of the encompassing disk)
- *    get_all_partitions()     (given the device number of a disk, return the
- *                              device numbers of all its known partitions)
- *
- * Partition stuff:
- *    add_partition()
- *    delete_partition()
- *    test_partition_in_use()  (also for test_disk_in_use)
- *
- * Geometry stuff:
- *    get_geometry()
- *    set_geometry()
- *    get_bios_drivedata()
- *
- * For today, only the partition stuff - aeb, 990515
  */
-#include <linux/compiler.h>
-#include <linux/ioctl.h>
 
-#define BLKPG      _IO(0x12,105)
+#include <linux/compat.h>
+#include <uapi/linux/blkpg.h>
 
-/* The argument structure */
-struct blkpg_ioctl_arg {
-        int op;
-        int flags;
-        int datalen;
-        void __user *data;
-};
-
-/* The subfunctions (for the op field) */
-#define BLKPG_ADD_PARTITION    1
-#define BLKPG_DEL_PARTITION    2
-#define BLKPG_RESIZE_PARTITION 3
-
-/* Sizes of name fields. Unused at present. */
-#define BLKPG_DEVNAMELTH       64
-#define BLKPG_VOLNAMELTH       64
-
-/* The data structure for ADD_PARTITION and DEL_PARTITION */
-struct blkpg_partition {
-       long long start;                /* starting offset in bytes */
-       long long length;               /* length in bytes */
-       int pno;                        /* partition number */
-       char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
-                                          to be used in kernel messages */
-       char volname[BLKPG_VOLNAMELTH]; /* volume label */
+#ifdef CONFIG_COMPAT
+/* For 32-bit/64-bit compatibility of struct blkpg_ioctl_arg */
+struct blkpg_compat_ioctl_arg {
+       compat_int_t op;
+       compat_int_t flags;
+       compat_int_t datalen;
+       compat_uptr_t data;
 };
+#endif
 
 #endif /* _LINUX_BLKPG_H */