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

TOMOYO Linux Cross Reference
Linux/include/linux/usb_usual.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/linux/usb_usual.h (Version linux-6.12-rc7) and /include/linux/usb_usual.h (Version linux-4.10.17)


  1 /* SPDX-License-Identifier: GPL-2.0 */         << 
  2 /*                                                  1 /*
  3  * Interface to the libusual.                       2  * Interface to the libusual.
  4  *                                                  3  *
  5  * Copyright (c) 2005 Pete Zaitcev <zaitcev@re      4  * Copyright (c) 2005 Pete Zaitcev <zaitcev@redhat.com>
  6  * Copyright (c) 1999-2002 Matthew Dharm (mdha      5  * Copyright (c) 1999-2002 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
  7  * Copyright (c) 1999 Michael Gee (michael@lin      6  * Copyright (c) 1999 Michael Gee (michael@linuxspecific.com)
  8  */                                                 7  */
  9                                                     8 
 10 #ifndef __LINUX_USB_USUAL_H                         9 #ifndef __LINUX_USB_USUAL_H
 11 #define __LINUX_USB_USUAL_H                        10 #define __LINUX_USB_USUAL_H
 12                                                    11 
 13                                                    12 
 14 /* We should do this for cleanliness... But ot     13 /* We should do this for cleanliness... But other usb_foo.h do not do this. */
 15 /* #include <linux/usb.h> */                       14 /* #include <linux/usb.h> */
 16                                                    15 
 17 /*                                                 16 /*
 18  * The flags field, which we store in usb_devi     17  * The flags field, which we store in usb_device_id.driver_info.
 19  * It is compatible with the old usb-storage f     18  * It is compatible with the old usb-storage flags in lower 24 bits.
 20  */                                                19  */
 21                                                    20 
 22 /*                                                 21 /*
 23  * Static flag definitions.  We use this round     22  * Static flag definitions.  We use this roundabout technique so that the
 24  * proc_info() routine can automatically displ     23  * proc_info() routine can automatically display a message for each flag.
 25  */                                                24  */
 26 #define US_DO_ALL_FLAGS                            25 #define US_DO_ALL_FLAGS                                         \
 27         US_FLAG(SINGLE_LUN,     0x00000001)        26         US_FLAG(SINGLE_LUN,     0x00000001)                     \
 28                 /* allow access to only LUN 0      27                 /* allow access to only LUN 0 */                \
 29         US_FLAG(NEED_OVERRIDE,  0x00000002)        28         US_FLAG(NEED_OVERRIDE,  0x00000002)                     \
 30                 /* unusual_devs entry is neces     29                 /* unusual_devs entry is necessary */           \
 31         US_FLAG(SCM_MULT_TARG,  0x00000004)        30         US_FLAG(SCM_MULT_TARG,  0x00000004)                     \
 32                 /* supports multiple targets *     31                 /* supports multiple targets */                 \
 33         US_FLAG(FIX_INQUIRY,    0x00000008)        32         US_FLAG(FIX_INQUIRY,    0x00000008)                     \
 34                 /* INQUIRY response needs faki     33                 /* INQUIRY response needs faking */             \
 35         US_FLAG(FIX_CAPACITY,   0x00000010)        34         US_FLAG(FIX_CAPACITY,   0x00000010)                     \
 36                 /* READ CAPACITY response too      35                 /* READ CAPACITY response too big */            \
 37         US_FLAG(IGNORE_RESIDUE, 0x00000020)        36         US_FLAG(IGNORE_RESIDUE, 0x00000020)                     \
 38                 /* reported residue is wrong *     37                 /* reported residue is wrong */                 \
 39         US_FLAG(BULK32,         0x00000040)        38         US_FLAG(BULK32,         0x00000040)                     \
 40                 /* Uses 32-byte CBW length */      39                 /* Uses 32-byte CBW length */                   \
 41         US_FLAG(NOT_LOCKABLE,   0x00000080)        40         US_FLAG(NOT_LOCKABLE,   0x00000080)                     \
 42                 /* PREVENT/ALLOW not supported     41                 /* PREVENT/ALLOW not supported */               \
 43         US_FLAG(GO_SLOW,        0x00000100)        42         US_FLAG(GO_SLOW,        0x00000100)                     \
 44                 /* Need delay after Command ph     43                 /* Need delay after Command phase */            \
 45         US_FLAG(NO_WP_DETECT,   0x00000200)        44         US_FLAG(NO_WP_DETECT,   0x00000200)                     \
 46                 /* Don't check for write-prote     45                 /* Don't check for write-protect */             \
 47         US_FLAG(MAX_SECTORS_64, 0x00000400)        46         US_FLAG(MAX_SECTORS_64, 0x00000400)                     \
 48                 /* Sets max_sectors to 64    *     47                 /* Sets max_sectors to 64    */                 \
 49         US_FLAG(IGNORE_DEVICE,  0x00000800)        48         US_FLAG(IGNORE_DEVICE,  0x00000800)                     \
 50                 /* Don't claim device */           49                 /* Don't claim device */                        \
 51         US_FLAG(CAPACITY_HEURISTICS,    0x0000     50         US_FLAG(CAPACITY_HEURISTICS,    0x00001000)             \
 52                 /* sometimes sizes is too big      51                 /* sometimes sizes is too big */                \
 53         US_FLAG(MAX_SECTORS_MIN,0x00002000)        52         US_FLAG(MAX_SECTORS_MIN,0x00002000)                     \
 54                 /* Sets max_sectors to arch mi     53                 /* Sets max_sectors to arch min */              \
 55         US_FLAG(BULK_IGNORE_TAG,0x00004000)        54         US_FLAG(BULK_IGNORE_TAG,0x00004000)                     \
 56                 /* Ignore tag mismatch in bulk     55                 /* Ignore tag mismatch in bulk operations */    \
 57         US_FLAG(SANE_SENSE,     0x00008000)        56         US_FLAG(SANE_SENSE,     0x00008000)                     \
 58                 /* Sane Sense (> 18 bytes) */      57                 /* Sane Sense (> 18 bytes) */                   \
 59         US_FLAG(CAPACITY_OK,    0x00010000)        58         US_FLAG(CAPACITY_OK,    0x00010000)                     \
 60                 /* READ CAPACITY response is c     59                 /* READ CAPACITY response is correct */         \
 61         US_FLAG(BAD_SENSE,      0x00020000)        60         US_FLAG(BAD_SENSE,      0x00020000)                     \
 62                 /* Bad Sense (never more than      61                 /* Bad Sense (never more than 18 bytes) */      \
 63         US_FLAG(NO_READ_DISC_INFO,      0x0004     62         US_FLAG(NO_READ_DISC_INFO,      0x00040000)             \
 64                 /* cannot handle READ_DISC_INF     63                 /* cannot handle READ_DISC_INFO */              \
 65         US_FLAG(NO_READ_CAPACITY_16,    0x0008     64         US_FLAG(NO_READ_CAPACITY_16,    0x00080000)             \
 66                 /* cannot handle READ_CAPACITY     65                 /* cannot handle READ_CAPACITY_16 */            \
 67         US_FLAG(INITIAL_READ10, 0x00100000)        66         US_FLAG(INITIAL_READ10, 0x00100000)                     \
 68                 /* Initial READ(10) (and other     67                 /* Initial READ(10) (and others) must be retried */     \
 69         US_FLAG(WRITE_CACHE,    0x00200000)        68         US_FLAG(WRITE_CACHE,    0x00200000)                     \
 70                 /* Write Cache status is not a     69                 /* Write Cache status is not available */       \
 71         US_FLAG(NEEDS_CAP16,    0x00400000)        70         US_FLAG(NEEDS_CAP16,    0x00400000)                     \
 72                 /* cannot handle READ_CAPACITY     71                 /* cannot handle READ_CAPACITY_10 */            \
 73         US_FLAG(IGNORE_UAS,     0x00800000)        72         US_FLAG(IGNORE_UAS,     0x00800000)                     \
 74                 /* Device advertises UAS but i     73                 /* Device advertises UAS but it is broken */    \
 75         US_FLAG(BROKEN_FUA,     0x01000000)        74         US_FLAG(BROKEN_FUA,     0x01000000)                     \
 76                 /* Cannot handle FUA in WRITE      75                 /* Cannot handle FUA in WRITE or READ CDBs */   \
 77         US_FLAG(NO_ATA_1X,      0x02000000)        76         US_FLAG(NO_ATA_1X,      0x02000000)                     \
 78                 /* Cannot handle ATA_12 or ATA     77                 /* Cannot handle ATA_12 or ATA_16 CDBs */       \
 79         US_FLAG(NO_REPORT_OPCODES,      0x0400     78         US_FLAG(NO_REPORT_OPCODES,      0x04000000)             \
 80                 /* Cannot handle MI_REPORT_SUP     79                 /* Cannot handle MI_REPORT_SUPPORTED_OPERATION_CODES */ \
 81         US_FLAG(MAX_SECTORS_240,        0x0800     80         US_FLAG(MAX_SECTORS_240,        0x08000000)             \
 82                 /* Sets max_sectors to 240 */      81                 /* Sets max_sectors to 240 */                   \
 83         US_FLAG(NO_REPORT_LUNS, 0x10000000)        82         US_FLAG(NO_REPORT_LUNS, 0x10000000)                     \
 84                 /* Cannot handle REPORT_LUNS *     83                 /* Cannot handle REPORT_LUNS */                 \
 85         US_FLAG(ALWAYS_SYNC, 0x20000000)           84         US_FLAG(ALWAYS_SYNC, 0x20000000)                        \
 86                 /* lies about caching, so alwa     85                 /* lies about caching, so always sync */        \
 87         US_FLAG(NO_SAME, 0x40000000)           << 
 88                 /* Cannot handle WRITE_SAME */ << 
 89         US_FLAG(SENSE_AFTER_SYNC, 0x80000000)  << 
 90                 /* Do REQUEST_SENSE after SYNC << 
 91                                                    86 
 92 #define US_FLAG(name, value)    US_FL_##name =     87 #define US_FLAG(name, value)    US_FL_##name = value ,
 93 enum { US_DO_ALL_FLAGS };                          88 enum { US_DO_ALL_FLAGS };
 94 #undef US_FLAG                                     89 #undef US_FLAG
 95                                                    90 
 96 #include <linux/usb/storage.h>                     91 #include <linux/usb/storage.h>
 97                                                    92 
 98 extern int usb_usual_ignore_device(struct usb_     93 extern int usb_usual_ignore_device(struct usb_interface *intf);
 99 extern const struct usb_device_id usb_storage_ !!  94 extern struct usb_device_id usb_storage_usb_ids[];
100                                                    95 
101 #endif /* __LINUX_USB_USUAL_H */                   96 #endif /* __LINUX_USB_USUAL_H */
102                                                    97 

~ [ 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