1\xEF\xBB\xBFChinese translated version of Documentation/dev-tools/sparse.rst 2 3If you have any comment or update to the content, please contact the 4original document maintainer directly. However, if you have a problem 5communicating in English you can also ask the Chinese maintainer for 6help. Contact the Chinese maintainer if this translation is outdated 7or if there is a problem with the translation. 8 9Chinese maintainer: Li Yang <leoyang.li@nxp.com> 10--------------------------------------------------------------------- 11Documentation/dev-tools/sparse.rst \xE7\x9A\x84\xE4\xB8\xAD\xE6\x96\x87\xE7\xBF\xBB\xE8\xAF\x91 12 13\xE5\xA6\x82\xE6\x9E\x9C\xE6\x83\xB3\xE8\xAF\x84\xE8\xAE\xBA\xE6\x88\x96\xE6\x9B\xB4\xE6\x96\xB0\xE6\x9C\xAC\xE6\x96\x87\xE7\x9A\x84\xE5\x86\x85\xE5\xAE\xB9\xEF\xBC\x8C\xE8\xAF\xB7\xE7\x9B\xB4\xE6\x8E\xA5\xE8\x81\x94\xE7\xB3\xBB\xE5\x8E\x9F\xE6\x96\x87\xE6\xA1\xA3\xE7\x9A\x84\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE4\xBD\xBF\xE7\x94\xA8\xE8\x8B\xB1\xE6\x96\x87 14\xE4\xBA\xA4\xE6\xB5\x81\xE6\x9C\x89\xE5\x9B\xB0\xE9\x9A\xBE\xE7\x9A\x84\xE8\xAF\x9D\xEF\xBC\x8C\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE5\x90\x91\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE6\xB1\x82\xE5\x8A\xA9\xE3\x80\x82\xE5\xA6\x82\xE6\x9E\x9C\xE6\x9C\xAC\xE7\xBF\xBB\xE8\xAF\x91\xE6\x9B\xB4\xE6\x96\xB0\xE4\xB8\x8D\xE5\x8F\x8A\xE6\x97\xB6\xE6\x88\x96\xE8\x80\x85\xE7\xBF\xBB 15\xE8\xAF\x91\xE5\xAD\x98\xE5\x9C\xA8\xE9\x97\xAE\xE9\xA2\x98\xEF\xBC\x8C\xE8\xAF\xB7\xE8\x81\x94\xE7\xB3\xBB\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xE3\x80\x82 16 17\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBB\xB4\xE6\x8A\xA4\xE8\x80\x85\xEF\xBC\x9A \xE6\x9D\x8E\xE9\x98\xB3 Li Yang <leoyang.li@nxp.com> 18\xE4\xB8\xAD\xE6\x96\x87\xE7\x89\x88\xE7\xBF\xBB\xE8\xAF\x91\xE8\x80\x85\xEF\xBC\x9A \xE6\x9D\x8E\xE9\x98\xB3 Li Yang <leoyang.li@nxp.com> 19 20 21\xE4\xBB\xA5\xE4\xB8\x8B\xE4\xB8\xBA\xE6\xAD\xA3\xE6\x96\x87 22--------------------------------------------------------------------- 23 24Copyright 2004 Linus Torvalds 25Copyright 2004 Pavel Machek <pavel@ucw.cz> 26Copyright 2006 Bob Copeland <me@bobcopeland.com> 27 28\xE4\xBD\xBF\xE7\x94\xA8 sparse \xE5\xB7\xA5\xE5\x85\xB7\xE5\x81\x9A\xE7\xB1\xBB\xE5\x9E\x8B\xE6\xA3\x80\xE6\x9F\xA5 29~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 31"__bitwise" \xE6\x98\xAF\xE4\xB8\x80\xE7\xA7\x8D\xE7\xB1\xBB\xE5\x9E\x8B\xE5\xB1\x9E\xE6\x80\xA7\xEF\xBC\x8C\xE6\x89\x80\xE4\xBB\xA5\xE4\xBD\xA0\xE5\xBA\x94\xE8\xAF\xA5\xE8\xBF\x99\xE6\xA0\xB7\xE4\xBD\xBF\xE7\x94\xA8\xE5\xAE\x83\xEF\xBC\x9A 32 33 typedef int __bitwise pm_request_t; 34 35 enum pm_request { 36 PM_SUSPEND = (__force pm_request_t) 1, 37 PM_RESUME = (__force pm_request_t) 2 38 }; 39 40\xE8\xBF\x99\xE6\xA0\xB7\xE4\xBC\x9A\xE4\xBD\xBF PM_SUSPEND \xE5\x92\x8C PM_RESUME \xE6\x88\x90\xE4\xB8\xBA\xE4\xBD\x8D\xE6\x96\xB9\xE5\xBC\x8F(bitwise)\xE6\x95\xB4\xE6\x95\xB0\xEF\xBC\x88\xE4\xBD\xBF\xE7\x94\xA8"__force" 41\xE6\x98\xAF\xE5\x9B\xA0\xE4\xB8\xBA sparse \xE4\xBC\x9A\xE6\x8A\xB1\xE6\x80\xA8\xE6\x94\xB9\xE5\x8F\x98\xE4\xBD\x8D\xE6\x96\xB9\xE5\xBC\x8F\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xE8\xBD\xAC\xE6\x8D\xA2\xEF\xBC\x8C\xE4\xBD\x86\xE6\x98\xAF\xE8\xBF\x99\xE9\x87\x8C\xE6\x88\x91\xE4\xBB\xAC\xE7\xA1\xAE\xE5\xAE\x9E\xE9\x9C\x80\xE8\xA6\x81\xE5\xBC\xBA\xE5\x88\xB6\xE8\xBF\x9B\xE8\xA1\x8C\xE8\xBD\xAC 42\xE6\x8D\xA2\xEF\xBC\x89\xE3\x80\x82\xE8\x80\x8C\xE4\xB8\x94\xE5\x9B\xA0\xE4\xB8\xBA\xE6\x89\x80\xE6\x9C\x89\xE6\x9E\x9A\xE4\xB8\xBE\xE5\x80\xBC\xE9\x83\xBD\xE4\xBD\xBF\xE7\x94\xA8\xE4\xBA\x86\xE7\x9B\xB8\xE5\x90\x8C\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xEF\xBC\x8C\xE8\xBF\x99\xE9\x87\x8C\xE7\x9A\x84"enum pm_request"\xE4\xB9\x9F\xE5\xB0\x86 43\xE4\xBC\x9A\xE4\xBD\xBF\xE7\x94\xA8\xE9\x82\xA3\xE4\xB8\xAA\xE7\xB1\xBB\xE5\x9E\x8B\xE5\x81\x9A\xE4\xB8\xBA\xE5\xBA\x95\xE5\xB1\x82\xE5\xAE\x9E\xE7\x8E\xB0\xE3\x80\x82 44 45\xE8\x80\x8C\xE4\xB8\x94\xE4\xBD\xBF\xE7\x94\xA8 gcc \xE7\xBC\x96\xE8\xAF\x91\xE7\x9A\x84\xE6\x97\xB6\xE5\x80\x99\xEF\xBC\x8C\xE6\x89\x80\xE6\x9C\x89\xE7\x9A\x84 __bitwise/__force \xE9\x83\xBD\xE4\xBC\x9A\xE6\xB6\x88\xE5\xA4\xB1\xEF\xBC\x8C\xE6\x9C\x80\xE5\x90\x8E\xE5\x9C\xA8 gcc 46\xE7\x9C\x8B\xE6\x9D\xA5\xE5\xAE\x83\xE4\xBB\xAC\xE5\x8F\xAA\xE4\xB8\x8D\xE8\xBF\x87\xE6\x98\xAF\xE6\x99\xAE\xE9\x80\x9A\xE7\x9A\x84\xE6\x95\xB4\xE6\x95\xB0\xE3\x80\x82 47 48\xE5\x9D\xA6\xE7\x99\xBD\xE6\x9D\xA5\xE8\xAF\xB4\xEF\xBC\x8C\xE4\xBD\xA0\xE5\xB9\xB6\xE4\xB8\x8D\xE9\x9C\x80\xE8\xA6\x81\xE4\xBD\xBF\xE7\x94\xA8\xE6\x9E\x9A\xE4\xB8\xBE\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82\xE4\xB8\x8A\xE9\x9D\xA2\xE9\x82\xA3\xE4\xBA\x9B\xE5\xAE\x9E\xE9\x99\x85\xE9\x83\xBD\xE5\x8F\xAF\xE4\xBB\xA5\xE6\xB5\x93\xE7\xBC\xA9\xE6\x88\x90\xE4\xB8\x80\xE4\xB8\xAA\xE7\x89\xB9\xE6\xAE\x8A\xE7\x9A\x84"int 49__bitwise"\xE7\xB1\xBB\xE5\x9E\x8B\xE3\x80\x82 50 51\xE6\x89\x80\xE4\xBB\xA5\xE6\x9B\xB4\xE7\xAE\x80\xE5\x8D\x95\xE7\x9A\x84\xE5\x8A\x9E\xE6\xB3\x95\xE5\x8F\xAA\xE8\xA6\x81\xE8\xBF\x99\xE6\xA0\xB7\xE5\x81\x9A\xEF\xBC\x9A 52 53 typedef int __bitwise pm_request_t; 54 55 #define PM_SUSPEND ((__force pm_request_t) 1) 56 #define PM_RESUME ((__force pm_request_t) 2) 57 58\xE7\x8E\xB0\xE5\x9C\xA8\xE4\xBD\xA0\xE5\xB0\xB1\xE6\x9C\x89\xE4\xBA\x86\xE4\xB8\xA5\xE6\xA0\xBC\xE7\x9A\x84\xE7\xB1\xBB\xE5\x9E\x8B\xE6\xA3\x80\xE6\x9F\xA5\xE6\x89\x80\xE9\x9C\x80\xE8\xA6\x81\xE7\x9A\x84\xE6\x89\x80\xE6\x9C\x89\xE5\x9F\xBA\xE7\xA1\x80\xE6\x9E\xB6\xE6\x9E\x84\xE3\x80\x82 59 60\xE4\xB8\x80\xE4\xB8\xAA\xE5\xB0\x8F\xE6\x8F\x90\xE9\x86\x92\xEF\xBC\x9A\xE5\xB8\xB8\xE6\x95\xB0\xE6\x95\xB4\xE6\x95\xB0"0"\xE6\x98\xAF\xE7\x89\xB9\xE6\xAE\x8A\xE7\x9A\x84\xE3\x80\x82\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE7\x9B\xB4\xE6\x8E\xA5\xE6\x8A\x8A\xE5\xB8\xB8\xE6\x95\xB0\xE9\x9B\xB6\xE5\xBD\x93\xE4\xBD\x9C\xE4\xBD\x8D\xE6\x96\xB9\xE5\xBC\x8F\xE6\x95\xB4\xE6\x95\xB0\xE4\xBD\xBF\xE7\x94\xA8\xE8\x80\x8C 61\xE4\xB8\x8D\xE7\x94\xA8\xE6\x8B\x85\xE5\xBF\x83 sparse \xE4\xBC\x9A\xE6\x8A\xB1\xE6\x80\xA8\xE3\x80\x82\xE8\xBF\x99\xE6\x98\xAF\xE5\x9B\xA0\xE4\xB8\xBA"bitwise"\xEF\xBC\x88\xE6\x81\xB0\xE5\xA6\x82\xE5\x85\xB6\xE5\x90\x8D\xEF\xBC\x89\xE6\x98\xAF\xE7\x94\xA8\xE6\x9D\xA5\xE7\xA1\xAE\xE4\xBF\x9D\xE4\xB8\x8D\xE5\x90\x8C\xE4\xBD\x8D\xE6\x96\xB9 62\xE5\xBC\x8F\xE7\xB1\xBB\xE5\x9E\x8B\xE4\xB8\x8D\xE4\xBC\x9A\xE8\xA2\xAB\xE5\xBC\x84\xE6\xB7\xB7\xEF\xBC\x88\xE5\xB0\x8F\xE5\xB0\xBE\xE6\xA8\xA1\xE5\xBC\x8F\xEF\xBC\x8C\xE5\xA4\xA7\xE5\xB0\xBE\xE6\xA8\xA1\xE5\xBC\x8F\xEF\xBC\x8Ccpu\xE5\xB0\xBE\xE6\xA8\xA1\xE5\xBC\x8F\xEF\xBC\x8C\xE6\x88\x96\xE8\x80\x85\xE5\x85\xB6\xE4\xBB\x96\xEF\xBC\x89\xEF\xBC\x8C\xE5\xAF\xB9\xE4\xBB\x96\xE4\xBB\xAC\xE6\x9D\xA5\xE8\xAF\xB4 63\xE5\xB8\xB8\xE6\x95\xB0"0"\xE7\xA1\xAE\xE5\xAE\x9E\xE6\x98\xAF\xE7\x89\xB9\xE6\xAE\x8A\xE7\x9A\x84\xE3\x80\x82 64 65\xE8\x8E\xB7\xE5\x8F\x96 sparse \xE5\xB7\xA5\xE5\x85\xB7 66~~~~~~~~~~~~~~~~ 67 68\xE4\xBD\xA0\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBB\x8E Sparse \xE7\x9A\x84\xE4\xB8\xBB\xE9\xA1\xB5\xE8\x8E\xB7\xE5\x8F\x96\xE6\x9C\x80\xE6\x96\xB0\xE7\x9A\x84\xE5\x8F\x91\xE5\xB8\x83\xE7\x89\x88\xE6\x9C\xAC\xEF\xBC\x9A 69 70 http://www.kernel.org/pub/linux/kernel/people/josh/sparse/ 71 72\xE6\x88\x96\xE8\x80\x85\xEF\xBC\x8C\xE4\xBD\xA0\xE4\xB9\x9F\xE5\x8F\xAF\xE4\xBB\xA5\xE4\xBD\xBF\xE7\x94\xA8 git \xE5\x85\x8B\xE9\x9A\x86\xE6\x9C\x80\xE6\x96\xB0\xE7\x9A\x84 sparse \xE5\xBC\x80\xE5\x8F\x91\xE7\x89\x88\xE6\x9C\xAC\xEF\xBC\x9A 73 74 git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git 75 76\xE4\xB8\x80\xE6\x97\xA6\xE4\xBD\xA0\xE4\xB8\x8B\xE8\xBD\xBD\xE4\xBA\x86\xE6\xBA\x90\xE7\xA0\x81\xEF\xBC\x8C\xE5\x8F\xAA\xE8\xA6\x81\xE4\xBB\xA5\xE6\x99\xAE\xE9\x80\x9A\xE7\x94\xA8\xE6\x88\xB7\xE8\xBA\xAB\xE4\xBB\xBD\xE8\xBF\x90\xE8\xA1\x8C\xEF\xBC\x9A 77 78 make 79 make install 80 81\xE5\xAE\x83\xE5\xB0\x86\xE4\xBC\x9A\xE8\xA2\xAB\xE8\x87\xAA\xE5\x8A\xA8\xE5\xAE\x89\xE8\xA3\x85\xE5\x88\xB0\xE4\xBD\xA0\xE7\x9A\x84 ~/bin \xE7\x9B\xAE\xE5\xBD\x95\xE4\xB8\x8B\xE3\x80\x82 82 83\xE4\xBD\xBF\xE7\x94\xA8 sparse \xE5\xB7\xA5\xE5\x85\xB7 84~~~~~~~~~~~~~~~~ 85 86\xE7\x94\xA8"make C=1"\xE5\x91\xBD\xE4\xBB\xA4\xE6\x9D\xA5\xE7\xBC\x96\xE8\xAF\x91\xE5\x86\x85\xE6\xA0\xB8\xEF\xBC\x8C\xE4\xBC\x9A\xE5\xAF\xB9\xE6\x89\x80\xE6\x9C\x89\xE9\x87\x8D\xE6\x96\xB0\xE7\xBC\x96\xE8\xAF\x91\xE7\x9A\x84 C \xE6\x96\x87\xE4\xBB\xB6\xE4\xBD\xBF\xE7\x94\xA8 sparse \xE5\xB7\xA5\xE5\x85\xB7\xE3\x80\x82 87\xE6\x88\x96\xE8\x80\x85\xE4\xBD\xBF\xE7\x94\xA8"make C=2"\xE5\x91\xBD\xE4\xBB\xA4\xEF\xBC\x8C\xE6\x97\xA0\xE8\xAE\xBA\xE6\x96\x87\xE4\xBB\xB6\xE6\x98\xAF\xE5\x90\xA6\xE8\xA2\xAB\xE9\x87\x8D\xE6\x96\xB0\xE7\xBC\x96\xE8\xAF\x91\xE9\x83\xBD\xE4\xBC\x9A\xE5\xAF\xB9\xE5\x85\xB6\xE4\xBD\xBF\xE7\x94\xA8 sparse \xE5\xB7\xA5\xE5\x85\xB7\xE3\x80\x82 88\xE5\xA6\x82\xE6\x9E\x9C\xE4\xBD\xA0\xE5\xB7\xB2\xE7\xBB\x8F\xE7\xBC\x96\xE8\xAF\x91\xE4\xBA\x86\xE5\x86\x85\xE6\xA0\xB8\xEF\xBC\x8C\xE7\x94\xA8\xE5\x90\x8E\xE4\xB8\x80\xE7\xA7\x8D\xE6\x96\xB9\xE5\xBC\x8F\xE5\x8F\xAF\xE4\xBB\xA5\xE5\xBE\x88\xE5\xBF\xAB\xE5\x9C\xB0\xE6\xA3\x80\xE6\x9F\xA5\xE6\x95\xB4\xE4\xB8\xAA\xE6\xBA\x90\xE7\xA0\x81\xE6\xA0\x91\xE3\x80\x82 89 90make \xE7\x9A\x84\xE5\x8F\xAF\xE9\x80\x89\xE5\x8F\x98\xE9\x87\x8F CHECKFLAGS \xE5\x8F\xAF\xE4\xBB\xA5\xE7\x94\xA8\xE6\x9D\xA5\xE5\x90\x91 sparse \xE5\xB7\xA5\xE5\x85\xB7\xE4\xBC\xA0\xE9\x80\x92\xE5\x8F\x82\xE6\x95\xB0\xE3\x80\x82\xE7\xBC\x96\xE8\xAF\x91\xE7\xB3\xBB\xE7\xBB\x9F\xE4\xBC\x9A\xE8\x87\xAA 91\xE5\x8A\xA8\xE5\x90\x91 sparse \xE5\xB7\xA5\xE5\x85\xB7\xE4\xBC\xA0\xE9\x80\x92 -Wbitwise \xE5\x8F\x82\xE6\x95\xB0\xE3\x80\x82 92