~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/mmc/ioctl.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/uapi/linux/mmc/ioctl.h (Architecture m68k) and /include/uapi/linux/mmc/ioctl.h (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2 #ifndef LINUX_MMC_IOCTL_H                           2 #ifndef LINUX_MMC_IOCTL_H
  3 #define LINUX_MMC_IOCTL_H                           3 #define LINUX_MMC_IOCTL_H
  4                                                     4 
  5 #include <linux/types.h>                            5 #include <linux/types.h>
  6 #include <linux/major.h>                            6 #include <linux/major.h>
  7                                                     7 
  8 struct mmc_ioc_cmd {                                8 struct mmc_ioc_cmd {
  9         /*                                          9         /*
 10          * Direction of data: nonzero = write,     10          * Direction of data: nonzero = write, zero = read.
 11          * Bit 31 selects 'Reliable Write' for     11          * Bit 31 selects 'Reliable Write' for RPMB.
 12          */                                        12          */
 13         int write_flag;                            13         int write_flag;
 14                                                    14 
 15         /* Application-specific command.  true     15         /* Application-specific command.  true = precede with CMD55 */
 16         int is_acmd;                               16         int is_acmd;
 17                                                    17 
 18         __u32 opcode;                              18         __u32 opcode;
 19         __u32 arg;                                 19         __u32 arg;
 20         __u32 response[4];  /* CMD response */     20         __u32 response[4];  /* CMD response */
 21         unsigned int flags;                        21         unsigned int flags;
 22         unsigned int blksz;                        22         unsigned int blksz;
 23         unsigned int blocks;                       23         unsigned int blocks;
 24                                                    24 
 25         /*                                         25         /*
 26          * Sleep at least postsleep_min_us use     26          * Sleep at least postsleep_min_us useconds, and at most
 27          * postsleep_max_us useconds *after* i     27          * postsleep_max_us useconds *after* issuing command.  Needed for
 28          * some read commands for which cards      28          * some read commands for which cards have no other way of indicating
 29          * they're ready for the next command      29          * they're ready for the next command (i.e. there is no equivalent of
 30          * a "busy" indicator for read operati     30          * a "busy" indicator for read operations).
 31          */                                        31          */
 32         unsigned int postsleep_min_us;             32         unsigned int postsleep_min_us;
 33         unsigned int postsleep_max_us;             33         unsigned int postsleep_max_us;
 34                                                    34 
 35         /*                                         35         /*
 36          * Override driver-computed timeouts.      36          * Override driver-computed timeouts.  Note the difference in units!
 37          */                                        37          */
 38         unsigned int data_timeout_ns;              38         unsigned int data_timeout_ns;
 39         unsigned int cmd_timeout_ms;               39         unsigned int cmd_timeout_ms;
 40                                                    40 
 41         /*                                         41         /*
 42          * For 64-bit machines, the next membe     42          * For 64-bit machines, the next member, ``__u64 data_ptr``, wants to
 43          * be 8-byte aligned.  Make sure this      43          * be 8-byte aligned.  Make sure this struct is the same size when
 44          * built for 32-bit.                       44          * built for 32-bit.
 45          */                                        45          */
 46         __u32 __pad;                               46         __u32 __pad;
 47                                                    47 
 48         /* DAT buffer */                           48         /* DAT buffer */
 49         __u64 data_ptr;                            49         __u64 data_ptr;
 50 };                                                 50 };
 51 #define mmc_ioc_cmd_set_data(ic, ptr) ic.data_     51 #define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr
 52                                                    52 
 53 /**                                                53 /**
 54  * struct mmc_ioc_multi_cmd - multi command in     54  * struct mmc_ioc_multi_cmd - multi command information
 55  * @num_of_cmds: Number of commands to send. M     55  * @num_of_cmds: Number of commands to send. Must be equal to or less than
 56  *      MMC_IOC_MAX_CMDS.                          56  *      MMC_IOC_MAX_CMDS.
 57  * @cmds: Array of commands with length equal      57  * @cmds: Array of commands with length equal to 'num_of_cmds'
 58  */                                                58  */
 59 struct mmc_ioc_multi_cmd {                         59 struct mmc_ioc_multi_cmd {
 60         __u64 num_of_cmds;                         60         __u64 num_of_cmds;
 61         struct mmc_ioc_cmd cmds[];                 61         struct mmc_ioc_cmd cmds[];
 62 };                                                 62 };
 63                                                    63 
 64 #define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0,      64 #define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
 65 /*                                                 65 /*
 66  * MMC_IOC_MULTI_CMD: Used to send an array of     66  * MMC_IOC_MULTI_CMD: Used to send an array of MMC commands described by
 67  *      the structure mmc_ioc_multi_cmd. The M     67  *      the structure mmc_ioc_multi_cmd. The MMC driver will issue all
 68  *      commands in array in sequence to card.     68  *      commands in array in sequence to card.
 69  */                                                69  */
 70 #define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJO     70 #define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd)
 71 /*                                                 71 /*
 72  * Since this ioctl is only meant to enhance (     72  * Since this ioctl is only meant to enhance (and not replace) normal access
 73  * to the mmc bus device, an upper data transf     73  * to the mmc bus device, an upper data transfer limit of MMC_IOC_MAX_BYTES
 74  * is enforced per ioctl call.  For larger dat     74  * is enforced per ioctl call.  For larger data transfers, use the normal
 75  * block device operations.                        75  * block device operations.
 76  */                                                76  */
 77 #define MMC_IOC_MAX_BYTES  (512L * 1024)           77 #define MMC_IOC_MAX_BYTES  (512L * 1024)
 78 #define MMC_IOC_MAX_CMDS    255                    78 #define MMC_IOC_MAX_CMDS    255
 79 #endif /* LINUX_MMC_IOCTL_H */                     79 #endif /* LINUX_MMC_IOCTL_H */
 80                                                    80 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php