Compare commits
889 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5aa85b4b71 | |||
| e33b509b47 | |||
| b8dba167d6 | |||
| becbc3ca51 | |||
| aae4a7310e | |||
| d922905840 | |||
| 212a809865 | |||
| 25096f11d3 | |||
| eef7b6f639 | |||
| fe97579bf7 | |||
| 877d3d8fd3 | |||
| a880efa8a5 | |||
| 2603f7d752 | |||
| e237d02b1e | |||
| 3374d843b1 | |||
| 93514b2529 | |||
| ab05d7420b | |||
| 954cc571f7 | |||
| 6082cbeb1c | |||
| e7762db422 | |||
| 148324e2f9 | |||
| 6ca76d7193 | |||
| 3ada5ee987 | |||
| 1839597aff | |||
| 50ce3fdabd | |||
| af182d5f7e | |||
| a42aff062c | |||
| da405e19b8 | |||
| aac4e73ea3 | |||
| f9d6b7ccf6 | |||
| 3432d6bbf0 | |||
| e8617f821c | |||
| d044ee5655 | |||
| 8db848b193 | |||
| 51d5043d59 | |||
| bba75072da | |||
| f58cf22fe3 | |||
| 486924c984 | |||
| b01c25971d | |||
| 8f693052e9 | |||
| 7b391f2634 | |||
| 29bf478af3 | |||
| 21d65144e7 | |||
| 17cb6a5c9e | |||
| 5a1c63c189 | |||
| 6efdb0f8b7 | |||
| e6b25fa6b0 | |||
| 9287aa1907 | |||
| cab1e51b69 | |||
| 44ffbc2982 | |||
| 8e0c5c7437 | |||
| c607c127eb | |||
| f8931527cf | |||
| f50b035682 | |||
| 1ceae85a66 | |||
| 50528e4c5c | |||
| 54f35aaf47 | |||
| bdfda4b8dd | |||
| 038eb594b6 | |||
| 8e84ec91ec | |||
| 6f8191a62f | |||
| 11569bc2b9 | |||
| 4b9d2fcd3b | |||
| 9d05286d31 | |||
| a39dca7ee2 | |||
| a6668dc527 | |||
| 7f4bb56e71 | |||
| f3a456c1a5 | |||
| 2ac9d59a1f | |||
| d5e3434b71 | |||
| f7f5ccbad3 | |||
| d35c6aef19 | |||
| ec05d84305 | |||
| 1aeeaf31b2 | |||
| 893d57ccc0 | |||
| 7f7774c265 | |||
| e4a1c4d3d1 | |||
| cc950d8fe7 | |||
| cb80312f09 | |||
| 7ff787ea84 | |||
| 0873e735b9 | |||
| bc174f29c9 | |||
| 1007258b34 | |||
| f113008446 | |||
| 8c6aa2e7f6 | |||
| 365b788ecd | |||
| 251151ad9a | |||
| c6b4ed48f7 | |||
| 1e97f454a2 | |||
| ad64e1e8d7 | |||
| 135f53bce5 | |||
| 65732469e8 | |||
| a22fd7e052 | |||
| ca55de2bf5 | |||
| fbec32928f | |||
| 8e1d88b958 | |||
| 2b7efc6d7f | |||
| b7c0628ad5 | |||
| 852adaeccb | |||
| 06265f8ac8 | |||
| b9b598143a | |||
| 8e95a280da | |||
| 44bc3aa470 | |||
| 7efc61b8df | |||
| 9a607f3724 | |||
| 83480c5a86 | |||
| 1b2e99c75e | |||
| 1cfc1f561f | |||
| be7396b644 | |||
| 6d1f20ee0c | |||
| 2d8c7a0316 | |||
| 95183e9855 | |||
| 232d7b6f4d | |||
| 22a3ceef70 | |||
| d62b919128 | |||
| 2ce7aab89a | |||
| cebaa1b292 | |||
| 175e4ba528 | |||
| 5750182a99 | |||
| 1e053b6cb6 | |||
| 16eab1533a | |||
| ac79245d33 | |||
| a6035afaca | |||
| b472701380 | |||
| 2d9b961b2e | |||
| 88f753efee | |||
| eb870d0481 | |||
| 9b858b7c75 | |||
| ff6739a1a2 | |||
| 4673311ad3 | |||
| 7be68e8927 | |||
| d2b6a036f4 | |||
| a20a3550c0 | |||
| 1d040a585a | |||
| d0af373397 | |||
| ae73299320 | |||
| a296f5e3fd | |||
| b2d6fe0440 | |||
| c3cb514e23 | |||
| 393b70a138 | |||
| 821cff2f12 | |||
| fa3fbed4c9 | |||
| 6b674976fb | |||
| 22ba7820ab | |||
| d89a7f2fba | |||
| 6226510e1d | |||
| e75de0ff00 | |||
| 32ac4b25ac | |||
| 849cd39ce4 | |||
| f387e29e3e | |||
| 9acf8a4cf2 | |||
| f63656c27d | |||
| 8ee551749f | |||
| 2259a24269 | |||
| 6428dc3a75 | |||
| 1a5e8fea9c | |||
| 0699040219 | |||
| 2e2e1a07ae | |||
| 3eae1a6f9e | |||
| 1a5d9c5b02 | |||
| db327e54b6 | |||
| 2dfc7476c0 | |||
| a5fa85812d | |||
| be409c18a4 | |||
| 229a51ba56 | |||
| c0c9e19083 | |||
| e7109fce59 | |||
| 6aa0a6874d | |||
| 638b3bf5f3 | |||
| 021eac0899 | |||
| 3ae4f5e123 | |||
| 47a41f8076 | |||
| 58cbfea1fb | |||
| a3ed187b6d | |||
| 457e24f26b | |||
| c44d596eeb | |||
| 0dbdf5c1e7 | |||
| cf52121cde | |||
| 1fec10c0d7 | |||
| fe793ca1bd | |||
| 9d60e4643e | |||
| 38ad05bf7c | |||
| 5181efbb16 | |||
| 2d8b8fb27d | |||
| 93d2bf8094 | |||
| f1ec59394b | |||
| 64786ad892 | |||
| 33e17f8d9c | |||
| 424eaeb69c | |||
| a0a6e4b768 | |||
| 9b4306b76a | |||
| 079547e662 | |||
| f41d211a96 | |||
| c570cbeeca | |||
| 1fc4bc3255 | |||
| 878f508448 | |||
| 11f695eee7 | |||
| 3842cba361 | |||
| 306316ba49 | |||
| 6f90d0861b | |||
| 618f68d441 | |||
| 8d634eded9 | |||
| 97a2df58bc | |||
| cf24bc6658 | |||
| 242f3fb142 | |||
| 0efa7d4b3a | |||
| a4f763b806 | |||
| efcca6c817 | |||
| 0dc593f033 | |||
| 73125ba531 | |||
| d4cf588a94 | |||
| 6606c2e40d | |||
| 77204463ef | |||
| 1d3474df42 | |||
| 15e6cd0f03 | |||
| f856d5c11f | |||
| ce855e9b22 | |||
| 1f1ad0824c | |||
| 136f09029d | |||
| 0968d34a6f | |||
| 4b454284ab | |||
| 5dd28f3e8e | |||
| 423f8aabbd | |||
| 629e7dcf51 | |||
| 7ce246557d | |||
| 02728f738e | |||
| 85c26a87eb | |||
| 207ff192ba | |||
| b3fc55f3d9 | |||
| 468d6cf763 | |||
| 18a7021a70 | |||
| cdc32cdfe6 | |||
| c1a0dfb542 | |||
| e22f872e3f | |||
| 4d97d062c1 | |||
| 691f651fcb | |||
| 4d870d2a2b | |||
| 543331e397 | |||
| 1d5ca929a9 | |||
| 859201e52b | |||
| fb6963e785 | |||
| f03a41e8f8 | |||
| 08af899454 | |||
| 01962f405b | |||
| 8fd391357b | |||
| 3d503381c3 | |||
| 6704dac7c7 | |||
| f3ef90e304 | |||
| 0cf7288fe4 | |||
| 16f5db09b1 | |||
| a8c3538846 | |||
| b51fa48a87 | |||
| 35c00af068 | |||
| 4ead91af96 | |||
| 12b6d1c54f | |||
| f06a1dc8c9 | |||
| 020960bcc7 | |||
| f228028811 | |||
| a48d4fd6df | |||
| 625960f686 | |||
| 60b00ed940 | |||
| 9712b52060 | |||
| 2593bb7289 | |||
| fa4ade375a | |||
| 202d6b9da0 | |||
| 8080975aac | |||
| 9b916bea3b | |||
| 4642450f50 | |||
| e23bfed9e7 | |||
| 9a4be6477c | |||
| aa7b7fe71b | |||
| 3fe4f90ad1 | |||
| 28c412f13b | |||
| bd26c499a2 | |||
| f0d70b1e83 | |||
| a2b54addb1 | |||
| e4f64d110c | |||
| d72e0f1a63 | |||
| 6d89c31fe0 | |||
| d8e2408536 | |||
| 003c9e3ab3 | |||
| c5db90c862 | |||
| 3860f53332 | |||
| 77018e828d | |||
| 49ca6638e7 | |||
| d39c1a1bba | |||
| 1b15b2dde8 | |||
| 2f5faba110 | |||
| 504e22c0b2 | |||
| 16fd7c63a0 | |||
| 5b150ef57a | |||
| df224274ac | |||
| 5f9f21cdb7 | |||
| a9701709f2 | |||
| 784c399175 | |||
| 2af3b45e29 | |||
| f40b44cd1a | |||
| fdb472d3c8 | |||
| 1fda144193 | |||
| 9bcef3ad58 | |||
| 3c7353e425 | |||
| 2799d948e9 | |||
| 7628ee7637 | |||
| a93f49d58e | |||
| d4aba008ab | |||
| a018664d3e | |||
| 42c02336f8 | |||
| 2b3d9206c4 | |||
| f43ca6d7db | |||
| b7154e2203 | |||
| 48f45ccec9 | |||
| 8399b67c08 | |||
| 36c900987a | |||
| f645c648ee | |||
| 3d3c0254ba | |||
| 6ac925002a | |||
| 097faead04 | |||
| fec030ba5a | |||
| 0d471b92ac | |||
| 0174544bb8 | |||
| afea529913 | |||
| 5747081099 | |||
| 83397c5883 | |||
| 45f284c9c7 | |||
| 372132df70 | |||
| b9499d516e | |||
| ea3fd11e61 | |||
| f447d8f801 | |||
| 18f731f95a | |||
| cbca7fb0bf | |||
| ee7321574f | |||
| dd4e027a00 | |||
| c787fa5bc6 | |||
| 6f3c9b7d3d | |||
| f6664474e4 | |||
| 0d92718e75 | |||
| 3d486fd3cf | |||
| 4d90a1ccaf | |||
| 9cb3eacbba | |||
| 06ed74894a | |||
| 959df3ed94 | |||
| 9cf3303607 | |||
| 74ecb00058 | |||
| 2184da8c9f | |||
| 2f416ac133 | |||
| eee51f6572 | |||
| 4c02da855e | |||
| e8f1882571 | |||
| 959c55cce8 | |||
| 9c6d7bd003 | |||
| 16352fc357 | |||
| b9f951dcde | |||
| 0ca711c7e3 | |||
| 020fa431db | |||
| 6cc5bf31f9 | |||
| ffc7f71791 | |||
| 8fd255dbcf | |||
| 830595adcd | |||
| 6d1968cf86 | |||
| f4aadec5c4 | |||
| f8a6fc253a | |||
| 593cb13eb0 | |||
| 1d0f4ee452 | |||
| 18e4a9fab8 | |||
| 25852e43d1 | |||
| 0bf700fd5b | |||
| 515e490abb | |||
| 37e6da372a | |||
| fe1c84f0e1 | |||
| d19debcf04 | |||
| f818d1f1e8 | |||
| a7a80b8607 | |||
| 50882ad1b7 | |||
| a8280e9493 | |||
| b7343e4f93 | |||
| 4c30f24790 | |||
| 4296d023e2 | |||
| 242d2449a6 | |||
| 3d2267a362 | |||
| 41baa062dc | |||
| d8013f08f9 | |||
| 38141c9a8d | |||
| 85af4c475f | |||
| a9add915f2 | |||
| 080952109e | |||
| e5c00cf46d | |||
| 686fe88b62 | |||
| 607c960660 | |||
| 643453cc75 | |||
| 3feac2f6f1 | |||
| 69ac38b3e0 | |||
| 5fd40f0c8c | |||
| f516f15a2e | |||
| 09e4150df2 | |||
| 7af6a854fc | |||
| 37a35c1397 | |||
| 2d3ffe831b | |||
| ce941eac79 | |||
| 266a45dd09 | |||
| e9a0b18800 | |||
| 04d6bf6ddb | |||
| 46cae48e8f | |||
| 55c5b4beb5 | |||
| b7336be15b | |||
| a9504e6355 | |||
| d3772aaea8 | |||
| ccaae69940 | |||
| 719b50d657 | |||
| e951a71563 | |||
| 5e516273b7 | |||
| ca3a5e6496 | |||
| 256dcd9254 | |||
| 9d1a229cfc | |||
| b030bc45ec | |||
| 5c5243192e | |||
| 8850b8baea | |||
| b7b1cd9f1e | |||
| 9902ed1014 | |||
| 124aa082a5 | |||
| 2a2ab04fbd | |||
| 88c4102a58 | |||
| e5c3bf2d92 | |||
| cf3bfadb4d | |||
| dc80cc9e52 | |||
| ccb173c49d | |||
| a626f7bb6c | |||
| 9ef1040bff | |||
| d160fb1615 | |||
| 348fdb3385 | |||
| 75a52b3f43 | |||
| bc6f6845d5 | |||
| 294b82f575 | |||
| 6c523d99d8 | |||
| b237a929f8 | |||
| 43d364a2f1 | |||
| ab42ed5541 | |||
| 3f86c4804c | |||
| 8c9d55c1a5 | |||
| 0bea373707 | |||
| b6b083c847 | |||
| a9fb1dc4cd | |||
| 3a49e4cce6 | |||
| b74280c424 | |||
| 84439eb654 | |||
| d6847678d1 | |||
| df850e7598 | |||
| 99a25d11fd | |||
| 6f9999c4eb | |||
| 15e405350f | |||
| b969a461d4 | |||
| 1c6bc393de | |||
| b031eb8e23 | |||
| fc3de74e1e | |||
| e492a8bca8 | |||
| 364bb6853c | |||
| 845f7ff73a | |||
| d8707da8df | |||
| 3403ed4cb7 | |||
| a03f99c853 | |||
| 6ea27f1bfb | |||
| 34c936d9c8 | |||
| 602265d52c | |||
| 6f82a02e63 | |||
| e81629c0fb | |||
| e1ecb0800c | |||
| 82009fff76 | |||
| b086338c9f | |||
| 365a1423f9 | |||
| 13232bc0b8 | |||
| ac32c4e871 | |||
| 1f5eeada3d | |||
| 21713bba80 | |||
| f7dc6720c6 | |||
| c4cf142075 | |||
| e87e88ab9e | |||
| b076a8aa97 | |||
| 03b98aab35 | |||
| 8ecf939579 | |||
| 0d089b5d96 | |||
| 779487601b | |||
| 077f5ea779 | |||
| 37bc50c222 | |||
| 8564dc258b | |||
| a49d56c565 | |||
| c15dbc9672 | |||
| 6d8d485be0 | |||
| 2f1d48dfcc | |||
| df5196389a | |||
| c5da3e914a | |||
| 2f64f4b16b | |||
| 4c4d980385 | |||
| ed0769981c | |||
| 291767e7a9 | |||
| fa5283909a | |||
| c8ce709e71 | |||
| 127bf20180 | |||
| a5e2bf2348 | |||
| 2cdc422c93 | |||
| 1372aca70d | |||
| 844cfde775 | |||
| 18c73b191a | |||
| 8a9e243c0c | |||
| e15a0d0f84 | |||
| 17eae3efda | |||
| 5e152111c3 | |||
| bbe0527393 | |||
| 2b604fb97e | |||
| 08d772fc0b | |||
| 8596886318 | |||
| 8c46d0c087 | |||
| 6fef80cae0 | |||
| 7719791631 | |||
| 4d87536ae4 | |||
| a373aaed13 | |||
| 4bdb48590f | |||
| a6f1958250 | |||
| 5ca04646e5 | |||
| b71f0b2cef | |||
| ea59dcb099 | |||
| 5698e025e1 | |||
| 33ff232cf9 | |||
| 7b7c3aef6b | |||
| efca77ce74 | |||
| 7183857f57 | |||
| 4bb4b81662 | |||
| 94030f4328 | |||
| 2140304042 | |||
| 0d7009c7d7 | |||
| f209fe169a | |||
| 2ab78853fa | |||
| 8bb3564c2a | |||
| cb6fe8a917 | |||
| c366f89930 | |||
| 92a0e6c3a9 | |||
| 572419f179 | |||
| 29088492c1 | |||
| ee9f06177e | |||
| 6fca7e839b | |||
| 5bff693344 | |||
| 8539278456 | |||
| 37e405c5ae | |||
| 6d2d2a741a | |||
| e8245e9b1f | |||
| 08b41099e2 | |||
| 8324b1ce1c | |||
| 5b96e3e280 | |||
| bee6e8e9ac | |||
| 8380aaf41a | |||
| f651256703 | |||
| e20da9021c | |||
| 16abf3548e | |||
| 7b79f3a8bb | |||
| acfa855f52 | |||
| 264da5cabd | |||
| 5b7a42d76a | |||
| 943c4530db | |||
| 3bb1bbdf41 | |||
| 202c113216 | |||
| 0f1b534cba | |||
| e4560b2759 | |||
| e9609cee86 | |||
| 37200bdfdf | |||
| 8ab2050cd4 | |||
| 76ebff9ae7 | |||
| a4aff11f6e | |||
| d7481d6a36 | |||
| a1a24469ea | |||
| 8b7fdc5dff | |||
| 088cc910c7 | |||
| c840437673 | |||
| 73679dd329 | |||
| 3e527b1618 | |||
| cd4058b5b7 | |||
| f346500282 | |||
| fc160113f5 | |||
| b219b9771a | |||
| a4127fa0fb | |||
| cf897439e3 | |||
| c61a13dbb3 | |||
| 2dab348b46 | |||
| 181aa7d925 | |||
| 930d1ed4e7 | |||
| 2613e84113 | |||
| 6a032f98f9 | |||
| e6a016e778 | |||
| b1ca408292 | |||
| 9a5add9c6d | |||
| 3ed7f2e031 | |||
| 7916d83d9a | |||
| 6c4309aa84 | |||
| c01c0e33a9 | |||
| 0f4785dfd8 | |||
| 4172dc27f5 | |||
| f50771beff | |||
| 44eab98eb8 | |||
| 3084c8318f | |||
| cf144ee6fa | |||
| e095249526 | |||
| b600cc5f60 | |||
| 534fc7ea02 | |||
| fbd9a9f13b | |||
| a168ab8041 | |||
| 50854c461a | |||
| 53d2c0ce64 | |||
| 22f53d3e9c | |||
| b8cac0d3a9 | |||
| dd25f77b1b | |||
| 3b6f1d74b4 | |||
| 4c74635140 | |||
| 94f972ab52 | |||
| a8e97ebba6 | |||
| dda7a9b620 | |||
| 2360e4f037 | |||
| 65acaa17ba | |||
| 388440b300 | |||
| 7a2681506f | |||
| 7717726c07 | |||
| bb7ebdb546 | |||
| b620054c8f | |||
| 38b3e4a102 | |||
| 11ff1abe02 | |||
| 851ffde0b8 | |||
| 811f883f3d | |||
| d82a6aaf49 | |||
| 337409bc59 | |||
| c7a802e1ac | |||
| 2110c94d8a | |||
| f1675a5761 | |||
| a5470b0ed4 | |||
| 43da46ce04 | |||
| 11a7b87b40 | |||
| 6da05427be | |||
| f46f2a7cc2 | |||
| 8104ad88a4 | |||
| 0ca7389d71 | |||
| 6672dacd2c | |||
| d88b8abe62 | |||
| 777d5049c4 | |||
| fc46965492 | |||
| 9c43a64299 | |||
| 6119b812e2 | |||
| e2e8cd69f0 | |||
| 7d9cdb1fa2 | |||
| 8424022005 | |||
| 0ac9519085 | |||
| 7ba107a957 | |||
| 16b6dc4ab9 | |||
| 2cf89e00a6 | |||
| 8cf33673b6 | |||
| 2fc42e0845 | |||
| 4be948703d | |||
| 88b2965e26 | |||
| 536cf65dcf | |||
| 081ac5acbf | |||
| ae7db1a54f | |||
| 37c53b3f40 | |||
| cee7fa7227 | |||
| 19402286a4 | |||
| 887f25965b | |||
| d80819c177 | |||
| 00c3b5a6c3 | |||
| 6cb67c803d | |||
| 524df6c195 | |||
| 6bf8f8821e | |||
| 0d3e50b8e0 | |||
| 6ae8074189 | |||
| 38f76f51f0 | |||
| 9eeaa2037f | |||
| 2c1fdae2b2 | |||
| 8d621b83e5 | |||
| c99ea6fcec | |||
| 061cf3da32 | |||
| a37c51fdce | |||
| dd113a76e4 | |||
| 4180eb4b30 | |||
| 7fa720fe50 | |||
| 6e0cdc7860 | |||
| 0e802129d6 | |||
| c32697d04b | |||
| 9768f80c63 | |||
| 4c452a6678 | |||
| cbb32a7cad | |||
| afa8c39f98 | |||
| ef6d6f2322 | |||
| d4462f8ce5 | |||
| e89a9ca5fa | |||
| 29b5a56924 | |||
| 3cc979e3a5 | |||
| 30a6698ce1 | |||
| 0cbe48d13e | |||
| b1650e2a94 | |||
| b82e8e7f1b | |||
| f480739736 | |||
| 91d851bfbb | |||
| e658a53f6d | |||
| dda0d9f919 | |||
| f78ba9d1d2 | |||
| eef275d7b3 | |||
| 4845c3f0e2 | |||
| 9289013e02 | |||
| c5c8ecf86f | |||
| 0addcec99e | |||
| 79509b5dcc | |||
| a5e9d577d8 | |||
| 83f7150c9e | |||
| e0b00d9de1 | |||
| 5d31db1ff5 | |||
| acc6ee3699 | |||
| 471d30ddee | |||
| 71298cb6f3 | |||
| 1f1e404132 | |||
| 300ae5ed5d | |||
| a8b6b933a5 | |||
| a593a3aba4 | |||
| 2f02d01032 | |||
| 8c856975d9 | |||
| bec7d88fad | |||
| f943224f13 | |||
| f5e20f7f84 | |||
| 33bb0e1afd | |||
| eb8b5e28f6 | |||
| 7db9b043d7 | |||
| 238e403644 | |||
| 8517999ada | |||
| 1541eadd65 | |||
| 4b8c9d4566 | |||
| a6eed8b2af | |||
| 9810d0942c | |||
| 7a1c551cd4 | |||
| 6eac3630d4 | |||
| 4e4ce4b683 | |||
| 818ff3d4c5 | |||
| 50983d3f34 | |||
| 9b90b69df1 | |||
| 35c9bf89d2 | |||
| 987e77cd34 | |||
| 65fb2ca6fa | |||
| 1a1ae1d79e | |||
| c0d5fe9bdf | |||
| b4e312557d | |||
| fc2435aa36 | |||
| 7d2b3c5634 | |||
| 492b75f1aa | |||
| bf76fe5e4e | |||
| fae7a09510 | |||
| 764ad70e07 | |||
| 6a3cd3b255 | |||
| 3f111119fe | |||
| c27846265f | |||
| 690e711fd9 | |||
| 54a97f0074 | |||
| 42a433c390 | |||
| f837e01dec | |||
| dcb045129f | |||
| 5f5c653c41 | |||
| 4cff03cd8f | |||
| f9e30b5a63 | |||
| 039fe2b47d | |||
| 794036152a | |||
| 68bbac92d0 | |||
| 0c7faf8e78 | |||
| 9e4698eff3 | |||
| b2c35b70b0 | |||
| b86bde9414 | |||
| 296e8dfdb7 | |||
| c3a1835b57 | |||
| 347fd98add | |||
| 3b4e3d40ff | |||
| 1c546ce5e3 | |||
| ecbca22fd7 | |||
| 534bc4acec | |||
| 9ad9f9aa72 | |||
| a6d8ec5f7d | |||
| 037881a58f | |||
| 0f85a6e252 | |||
| 9c082018fa | |||
| ceb8ed63ef | |||
| 5b8304658a | |||
| e86f1cf7ac | |||
| 88559ff9a0 | |||
| 7d5cfa41f4 | |||
| 68e65844cf | |||
| 41cdab9190 | |||
| 7bd3e79432 | |||
| 7c179631de | |||
| d315eb6f6b | |||
| 23c68af41a | |||
| 705dfde2da | |||
| 47d6f3975b | |||
| 91624ce8fc | |||
| f6c0bda49f | |||
| 39acacf9f9 | |||
| 30be405688 | |||
| 9631a0e840 | |||
| 0b26828726 | |||
| cb4ee08e30 | |||
| c896ef5195 | |||
| e8e7e40112 | |||
| 587ca240a5 | |||
| c9a4f9213e | |||
| ad2180188f | |||
| d249dd4fae | |||
| 35476060ce | |||
| 22d1c051a9 | |||
| 94c1a4f3fe | |||
| 23b924025a | |||
| 48ad3beddb | |||
| fb6a9f4ac2 | |||
| 60ce123913 | |||
| 355b352401 | |||
| 3485783cb9 | |||
| 429d038062 | |||
| eb692f96d6 | |||
| a3b53878ce | |||
| 6c170534ce | |||
| 29eda2c1b7 | |||
| ddd5e5d9e1 | |||
| 2c4bedad96 | |||
| 9fb0884a20 | |||
| 7af0c4a1d2 | |||
| e37f0cca01 | |||
| f6824de3e5 | |||
| de505cc52d | |||
| 49bbd7bf48 | |||
| 8c8a85c63d | |||
| 4e1e881bea | |||
| 2e4d143919 | |||
| 58be810af4 | |||
| 5f4b0cbb37 | |||
| 7a7fded62c | |||
| 3f476beeb1 | |||
| 1513631aa4 | |||
| a0dfe28c20 | |||
| 25e2229257 | |||
| a57a4e1c32 | |||
| 8ebf3b00b8 | |||
| 1f73a4c4de | |||
| 007a124c1e | |||
| d1f23178af | |||
| 9ac13dcb33 | |||
| 81c3ca6eb2 | |||
| 46dc9e6d81 | |||
| 8ba91dddd0 | |||
| cce28acbfc | |||
| 60762b96dd | |||
| f89e3892ad | |||
| d2db89967b | |||
| 0a7edf1a5e | |||
| dece8ce391 | |||
| 4d2ca97e84 | |||
| 6886cb7060 | |||
| a88b7bdae7 | |||
| d1d577f9d1 | |||
| a299a737b8 | |||
| 3847d037ad | |||
| 58e64dddc8 | |||
| fe6fbd84a0 | |||
| ff22c004c3 | |||
| b2e583b462 | |||
| 8b1506925c | |||
| be7137fdae | |||
| 819827df9b | |||
| 1f9d625d3a | |||
| 50bffb5dc8 | |||
| e84b4d0e12 | |||
| 3885f68c0f | |||
| 352c7cf4a9 | |||
| 7ad3a60a40 | |||
| 1c33400a90 | |||
| c098f98583 | |||
| 73d0539a42 | |||
| c92e68bf3d | |||
| 772703cbbc | |||
| 9cfbdaeece | |||
| e8080915c9 | |||
| b8a1b34a95 | |||
| ec0f532c46 | |||
| c0b7678b83 | |||
| a0a69c8a4b | |||
| a99fdfdc68 | |||
| 7831fba6ad | |||
| 19be7043e7 | |||
| 4623ea44cb | |||
| c397a1d294 | |||
| ccd78272f3 | |||
| d8386adb9d | |||
| 16c12c8f69 | |||
| 947c7a7d9c | |||
| 6cb3f9aa04 |
@@ -4,3 +4,4 @@
|
||||
*.svn
|
||||
*~
|
||||
.dir*
|
||||
*.log
|
||||
|
||||
@@ -10,7 +10,7 @@ Paketleme Kuralları;
|
||||
|
||||
1. Core kaynak deposunda minimum X bağımlılığı hedeflenmiştir.
|
||||
|
||||
1. configure seçeneklerinde belge oluşturmaya yönelik seçenekler açılmamalı, bağımlılıklar yazılamalıdır.
|
||||
1. configure seçeneklerinde belge oluşturmaya yönelik seçenekler açılmamalı, bağımlılıklar yazılmalıdır.
|
||||
|
||||
1. configure seçeneklerinde pakete yeni bağımlılık getirecek değişiklikler için mutlaka issue açılmalı, tartışılmadan pull request istenmemelidir.
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
2016-04-27 /system/boot/busybox-mkinitcpio/pspec.xml
|
||||
2016-04-27 /kernel/tools/mkinitcpio/pspec.xml
|
||||
@@ -1,196 +0,0 @@
|
||||
- [x] acl - Erişim denetim listesi için çeşitli araçlar
|
||||
- [ ] alternatives - Alternatif yönetim sistemi
|
||||
- [x] attr - Gelişkin öznitelikler araçları
|
||||
- [x] autoconf - Used to create autoconfiguration files
|
||||
- [x] autogen - Otomatik metin ve program üretme aracı -- arch'da 5.18.6
|
||||
- [x] automake - Makefile.am yapılandırma dosyalarından Makefile.in dosyası üreten program
|
||||
- [ ] baselayout - Dosya sisteminin temel planı
|
||||
- [x] bash - GNU Bource again kabuğu
|
||||
- [x] bc - Konsol temelli hesap makinesi
|
||||
- [ ] binutils - Makine dili derleme ve bağlama araçları // *LFS 2.25.1*
|
||||
- [x] biosdevname - Biosdevname is a udev helper utility developed // *http://linux.dell.com/biosdevname/biosdevname-0.7.1/biosdevname-0.7.1.tar.gz*
|
||||
- [x] bison - Yacc uyumlu yazım ayrıştırma üreteci
|
||||
- [ ] busybox - Statik bağlanmış sistem komutları bütünü // *http://busybox.net/downloads/busybox-1.24.1.tar.bz2*
|
||||
- [x] bzip2 - Yüksek kaliteli bir veri sıkıştırma uygulaması
|
||||
- [x] ca-certificates - Common CA certificates // https://packages.qa.debian.org/c/ca-certificates.html 20151214*
|
||||
- [ ] catbox - Python için sandbox modülü
|
||||
- [x] check - C için birim test ortamı //*BLFS http://downloads.sourceforge.net/check/check-0.10.0.tar.gz*
|
||||
- [x] chrpath - Dinamik kitaplık yükleme yolunu (rpath) değiştirme aracı // BLFS
|
||||
- [ ] cloog - Chunky Loop Generator // *https://github.com/periscop/cloog/archive/cloog-0.18.4.tar.gz*
|
||||
- [ ] cmake - Cmake, açık kaynak kodlu ve birden fazla platformda çalışan bir 'make' sistemidir. // * BLFS http://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gz*
|
||||
- [x] colorgcc - GCC çıktısını renklendiren bir araç.
|
||||
- [ ] comar - Sistem yapılandırmasını yönetir
|
||||
- [ ] comar-api - Çomar betikleri için yardımcı fonksiyonlar
|
||||
- [x] coreutils - Standart dosya, metin ve kabuk uygulamaları
|
||||
- [x] cpio - Tar ve cpio dosyaları içine yazıp okuyabilen bir dosya arşivleme uygulaması // BLFS
|
||||
- [x] cpupowertools - CPU güç/frekans yönetim araçları
|
||||
- [ ] cracklib - Parola Kontrol Kütüphanesi // *BLFS https://github.com/cracklib/cracklib/releases/download/cracklib-2.9.6/cracklib-2.9.6.tar.gz*
|
||||
- [ ] cryptsetup - Şifreli dosya sistemleri yaratmak için bir araç // * https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.0.tar.xz*
|
||||
- [ ] curl - Uzak sunuculardan dosya indirmek için bir araç // *BLFS http://curl.haxx.se/download/curl-7.46.0.tar.lzma*
|
||||
- [ ] cython - Python için C eklentileri // * http://cython.org/release/Cython-0.23.4.tar.gz*
|
||||
- [ ] db - Oracle Berkeley DB // *BLFS http://download.oracle.com/berkeley-db/db-6.1.26.tar.gz *
|
||||
- [x] dbus - Uygulamaların birbirleriyle haberleşmesinin basit bir yöntemi
|
||||
- [x] dbus-glib - D-Bus için GLib bağlayıcıları
|
||||
- [x] dbus-python - D-Bus için Python bağlayıcıları
|
||||
- [ ] dhcpcd - DHCP protokolü için istemci // *BLFS http://roy.marples.name/downloads/dhcpcd/dhcpcd-6.9.4.tar.xz *
|
||||
- [ ] dietlibc - Düşük boyut için optimize edilmiş C kütüphanesi // http://www.fefe.de/dietlibc/dietlibc-0.33.tar.bz2
|
||||
- [x] diffutils - Dosyaları karşılaştırmak ve fark dosyaları oluşturmak için kullanılan araçlar
|
||||
- [ ] disktype - Disk veya disk görüntüsünün biçimsel içeriğini saptar
|
||||
- [ ] docbook-xml - Docbook XML DTD
|
||||
- [ ] docbook-xsl - Docbook XSL biçemyaprakları
|
||||
- [x] e2fsprogs - Standart ext2, ext3, ext4 dosya sistemi uygulamaları
|
||||
- [ ] elfutils - Derlenmiş objeleri işlemek için gereken aletler koleksiyonu // *BLFS https://fedorahosted.org/releases/e/l/elfutils/0.164/elfutils-0.164.tar.bz2 *
|
||||
- [ ] eudev - eudev sistemd-udev uygulamasının çatalı // * https://github.com/gentoo/eudev/archive/v3.1.5.tar.gz* __this release need libgudev__
|
||||
- [x] expat - XML ayrıştırıcı kütüphaneleri
|
||||
- [x] file - Dosya tipini belirlemek için kullanılan bir uygulamadır
|
||||
- [x] findutils - Dosya bulmak için kullanılan GNU uygulamaları
|
||||
- [x] flex - GNU sözcüksel analiz üreteci
|
||||
- [ ] freetype - Yüksek kaliteli ve taşınabilir yazıtipi düzeneği // *BLFS http://downloads.sourceforge.net/freetype/freetype-2.6.2.tar.bz2*
|
||||
- [x] fuse - Kullanıcı düzeyinde dosya sistemi oluştumaya yarayan kitaplık // BLFS
|
||||
- [x] gawk - Metin işleme uygulaması olan awk'ın GNU versiyonu
|
||||
- [ ] gc - C ve C++ için bir çöp toplama kitaplığı
|
||||
- [ ] gcc - C/C++ ve Fortran derleyicisi // gcc-5.3.0
|
||||
- [x] gdbm - Perl uyumlu standart GNU veritabanı kütüphaneleri
|
||||
- [x] gettext - Farklı dillerde ileti katalogları üretmek için gerekli GNU araçları ve kütüphaneleri
|
||||
- [x] glib2 - C programlama dili için glib kütüphanesi // * BLFS http://ftp.gnome.org/pub/gnome/sources/glib/2.46/glib-2.46.2.tar.xz *
|
||||
- [ ] glibc - GNU libc6 (glibc2 olarak da bilinir) C kitaplığı // Glibc-2.22
|
||||
- [ ] glpk - GNU Doğrusal Programlama Kiti //* http://ftp.gnu.org/gnu/glpk/glpk-4.57.tar.gz*
|
||||
- [x] gmp - İstenilen duyarlıkta çalışabilen aritmetik işlem kitaplığı
|
||||
- [ ] gnuconfig - Autofoo için temel config dosyaları
|
||||
- [x] gobject-introspection - Introspection system for GObject-based libraries // * BLFS http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.46/gobject-introspection-1.46.0.tar.xz *
|
||||
- [x] gperf - Mükemmel hash üreticisi
|
||||
- [ ] gperftools - Google Performans Araçları // * https://github.com/gperftools/gperftools/releases/download/gperftools-2.4/gperftools-2.4.tar.gz *
|
||||
- [x] grep - Grep düzenli ifade eşleme aracı
|
||||
- [x] groff - Belge biçimlendirme sistemi
|
||||
- [ ] grub2 - GNU GRUB is a Multiboot boot loader.
|
||||
- [x] guile - GNU Scheme yorumlayıcısı ve kitaplığı // * BLFS*
|
||||
- [x] gzip - GNU dosya arşiv aracı
|
||||
- [ ] help2man - Geleneksel --help çıktılarını man sayfalarına dönüştüren bir GNU yazılımı // * ftp://ftp.gnu.org/gnu/help2man/help2man-1.47.3.tar.xz*
|
||||
- [x] intltool - Çeşitli kaynak kod dosyalarından satırları ayıklamak için kullanılan betikler
|
||||
- [ ] isl - Integer Set Library
|
||||
- [x] json-c - C dilinde JSON gerçeklemesi // BLFS
|
||||
- [x] kbd - Klavye ve konsol araçları
|
||||
- [ ] kernel - Pisi Linux için Linux çekirdeği
|
||||
- [ ] klibc - Küçük bir C kütüphanesi (libc) uyarlaması
|
||||
- [x] kmod - Linux kernel modülleri yönetim araçları
|
||||
- [x] less - Mükemmel bir metin görüntüleyici
|
||||
- [ ] leveldb - Hızlı ve hafif bir anahtar/değer veri kütüphanesi
|
||||
- [x] libarchive - Birçok farklı akış arşiv formatını yaratan ve okuyan programlama kitaplığı // *BLFS*
|
||||
- [x] libatomic_ops - Atomik bellek işlemleri kütüphanesi // BLFS
|
||||
- [x] libcap - POSIX 1003.1e desteği
|
||||
- [ ] libcap-ng - Alternatif bir POSIX yetenekleri kütüphanesi // * http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-0.7.7.tar.gz*
|
||||
- [x] libee - An Event Expression Library inspired by CEE
|
||||
- [ ] libestr - Library for some string essentials // *http://libestr.adiscon.com/files/download/libestr-0.1.10.tar.gz*
|
||||
- [x] libffi - Yabancı işlev arayüzleri için taşınabilir bir kitaplık
|
||||
- [ ] libgcrypt - Genel amaçlı bir şifreleme kitaplığı // *BLFS ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.4.tar.bz2*
|
||||
- [ ] libgpg-error - GnuPG bileşenlerinin kullandığı hata değerleri için kitaplık // * BLFS ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.21.tar.bz2 *
|
||||
- [ ] libidn - Uluslararası Alan Adları (IDN) destek kütüphanesi // *BLFS http://ftp.gnu.org/gnu/libidn/libidn-1.32.tar.gz *
|
||||
- [ ] liblogging - Easy to use, portable, open source library for system logging // *http://download.rsyslog.com/liblogging/liblogging-1.0.5.tar.gz *
|
||||
- [x] libmpc - Yüksek hassasiyet ve yuvarlama kitaplığı
|
||||
- [ ] libpcre - Perl-uyumlu sıradan ifade kütüphanesi // *ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz *
|
||||
- [x] libpipeline - pipeline yönetim kitaplığı
|
||||
- [ ] libpng - PNG kütüphanesi // *http://downloads.sourceforge.net/libpng/libpng-1.6.20.tar.xz *
|
||||
- [ ] libseccomp - Gelişmiş seccomp kütüphanesi // *https://github.com/seccomp/libseccomp/releases/download/v2.2.3/libseccomp-2.2.3.tar.gz*
|
||||
- [x] libsigsegv - Oluşan bellek hatalarının kullanıcı kipinde işlenmesini sağlayan bir kitaplık
|
||||
- [ ] libssh2 - SSH2 protokolü için kütüphane // *http://www.libssh2.org/download/libssh2-1.6.0.tar.gz*
|
||||
- [ ] libtool - Program geliştiriciler için ortak kütüphane aracı // __libtool-2.4.6__
|
||||
- [ ] libunistring - Unicode karakter dizisi kitaplığı // *http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.5.tar.xz*
|
||||
- [x] libunwind - Yazılım çağrıları geri izleme aracı
|
||||
- [ ] libusb - Userspace access to USB devices // BLFS http://downloads.sourceforge.net/libusb/libusb-1.0.20.tar.bz2
|
||||
- [x] libusb-compat - Userspace access to USB devices // BLFS
|
||||
- [ ] libuser - Kullanıcı ve grup hesap yönetim kitaplığı // libuser-0.62
|
||||
- [ ] libxml2 - XML türü dosyaları işlemeye aracılık eden kütüphanenin 2. sürümü // BLFS *http://xmlsoft.org/sources/libxml2-2.9.3.tar.gz*
|
||||
- [x] libxslt - XSLT kitaplığı ve araçları // BLFS
|
||||
- [ ] linux-firmware - Linux çekirdeği tarafından kullanılan firmware dosyaları
|
||||
- [x] lsb-release - LSB sürüm sorgulama aracı // BLFS
|
||||
- [ ] lvm2 - Mantıksal Hacim Yönetimi aracı // *BLFS ftp://sources.redhat.com/pub/lvm2/releases/LVM2.2.02.138.tgz*
|
||||
- [x] lzo - Çok hızlı bir sıkıştırma/açma kütüphanesi // BLFS
|
||||
- [x] m4 - GNU makro işleyicisi
|
||||
- [ ] mailcap - Dosya türleri için yardımcı uygulama ve MIME türü ilişkilendirmeleri // mailcap-2.1.44
|
||||
- [x] make - Geleneksel kaynak kod ağaçlarını derleme aracı
|
||||
- [x] man-db - Kapsamlı Linux kılavuzları
|
||||
- [x] man-pages - Kapsamlı Linux kılavuz dökümanları
|
||||
- [ ] mdadm - MD aygıtlarını (Yazılımsal RAID) denetleme aracı // *BLFS http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-3.3.4.tar.xz*
|
||||
- [ ] mingetty - Sadece sanal konsollar için yekpare bir getty programı
|
||||
- [ ] miscfiles - Çeşitli dosyalar
|
||||
- [ ] mkinitramfs - initramfs image dosyası yaratmak için araç
|
||||
- [ ] module-bbswitch - Optimus grafik kartlı bir dizüstü bilgisayarda grafik kartını seçmeye yarayan çekirdek modülüdür.
|
||||
- [ ] module-broadcom-wl - Broadcom'un BCM4311, BCM4312, BCM4321 ve BCM4322 tabanlı kablosuz bağdaştırıcıları için IEEE 802.11a/b/g/n aygıt sürücüleri
|
||||
- [ ] module-virtualbox - Kernel modules for VirtualBox
|
||||
- [ ] module-virtualbox-guest - VirtualBox misafir makineleri için çekirdek modülleri
|
||||
- [ ] mpfr - Multiple precision floating point library // MPFR-3.1.3
|
||||
- [ ] mudur - Pisi Linux açılış sistemi
|
||||
- [ ] nasm - Assembler derleyicisi // *BLFS http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/nasm-2.11.08.tar.xz*
|
||||
- [ ] ncompress - Bir başka sıkışmış dosya açma programı
|
||||
- [x] ncurses - Konsol görsel kütüphanesi
|
||||
- [ ] ndiswrapper - Bir sürücü ara yazılımı(wrapper)
|
||||
- [ ] net-tools - Linux ağ araçları // BLFS http://anduin.linuxfromscratch.org/BLFS/net-tools/net-tools-CVS_20101030.tar.gz ?
|
||||
- [x] nettle - The Nettle package contains the low-level cryptographic library. // BLFS
|
||||
- [ ] nspr - Netscape Taşınabilir Çalışma Zamanı // *https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.11/src/nspr-4.11.tar.gz *
|
||||
- [x] nss-mdns - İsim servisi değiştirme modülü
|
||||
- [ ] numactl - NUMA makineleri optimize etmek için bir kitaplık // __move to util.admin?__
|
||||
- [x] openssl - SSL v2/v3 ve TLS v1 için araç kiti // BLFS
|
||||
- [ ] os-prober - Utility to detect other OSes on a set of drives // __1.70__
|
||||
- [ ] pam - PAM - Eklenebilir Yetkilendirme Modülleri // *BLFS http://linux-pam.org/library/Linux-PAM-1.2.1.tar.bz2*
|
||||
- [x] patch - Yama dosyalarını uygular //
|
||||
- [x] pciutils - PCI veriyolu işlevleri ile ilgili çeşitli programlar // *BLFS 3.4.1*
|
||||
- [ ] pcmciautils - PCMCIA veriyolu işlevleri ile ilgili çeşitli araçlar
|
||||
- [ ] perl - Perl dili // *5.22.1*
|
||||
- [x] perl-Locale-gettext - GNU yerel araçlarına erişim için Perl modülü //
|
||||
- [x] perl-XML-Parser - James Clark'ın XML ayırıştırıcısına bir Perl uzantısı arayüzü
|
||||
- [ ] piksemel - iksemel için python desteği
|
||||
- [ ] pisi - PİSİ PiSi Linux'un paket yönetim sistemidir
|
||||
- [ ] pisilinux-python - PiSi Linux için Python modülleri
|
||||
- [x] pkgconfig - Kütüphaneler için derleme bayraklarını yöneten bir paket yapılandırma sistemi
|
||||
- [x] plyvel - Plyvel, LevelDB için, hızlı ve zengin özellikli Python arabirimi.
|
||||
- [x] polkit - Sistem bileşenleri için erişim politikası servisi
|
||||
- [x] popt - Popt komut satırında çalıştıran bir seçenek ayrıştırıcıdır.
|
||||
- [ ] ppl - Pharma Polyhedra kitaplığı
|
||||
- [x] procps - Geleneksel bilgilendirme yardımcı programları ve süreç işleme araçları
|
||||
- [x] psmisc - proc dosya sistemi kullanan bir araç takımı
|
||||
- [ ] pycurl - Python cURL Modülü // *https://github.com/pycurl/pycurl/archive/REL_7_19_5_3.tar.gz*
|
||||
- [ ] pypolkit - PolicyKit için Python bağlayıcısı
|
||||
- [ ] python - Nesneye yönelik bir programlama dili // *BLFS https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tar.xz*
|
||||
- [ ] python-psutil - Platform bağımsız, süreçler hakkında bilgi sağlayan bir Python modülü // *https://pypi.python.org/packages/source/p/psutil/psutil-3.3.0.tar.gz*
|
||||
- [x] python-pyliblzma - Python için lzma bağlayıcıları
|
||||
- [ ] python-setuptools - Python kurulum araçları // *? https://pypi.python.org/pypi/distribute/0.7.3 , https://pypi.python.org/pypi/setuptools*
|
||||
- [x] readline - Diğer bir şirin konsol gösterim kütüphanesi //
|
||||
- [ ] rsyslog - Gelişmiş sistem günlükleme hizmeti // *http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.15.0.tar.gz*
|
||||
- [ ] run-parts - run scripts or programs in a directory
|
||||
- [ ] scons - Python temelli, esnek, geliştirilebilir inşa aracı // *BLFS http://downloads.sourceforge.net/scons/scons-2.4.1.tar.gz *
|
||||
- [x] sed - GNU stream düzenleyici
|
||||
- [x] sgml-common - SGML ISO karakter nesneleri ve yardımcı programları
|
||||
- [x] shadow - Kullanıcı hesapları yönetimi için araçlar
|
||||
- [x] slang - Bir çok metin gösterici yazılım tarfından kullanılan konsol görüntüleme kütüphanesi //__ why that is not in main?__
|
||||
- [ ] snappy - Linux için sıkıştırma/ayıklama kütüphanesidir. // *https://github.com/google/snappy/archive/1.1.3.tar.gz*
|
||||
- [x] spidermonkey - Javascript C Kitaplığı
|
||||
- [ ] sqlite - Bir C kütüphanesi içindeki bir SQL veritabanı motoru // *BLFS http://sqlite.org/2015/sqlite-autoconf-3090200.tar.gz*
|
||||
- [x] sysfsutils - Çeşitli sistem araç ve gereçleri
|
||||
- [x] sysvinit - Programs which control basic system processes
|
||||
- [x] tar - GNU dosya arşivleme uygulaması
|
||||
- [x] tcp-wrappers - TCP Wrappers
|
||||
- [x] texinfo - GNU info (bilgi) programı ve araçları
|
||||
- [x] time - Bir programın sistem kaynak kullanımını izleyen GNU aracı // BLFS
|
||||
- [x] timezone - Zamandilimi veri dosyaları ve araçları
|
||||
- [ ] unifdef - The unifdef utility selectively processes conditional cpp(1) directives // *http://dotat.at/prog/unifdef/unifdef-2.11.tar.xz*
|
||||
- [ ] unzip - pkzip ile sıkıştırılmış dosyalar için açıcı // *BLFS http://downloads.sourceforge.net/infozip/unzip60.tar.gz*
|
||||
- [x] urlgrabber - Python için yüksek seviyeli, platform bağımsız bir url-grabber kütüphanesi
|
||||
- [x] usbutils - USB listeleme araçları // BLFS
|
||||
- [x] util-linux - Çeşitli kullanışlı Linux araçları
|
||||
- [ ] util-macros - X.Org X11 Autotools makroları // * BLFS http://ftp.x.org/pub/individual/util/util-macros-1.19.0.tar.bz2*
|
||||
- [x] v86d - uvesafb için kullanıcı uzayı yardımcısı
|
||||
- [x] vixie-cron - Tam teşekküllü bir crond uyarlaması
|
||||
- [x] which - Verilen komutun çalıştırma yolundaki önceliğe göre yerini gösterir // BLFS
|
||||
- [x] wireless-tools - Kablosuz ağ kartlarını yapılandırmak için kullanılan bir araç seti // BLFS 29 da biz 30 dayız.
|
||||
- [x] xcb-proto - XCB protokol tanımlamaları
|
||||
- [ ] xmlto - XML ve DocBook için dönüşüm aracı // * BLFS https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.28.tar.bz2*
|
||||
- [ ] xorg-proto - X.Org Protokol Başlıkları // * BLFS check pls http://www.linuxfromscratch.org/blfs/view/svn/x/x7proto.html*
|
||||
- [ ] xorg-util - X.Org araçları // * check ftp://mirror.csclub.uwaterloo.ca/x.org/individual/util *
|
||||
- [x] xtrans - X.Org trans kitaplığı.
|
||||
- [x] xz - XZ sıkıştırma araçları
|
||||
- [ ] yacc - Yacc: Yet Another Compiler-Compiler
|
||||
- [ ] yasm - Bir çok sentaks ve mimari destekleyen Assembler // *http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz*
|
||||
- [x] zip - ZIP programı (şifreleme desteği ile birlikte)
|
||||
- [x] zlib - Standart sıkıştırma/açma kütüphanesi
|
||||
|
||||
dosyanın en güncel hali için: https://gist.github.com/ertugerata/3dd26e482f0f928b7bc9
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -14,7 +13,7 @@
|
||||
<IsA>library</IsA>
|
||||
<Summary>A high-quality and portable font engine</Summary>
|
||||
<Description>FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output. It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.</Description>
|
||||
<Archive sha1sum="6c98bd5d0be313207c37ca23d25faf983486aee5" type="tarbz2">mirrors://sourceforge/freetype/freetype-2.6.3.tar.bz2</Archive>
|
||||
<Archive sha1sum="4d08a9a6567c6332d58e9a5f9a7e9e3fbce66789" type="tarbz2">mirrors://sourceforge/freetype/freetype-2.7.1.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
<Dependency>bzip2</Dependency>
|
||||
@@ -63,7 +62,7 @@
|
||||
<Dependency>libpng-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>glibc-32bit</Dependency>
|
||||
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>libpng-32bit</Dependency>
|
||||
</RuntimeDependencies>
|
||||
@@ -73,6 +72,20 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2017-02-02</Date>
|
||||
<Version>2.7.1</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>2.6.3</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-13</Date>
|
||||
<Version>2.6.3</Version>
|
||||
|
||||
+14
-392
@@ -8,396 +8,18 @@
|
||||
<Type>Core</Type>
|
||||
<BinaryName>PisiLinux</BinaryName>
|
||||
<Obsoletes>
|
||||
<Package>xorg-video-modesetting</Package>
|
||||
<Package>glamor-egl</Package>
|
||||
<Package>glamor-egl-devel</Package>
|
||||
<Package>kdeadmin</Package>
|
||||
<Package>kdenetwork</Package>
|
||||
<Package>kdenetwork-devel</Package>
|
||||
<Package>kdesdk</Package>
|
||||
<Package>kdesdk-devel</Package>
|
||||
<Package>kdeplasma-applets-fancytasks</Package>
|
||||
<Package>kdetoys</Package>
|
||||
<Package>libfakeley</Package>
|
||||
<Package>libfakeley-devel</Package>
|
||||
<Package>libstreams</Package>
|
||||
<Package>libstreamanalyzer</Package>
|
||||
<Package>libstreams-devel</Package>
|
||||
<Package>libstreamanalyzer-devel</Package>
|
||||
<Package>strigi-libs</Package>
|
||||
<Package>strigi-common</Package>
|
||||
<Package>workspace-strap</Package>
|
||||
<Package>gtk-qt-engine</Package>
|
||||
<Package>kdevplatform-l10n-nds</Package>
|
||||
<Package>kdevplatform-l10n-en_GB</Package>
|
||||
<Package>db5</Package>
|
||||
<Package>db5-devel</Package>
|
||||
<Package>db5-docs</Package>
|
||||
<Package>ntfs_3g</Package>
|
||||
<Package>db4-java</Package>
|
||||
<Package>db5-java</Package>
|
||||
<Package>jpeg</Package>
|
||||
<Package>openthreads</Package>
|
||||
<Package>aufs-progs</Package>
|
||||
<Package>python-cherrypy</Package>
|
||||
<Package>hd2u</Package>
|
||||
<Package>mmpython</Package>
|
||||
<Package>libtextcat</Package>
|
||||
<Package>xorg-input-fpit</Package>
|
||||
<Package>xorg-input-hyperpen</Package>
|
||||
<Package>xorg-input-mutouch</Package>
|
||||
<Package>xorg-input-penmount</Package>
|
||||
<Package>xorg-video-ark</Package>
|
||||
<Package>xorg-video-ast</Package>
|
||||
<Package>xorg-video-chips</Package>
|
||||
<Package>xorg-video-nv</Package>
|
||||
<Package>xorg-video-s3</Package>
|
||||
<Package>xorg-video-tseng</Package>
|
||||
<Package>libXp-devel</Package>
|
||||
<Package>ijs</Package>
|
||||
<Package>ijs-devel</Package>
|
||||
<Package>xfce-utils</Package>
|
||||
<Package>lxsession-edit</Package>
|
||||
<Package>zeitgeist-datahub</Package>
|
||||
<Package>soundKonverter</Package>
|
||||
<Package>module-fglrx-legacy</Package>
|
||||
<Package>module-fglrx-legacy-userspace</Package>
|
||||
<Package>module-fglrx-legacy-devel</Package>
|
||||
<Package>fglrx-legacy-devel</Package>
|
||||
<Package>fglrx-legacy-opencl</Package>
|
||||
<Package>fglrx-legacy-opencl-32bit</Package>
|
||||
<Package>xorg-video-fglrx-legacy</Package>
|
||||
<Package>xorg-video-fglrx-legacy-32bit</Package>
|
||||
<Package>fglrx-devel</Package>
|
||||
<Package>fglrx-opencl-32bit</Package>
|
||||
<Package>fglrx-opencl</Package>
|
||||
<Package>module-fglrx-userspace</Package>
|
||||
<Package>plex-media-server</Package>
|
||||
<Package>libreoffice-bsh</Package>
|
||||
<Package>libreoffice-ure</Package>
|
||||
<Package>libreoffice-pyuno</Package>
|
||||
<Package>libreoffice-nlpsolver</Package>
|
||||
<Package>libreoffice-pdfimport</Package>
|
||||
<Package>libreoffice-xsltfilter</Package>
|
||||
<Package>libreoffice-java-common</Package>
|
||||
<Package>libreoffice-graphicfilter</Package>
|
||||
<Package>libreoffice-wiki-publisher</Package>
|
||||
<Package>libreoffice-presentation-minimizer</Package>
|
||||
<Package>libreoffice-javafilter</Package>
|
||||
<Package>libreoffice-report-builder</Package>
|
||||
<Package>glest</Package>
|
||||
<Package>glest-data</Package>
|
||||
<Package>liboldX</Package>
|
||||
<Package>liboldX-devel</Package>
|
||||
<Package>glitz-devel</Package>
|
||||
<Package>glitz-32bit</Package>
|
||||
<Package>glitz</Package>
|
||||
<Package>mate-bluetooth</Package>
|
||||
<Package>mate-bluetooth-devel</Package>
|
||||
<Package>mate-bluetooth-doc</Package>
|
||||
<Package>glade-xfce</Package>
|
||||
<Package>eatmonkey</Package>
|
||||
<Package>gnome-activity-journal</Package>
|
||||
<Package>gnome-mime-data</Package>
|
||||
<Package>libgnomecups</Package>
|
||||
<Package>libgnomecups-devel</Package>
|
||||
<Package>libgnomeprint</Package>
|
||||
<Package>libgnomeprint-devel</Package>
|
||||
<Package>libgnomeprint-docs</Package>
|
||||
<Package>libgnomeprintui</Package>
|
||||
<Package>libgnomeprintui-devel</Package>
|
||||
<Package>libgnomeprintui-docs</Package>
|
||||
<Package>gnome-desktop-sharp</Package>
|
||||
<Package>gnome-desktop-sharp-devel</Package>
|
||||
<Package>gnome-print-sharp</Package>
|
||||
<Package>gnome-print-sharp-devel</Package>
|
||||
<Package>gtksourceview-sharp</Package>
|
||||
<Package>gtksourceview-sharp-devel</Package>
|
||||
<Package>vte-sharp</Package>
|
||||
<Package>vte-sharp-devel</Package>
|
||||
<Package>wnck-sharp</Package>
|
||||
<Package>wnck-sharp-devel</Package>
|
||||
<Package>rsvg-sharp</Package>
|
||||
<Package>rsvg-sharp-devel</Package>
|
||||
<Package>gsettings-desktop-schemas3</Package>
|
||||
<Package>gsettings-desktop-schemas3-devel</Package>
|
||||
<Package>libgee-8</Package>
|
||||
<Package>libgee-8-devel</Package>
|
||||
<Package>gnutls-guile</Package>
|
||||
<Package>liborcus</Package>
|
||||
<Package>liborcus-devel</Package>
|
||||
<Package>libixion</Package>
|
||||
<Package>epdfview</Package>
|
||||
<Package>libixion-devel</Package>
|
||||
<Package>lv2core</Package>
|
||||
<Package>lv2core-devel</Package>
|
||||
<Package>amd-ucode</Package>
|
||||
<Package>akonadi-facebook</Package>
|
||||
<Package>perl-Email-Simple-Creator</Package>
|
||||
<Package>licq-autoreply</Package>
|
||||
<Package>licq-console</Package>
|
||||
<Package>licq-msn</Package>
|
||||
<Package>licq-forwarder</Package>
|
||||
<Package>licq-osd</Package>
|
||||
<Package>licq-rms</Package>
|
||||
<Package>licq-devel</Package>
|
||||
<Package>perl-IO-via-symlink</Package>
|
||||
<Package>SVK</Package>
|
||||
<Package>avidemux</Package>
|
||||
<Package>qsvn</Package>
|
||||
<Package>libsvnqt</Package>
|
||||
<Package>libsvnqt-devel</Package>
|
||||
<Package>cups-php</Package>
|
||||
<Package>metalink</Package>
|
||||
<Package>foomatic-filters</Package>
|
||||
<Package>pisilinux-default-settings</Package>
|
||||
<Package>mysql-client</Package>
|
||||
<Package>mysql-lib</Package>
|
||||
<Package>mysql-man-pages</Package>
|
||||
<Package>mysql-server</Package>
|
||||
<Package>sun-jre</Package>
|
||||
<Package>sun-jdk</Package>
|
||||
<Package>gnash</Package>
|
||||
<Package>gnash-devel</Package>
|
||||
<Package>gnash-klash</Package>
|
||||
<Package>gst-buzztard</Package>
|
||||
<Package>gst-buzztard-doc</Package>
|
||||
<Package>libgst-buzztard</Package>
|
||||
<Package>libgst-buzztard-devel</Package>
|
||||
<Package>tv-viewer</Package>
|
||||
<Package>module-nvidia-current-userspace</Package>
|
||||
<Package>module-nvidia304-userspace</Package>
|
||||
<Package>module-nvidia173-userspace</Package>
|
||||
<Package>module-nvidia96-userspace</Package>
|
||||
<Package>samba-swat</Package>
|
||||
<Package>comp-scale</Package>
|
||||
<Package>ntrack</Package>
|
||||
<Package>ntrack-devel</Package>
|
||||
<Package>ntrack-glib</Package>
|
||||
<Package>ntrack-glib-devel</Package>
|
||||
<Package>ntrack-gobject</Package>
|
||||
<Package>ntrack-gobject-devel</Package>
|
||||
<Package>ntrack-qt4</Package>
|
||||
<Package>ntrack-qt4-devel</Package>
|
||||
<Package>python-ntrack</Package>
|
||||
<Package>qzion</Package>
|
||||
<Package>qzion-devel</Package>
|
||||
<Package>qedje-devel</Package>
|
||||
<Package>qedje</Package>
|
||||
<Package>ushare</Package>
|
||||
<Package>udev-32bit</Package>
|
||||
<Package>kde-l10n-si</Package>
|
||||
<Package>kde-l10n-si-doc</Package>
|
||||
<Package>kde-l10n-tg</Package>
|
||||
<Package>kde-l10n-tg-doc</Package>
|
||||
<Package>kde-l10n-th</Package>
|
||||
<Package>kde-l10n-th-doc</Package>
|
||||
<Package>kdnssd</Package>
|
||||
<Package>mate-file-manager</Package>
|
||||
<Package>mate-file-manager-devel</Package>
|
||||
<Package>mate-file-manager-doc</Package>
|
||||
<Package>mate-window-manager</Package>
|
||||
<Package>mate-window-manager-devel</Package>
|
||||
<Package>mate-doc-utils</Package>
|
||||
<Package>libmatewnck-devel</Package>
|
||||
<Package>libmatewnck-doc</Package>
|
||||
<Package>libmatewnck</Package>
|
||||
<Package>libmatekeyring</Package>
|
||||
<Package>libmatekeyring-devel</Package>
|
||||
<Package>libmatekeyring-doc</Package>
|
||||
<Package>mate-keyring</Package>
|
||||
<Package>mate-keyring-devel</Package>
|
||||
<Package>mate-keyring-doc</Package>
|
||||
<Package>mate-character-map</Package>
|
||||
<Package>mate-character-map-devel</Package>
|
||||
<Package>mate-document-viewer</Package>
|
||||
<Package>mate-document-viewer-devel</Package>
|
||||
<Package>mate-document-viewer-doc</Package>
|
||||
<Package>mate-file-archiver</Package>
|
||||
<Package>mate-image-viewer</Package>
|
||||
<Package>mate-image-viewer-devel</Package>
|
||||
<Package>mate-image-viewer-doc</Package>
|
||||
<Package>mate-file-manager-gksu</Package>
|
||||
<Package>mate-file-manager-sendto</Package>
|
||||
<Package>mate-file-manager-sendto-devel</Package>
|
||||
<Package>mate-file-manager-sendto-doc</Package>
|
||||
<Package>mate-file-manager-share</Package>
|
||||
<Package>mate-file-manager-open-terminal</Package>
|
||||
<Package>mate-file-manager-image-converter</Package>
|
||||
<Package>mate-text-editor</Package>
|
||||
<Package>mate-text-editor-devel</Package>
|
||||
<Package>mate-text-editor-gtk-doc</Package>
|
||||
<Package>mate-menu-editor</Package>
|
||||
<Package>kio-afc</Package>
|
||||
<Package>epson-alc1100</Package>
|
||||
<Package>thunderbird-lang-es-CL</Package>
|
||||
<Package>emacs-emms</Package>
|
||||
<Package>ecore</Package>
|
||||
<Package>ecore-devel</Package>
|
||||
<Package>edje</Package>
|
||||
<Package>edje-devel</Package>
|
||||
<Package>eet</Package>
|
||||
<Package>eet-devel</Package>
|
||||
<Package>eeze</Package>
|
||||
<Package>eeze-devel</Package>
|
||||
<Package>efreet</Package>
|
||||
<Package>efreet-devel</Package>
|
||||
<Package>eina</Package>
|
||||
<Package>eina-devel</Package>
|
||||
<Package>eio</Package>
|
||||
<Package>eio-devel</Package>
|
||||
<Package>emap</Package>
|
||||
<Package>emap-devel</Package>
|
||||
<Package>embryo</Package>
|
||||
<Package>embryo-devel</Package>
|
||||
<Package>epdf</Package>
|
||||
<Package>epdf-devel</Package>
|
||||
<Package>ethumb</Package>
|
||||
<Package>ethumb-devel</Package>
|
||||
<Package>evas</Package>
|
||||
<Package>evas-devel</Package>
|
||||
<Package>emotion-devel</Package>
|
||||
<Package>emotion</Package>
|
||||
<Package>firefox-devel</Package>
|
||||
<Package>chipmunk</Package>
|
||||
<Package>chipmunk-devel</Package>
|
||||
<Package>e-module-alarm</Package>
|
||||
<Package>e-module-calendar</Package>
|
||||
<Package>e-module-comp-scale</Package>
|
||||
<Package>e-module-cpu</Package>
|
||||
<Package>e-module-deskshow</Package>
|
||||
<Package>e-module-diskio</Package>
|
||||
<Package>e-module-drawer</Package>
|
||||
<Package>e-module-eektool</Package>
|
||||
<Package>e-module-eenvader-fractal</Package>
|
||||
<Package>e-module-elfe</Package>
|
||||
<Package>e-module-empris</Package>
|
||||
<Package>e-module-engage</Package>
|
||||
<Package>e-module-eooorg</Package>
|
||||
<Package>e-module-everything-aspell</Package>
|
||||
<Package>e-module-everything-pidgin</Package>
|
||||
<Package>e-module-everything-places</Package>
|
||||
<Package>e-module-everything-shotgun</Package>
|
||||
<Package>e-module-everything-skeleton</Package>
|
||||
<Package>e-module-everything-tracker</Package>
|
||||
<Package>e-module-everything-wallpaper</Package>
|
||||
<Package>e-module-everything-websearch</Package>
|
||||
<Package>e-module-eweather</Package>
|
||||
<Package>e-module-exebuf</Package>
|
||||
<Package>e-module-execwatch</Package>
|
||||
<Package>e-module-flame</Package>
|
||||
<Package>e-module-forecasts</Package>
|
||||
<Package>e-module-iiirk</Package>
|
||||
<Package>e-module-itask</Package>
|
||||
<Package>e-module-mail</Package>
|
||||
<Package>e-module-mem</Package>
|
||||
<Package>e-module-moon</Package>
|
||||
<Package>e-module-mpdule</Package>
|
||||
<Package>e-module-net</Package>
|
||||
<Package>e-module-news</Package>
|
||||
<Package>e-module-penguins</Package>
|
||||
<Package>e-module-photo</Package>
|
||||
<Package>e-module-places</Package>
|
||||
<Package>e-module-rain</Package>
|
||||
<Package>e-module-screenshot</Package>
|
||||
<Package>e-module-skel</Package>
|
||||
<Package>e-module-snow</Package>
|
||||
<Package>e-module-taskbar</Package>
|
||||
<Package>e-module-tclock</Package>
|
||||
<Package>e-module-uptime</Package>
|
||||
<Package>e-module-weather</Package>
|
||||
<Package>e-module-winlist-ng</Package>
|
||||
<Package>e-module-winselector</Package>
|
||||
<Package>e-module-wlan</Package>
|
||||
<Package>econcentration</Package>
|
||||
<Package>editje</Package>
|
||||
<Package>emprint</Package>
|
||||
<Package>enki</Package>
|
||||
<Package>enlil</Package>
|
||||
<Package>enlil-devel</Package>
|
||||
<Package>etrophy</Package>
|
||||
<Package>etrophy-devel</Package>
|
||||
<Package>expedite</Package>
|
||||
<Package>lightmediascanner</Package>
|
||||
<Package>lightmediascanner-devel</Package>
|
||||
<Package>libeweather</Package>
|
||||
<Package>libeweather-devel</Package>
|
||||
<Package>python-elementary-devel</Package>
|
||||
<Package>python-elementary</Package>
|
||||
<Package>python-edje-devel</Package>
|
||||
<Package>python-edje</Package>
|
||||
<Package>python-evas-devel</Package>
|
||||
<Package>python-evas</Package>
|
||||
<Package>python-ethumb-devel</Package>
|
||||
<Package>python-ethumb</Package>
|
||||
<Package>python-ecore-devel</Package>
|
||||
<Package>python-ecore</Package>
|
||||
<Package>python-speech-dispatcher</Package>
|
||||
<Package>nepomuk-core</Package>
|
||||
<Package>nepomuk-core-devel</Package>
|
||||
<Package>nepomuk-widgets</Package>
|
||||
<Package>nepomuk-widgets-devel</Package>
|
||||
<Package>wine-gecko64</Package>
|
||||
<Package>wine64</Package>
|
||||
<Package>glade3</Package>
|
||||
<Package>glade3-devel</Package>
|
||||
<Package>glade3-docs</Package>
|
||||
<Package>goocanvas</Package>
|
||||
<Package>goocanvas-docs</Package>
|
||||
<Package>goocanvas-devel</Package>
|
||||
<Package>goocanvasmm</Package>
|
||||
<Package>goocanvasmm-doc</Package>
|
||||
<Package>goocanvasmm-devel</Package>
|
||||
<Package>libgtkhtml2</Package>
|
||||
<Package>libgtkhtml2-devel</Package>
|
||||
<Package>bluez-compat</Package>
|
||||
<Package>bluedevil-devel</Package>
|
||||
<Package>akonadi-facebook</Package>
|
||||
<Package>python-PyMT</Package>
|
||||
<Package>python-PyMT-docs</Package>
|
||||
<Package>OpenGTL</Package>
|
||||
<Package>OpenGTL-devel</Package>
|
||||
<Package>gtkdatabox-glade</Package>
|
||||
<Package>gtkdatabox-docs</Package>
|
||||
<Package>vo-aacenc</Package>
|
||||
<Package>lxshortcut</Package>
|
||||
<Package>libusbx</Package>
|
||||
<Package>libusbx-devel</Package>
|
||||
<Package>libusbx-32bit</Package>
|
||||
<Package>labltk</Package>
|
||||
<Package>udev</Package>
|
||||
<Package>libudev</Package>
|
||||
<Package>libgudev1</Package>
|
||||
<Package>libudev-devel</Package>
|
||||
<Package>libgudev1-devel</Package>
|
||||
<Package>libudev-32bit</Package>
|
||||
<Package>libgudev1-32bit</Package>
|
||||
<Package>mdbtools-gui</Package>
|
||||
<Package>module-nvidia96</Package>
|
||||
<Package>xorg-video-nvidia96</Package>
|
||||
<Package>module-nvidia173</Package>
|
||||
<Package>xorg-video-nvidia173</Package>
|
||||
<Package>libfm</Package>
|
||||
<Package>libfm-devel</Package>
|
||||
<Package>lxappearance</Package>
|
||||
<Package>lxappearance-devel</Package>
|
||||
<Package>lxappearance-obconf</Package>
|
||||
<Package>lxde-common</Package>
|
||||
<Package>lxde-menu-cache</Package>
|
||||
<Package>lxde-menu-cache-devel</Package>
|
||||
<Package>lxinput</Package>
|
||||
<Package>lxmenu-data</Package>
|
||||
<Package>lxpanel</Package>
|
||||
<Package>lxpanel-devel</Package>
|
||||
<Package>lxpolkit</Package>
|
||||
<Package>lxrandr</Package>
|
||||
<Package>lxsession</Package>
|
||||
<Package>lxtask</Package>
|
||||
<Package>lxterminal</Package>
|
||||
<Package>pcmanfm</Package>
|
||||
<Package>pcmanfm-devel</Package>
|
||||
<Package>gpicview</Package>
|
||||
<Package>lxlauncher</Package>
|
||||
<Package>screengrab</Package>
|
||||
</Obsoletes>
|
||||
<!--glibc-32bit merge in glibc-->
|
||||
<Package>glibc-32bit</Package>
|
||||
<!-- separeted, replaced packages-->
|
||||
<Package>kdgantt2</Package>
|
||||
<Package>gpgmepp</Package>
|
||||
<Package>kde-baseapps</Package>
|
||||
<Package>prison-qt5</Package>
|
||||
<Package>xorg-video-modesetting</Package>
|
||||
<!--for yali -->
|
||||
<Package>busybox-mkinitcpio</Package>
|
||||
<Package>mkinitcpio</Package>
|
||||
<Package>Calamares</Package>
|
||||
<Package>calamares-theme-pisilinux</Package>
|
||||
</Obsoletes>
|
||||
</PISI>
|
||||
|
||||
@@ -15,7 +15,7 @@ import lzma
|
||||
|
||||
import piksemel
|
||||
|
||||
pisirepouri = "http://ciftlik.pisilinux.org/2.0-Beta/pisi-index.xml.xz"
|
||||
pisirepouri = "http://ciftlik.pisilinux.org/2.0-Beta.1/pisi-index.xml.xz"
|
||||
svnrepouri = "https://github.com/ertugerata/core/raw/master/pisi-index.xml.xz"
|
||||
|
||||
def getIndex(uri):
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
|
||||
@@ -36,6 +35,20 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2017-02-07</Date>
|
||||
<Version>9</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>9</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2015-04-01</Date>
|
||||
<Version>9</Version>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -13,10 +12,11 @@
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>Userland logical volume management tools</Summary>
|
||||
<Description>LVM2 includes all of the support for handling read/write operations physical and logical volumes.</Description>
|
||||
<Archive sha1sum="2a7cce6407d91847731d8f2ca2b4ba7dee03225a" type="targz">ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.142.tgz</Archive>
|
||||
<Archive sha1sum="35b7358ebefefbf1fceb50bf282c328203248bdb" type="targz">ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.167.tgz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>libutil-linux-devel</Dependency>
|
||||
<Dependency>eudev-devel</Dependency>
|
||||
<Dependency>autoconf-archive</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!--<Patch level="1">lvm2-2.02.63-always-make-static-libdm.patch</Patch>
|
||||
@@ -189,6 +189,20 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2017-01-29</Date>
|
||||
<Version>2.02.167</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>2.02.142</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-13</Date>
|
||||
<Version>2.02.142</Version>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -14,6 +13,9 @@
|
||||
<Summary>Utility to control Linux MD devices (software RAID arrays)</Summary>
|
||||
<Description>mdadm is used to create, manage, and monitor Linux MD (software RAID) devices.</Description>
|
||||
<Archive sha1sum="0b6c284970567bfa30dbc14ea5c0e2320582b80c" type="tarxz">https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-3.4.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>dietlibc</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
@@ -52,6 +54,20 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2017-01-29</Date>
|
||||
<Version>3.4</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>3.4</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-13</Date>
|
||||
<Version>3.4</Version>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -28,6 +27,20 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2017-01-29</Date>
|
||||
<Version>4.0.18</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>4.0.18</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2014-02-12</Date>
|
||||
<Version>4.0.18</Version>
|
||||
|
||||
Binary file not shown.
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -18,8 +17,8 @@
|
||||
<IsA>data</IsA>
|
||||
<Summary>Firmware files used by the Linux kernel</Summary>
|
||||
<Description>linux-firmware contains different firmware files required for some devices to operate correctly.</Description>
|
||||
<!-- linux-firmware commit: 40e9ae84308274b91ac069fba2f1a290fcdc83fc 2016-01-11 -->
|
||||
<Archive sha1sum="03d895382f5c1c4ec0545143970ae2b79ee430fb" type="tarbz2">http://sourceforge.net/projects/pisilinux/files/source/linux-firmware-20160111.tar.bz2</Archive>
|
||||
<!-- linux-firmware commit: 17e6288135d4500f9fe60224dce2b46d850c346b 2017-11-23 -->
|
||||
<Archive sha1sum="335e412eb7b017e0cb4096717e8ea1f63ebdec85" type="tarbz2">https://sourceforge.net/projects/pisilinux/files/source/linux-firmware-20171123.tar.bz2</Archive>
|
||||
<Archive sha1sum="dd685266f7bc0acb0d455462637d23e3e895bc96" type="tarxz" target="linux-firmware/mix">http://source.pisilinux.org/erdinc/common-fw.tar.xz</Archive>
|
||||
<Archive sha1sum="b2bb7fce3ea67d131f543a48134f7a65f2a8d834" type="tarxz" target="linux-firmware/mix">http://source.pisilinux.org/erdinc/firmware-ipw.tar.xz</Archive>
|
||||
<Archive sha1sum="a5a616a9f765cf9cbb224deb7ccefdc82a7fe4d9" type="tarbz2" target="linux-firmware/mix">http://source.pisilinux.org/erdinc/firmware/firmware-nonfreebox-2-tar.bz2</Archive>
|
||||
@@ -34,7 +33,7 @@
|
||||
<!--AdditionalFile target="intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq">fw/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq</AdditionalFile-->
|
||||
<AdditionalFile target="iwlwifi-7260-14.ucode">iwlwifi-7260-14.ucode</AdditionalFile>
|
||||
<AdditionalFile target="iwlwifi-7260-15.ucode">iwlwifi-7260-15.ucode</AdditionalFile>
|
||||
<AdditionalFile target="iwlwifi-7260-16.ucode">iwlwifi-7260-17.ucode</AdditionalFile>
|
||||
<AdditionalFile target="iwlwifi-7260-17.ucode">iwlwifi-7260-17.ucode</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Source>
|
||||
|
||||
@@ -50,6 +49,34 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="5">
|
||||
<Date>2017-11-23</Date>
|
||||
<Version>20171123</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2017-02-11</Date>
|
||||
<Version>20170113</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-06-29</Date>
|
||||
<Version>20160624</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>20160111</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-01-22</Date>
|
||||
<Version>20160111</Version>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-bbswitch</Name>
|
||||
@@ -12,7 +13,7 @@
|
||||
<Summary>Kernel module allowing to switch dedicated graphics card on Optimus laptops</Summary>
|
||||
<Description>kernel module allowing to switch dedicated graphics card on Optimus laptops</Description>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.4.4">kernel-module-headers</Dependency>
|
||||
<Dependency version="4.9.86">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
<Archive sha1sum="e282ee682d794e3962baa4dead01917c42571e78" type="targz">https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz</Archive>
|
||||
<Patches>
|
||||
@@ -21,7 +22,7 @@
|
||||
<Package>
|
||||
<Name>module-bbswitch</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.4.4">kernel</Dependency>
|
||||
<Dependency version="4.9.86">kernel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
@@ -35,6 +36,111 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="16">
|
||||
<Date>2018-03-11</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="15">
|
||||
<Date>2018-03-03</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="14">
|
||||
<Date>2018-01-06</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2017-12-20</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2017-12-04</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2017-11-19</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2017-08-21</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2017-07-04</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2017-02-01</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2016-12-10</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2016-11-02</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2016-08-24</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2016-08-06</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-06-28</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-30</Date>
|
||||
<Version>0.8</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-07</Date>
|
||||
<Version>0.8</Version>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
blacklist brcm80211
|
||||
blacklist b43
|
||||
blacklist ssb
|
||||
blacklist bcma
|
||||
blacklist brcmsmac
|
||||
blacklist brcmfmac
|
||||
blacklist brcmfmac
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From b14ac6e4b871b5e15f63389ba63d1fc23a54c58b Mon Sep 17 00:00:00 2001
|
||||
From: Tim Gardner <tim.gardner@canonical.com>
|
||||
Date: Tue, 4 Aug 2015 09:02:10 -0600
|
||||
Subject: [PATCH] cfg80211_disconnected
|
||||
|
||||
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
|
||||
---
|
||||
bcmwl-6.30.223.248+bdcom/src/src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index ea0726f..0131f01 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -2047,7 +2047,11 @@ wl_notify_connect_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
}
|
||||
else if ((event == WLC_E_LINK && ~(flags & WLC_EVENT_MSG_LINK)) ||
|
||||
event == WLC_E_DEAUTH_IND || event == WLC_E_DISASSOC_IND) {
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
|
||||
cfg80211_disconnected(ndev, 0, NULL, 0, GFP_KERNEL);
|
||||
+#else
|
||||
+ cfg80211_disconnected(ndev, 0, NULL, 0, false, GFP_KERNEL);
|
||||
+#endif
|
||||
clear_bit(WL_STATUS_CONNECTED, &wl->status);
|
||||
wl_link_down(wl);
|
||||
wl_init_prof(wl->profile);
|
||||
--
|
||||
2.5.0
|
||||
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
Description: Fixing null pointer crash
|
||||
|
||||
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1415880
|
||||
Last-Update: 2015-08-18
|
||||
|
||||
---
|
||||
src/wl/sys/wl_linux.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
index 860b935..295156f 100644
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
|
||||
wlif = WL_DEV_IF(dev);
|
||||
wl = WL_INFO(dev);
|
||||
|
||||
+ skb->prev = NULL;
|
||||
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
|
||||
- skb->prev = NULL;
|
||||
|
||||
TXQ_LOCK(wl);
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
--- a/src/wl/sys/wl_linux.c 2015-01-06 12:33:42.981659618 +0100
|
||||
+++ b/src/wl/sys/wl_linux.c 2015-01-06 12:34:05.647395418 +0100
|
||||
@@ -2157,8 +2157,8 @@
|
||||
wlif = WL_DEV_IF(dev);
|
||||
wl = WL_INFO(dev);
|
||||
|
||||
+ skb->prev = NULL;
|
||||
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
|
||||
- skb->prev = NULL;
|
||||
|
||||
TXQ_LOCK(wl);
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/Makefile 2014-06-26 10:42:08.000000000 +0000
|
||||
+++ b/Makefile 2014-07-17 22:44:01.662297228 +0000
|
||||
@@ -126,6 +126,8 @@
|
||||
EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include
|
||||
#EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR
|
||||
|
||||
+EXTRA_CFLAGS += -Wno-date-time
|
||||
+
|
||||
EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
|
||||
|
||||
KBASE ?= /lib/modules/`uname -r`
|
||||
@@ -1,26 +0,0 @@
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:29.899350026 +0100
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:06.732682365 +0100
|
||||
@@ -1452,7 +1452,11 @@
|
||||
WL_DBG(("Could not get rate (%d)\n", err));
|
||||
} else {
|
||||
rate = dtoh32(rate);
|
||||
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
|
||||
+ sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE);
|
||||
+ #else
|
||||
sinfo->filled |= STATION_INFO_TX_BITRATE;
|
||||
+ #endif
|
||||
sinfo->txrate.legacy = rate * 5;
|
||||
WL_DBG(("Rate %d Mbps\n", (rate / 2)));
|
||||
}
|
||||
@@ -1465,7 +1469,11 @@
|
||||
return err;
|
||||
}
|
||||
rssi = dtoh32(scb_val.val);
|
||||
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0)
|
||||
+ sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL);
|
||||
+ #else
|
||||
sinfo->filled |= STATION_INFO_SIGNAL;
|
||||
+ #endif
|
||||
sinfo->signal = rssi;
|
||||
WL_DBG(("RSSI %d dBm\n", rssi));
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-06-26 12:42:08.000000000 +0200
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-10-08 18:47:07.549476082 +0200
|
||||
@@ -2071,7 +2071,22 @@
|
||||
wl_get_assoc_ies(wl);
|
||||
memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
|
||||
wl_update_bss_info(wl);
|
||||
- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
|
||||
+ {
|
||||
+ struct wl_bss_info *bi;
|
||||
+ u16 bss_info_channel;
|
||||
+ struct ieee80211_channel *channel;
|
||||
+ u32 freq;
|
||||
+
|
||||
+ bi = (struct wl_bss_info *)(wl->extra_buf + 4);
|
||||
+ bss_info_channel = bi->ctl_ch ? bi->ctl_ch : CHSPEC_CHANNEL(bi->chanspec);
|
||||
+
|
||||
+ freq = ieee80211_channel_to_frequency(bss_info_channel,
|
||||
+ (bss_info_channel <= CH_MAX_2G_CHANNEL) ?
|
||||
+ IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
|
||||
+
|
||||
+ channel = ieee80211_get_channel(wl_to_wiphy(wl), freq);
|
||||
+ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
|
||||
+ }
|
||||
set_bit(WL_STATUS_CONNECTED, &wl->status);
|
||||
wl->profile->active = true;
|
||||
}
|
||||
--- a/src/wl/sys/wl_linux.c 2014-06-26 12:42:08.000000000 +0200
|
||||
+++ b/src/wl/sys/wl_linux.c 2014-10-08 18:47:19.526693719 +0200
|
||||
@@ -878,7 +878,7 @@
|
||||
static SIMPLE_DEV_PM_OPS(wl_pm_ops, wl_suspend, wl_resume);
|
||||
#endif
|
||||
|
||||
-static struct pci_driver wl_pci_driver = {
|
||||
+static struct pci_driver wl_pci_driver __refdata = {
|
||||
.name = "wl",
|
||||
.probe = wl_pci_probe,
|
||||
.remove = __devexit_p(wl_remove),
|
||||
@@ -1307,7 +1307,12 @@
|
||||
dev->priv = priv_link;
|
||||
#else
|
||||
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0))
|
||||
dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup);
|
||||
+#else
|
||||
+ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN,
|
||||
+ ether_setup);
|
||||
+#endif
|
||||
if (!dev) {
|
||||
WL_ERROR(("wl%d: %s: alloc_netdev failed\n",
|
||||
(wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__));
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:43:11.145810000 +0000
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:44:37.700680960 +0000
|
||||
@@ -2010,7 +2010,7 @@
|
||||
|
||||
notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
|
||||
notify_ielen = le32_to_cpu(bi->ie_length);
|
||||
- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
|
||||
+ cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet),
|
||||
0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
|
||||
(const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
|
||||
@@ -0,0 +1,109 @@
|
||||
Since Linux 4.7, the enum ieee80211_band is no longer used
|
||||
|
||||
This shall cause no problem's since both enums ieee80211_band
|
||||
and nl80211_band were added in the same commit:
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
|
||||
|
||||
This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
|
||||
|
||||
Reference:
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
|
||||
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
|
||||
@@ -236,7 +236,7 @@
|
||||
#endif
|
||||
|
||||
#define CHAN2G(_channel, _freq, _flags) { \
|
||||
- .band = IEEE80211_BAND_2GHZ, \
|
||||
+ .band = NL80211_BAND_2GHZ, \
|
||||
.center_freq = (_freq), \
|
||||
.hw_value = (_channel), \
|
||||
.flags = (_flags), \
|
||||
@@ -245,7 +245,7 @@
|
||||
}
|
||||
|
||||
#define CHAN5G(_channel, _flags) { \
|
||||
- .band = IEEE80211_BAND_5GHZ, \
|
||||
+ .band = NL80211_BAND_5GHZ, \
|
||||
.center_freq = 5000 + (5 * (_channel)), \
|
||||
.hw_value = (_channel), \
|
||||
.flags = (_flags), \
|
||||
@@ -379,7 +379,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_2ghz = {
|
||||
- .band = IEEE80211_BAND_2GHZ,
|
||||
+ .band = NL80211_BAND_2GHZ,
|
||||
.channels = __wl_2ghz_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_2ghz_channels),
|
||||
.bitrates = wl_g_rates,
|
||||
@@ -387,7 +387,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_5ghz_a = {
|
||||
- .band = IEEE80211_BAND_5GHZ,
|
||||
+ .band = NL80211_BAND_5GHZ,
|
||||
.channels = __wl_5ghz_a_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
|
||||
.bitrates = wl_a_rates,
|
||||
@@ -395,7 +395,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_5ghz_n = {
|
||||
- .band = IEEE80211_BAND_5GHZ,
|
||||
+ .band = NL80211_BAND_5GHZ,
|
||||
.channels = __wl_5ghz_n_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
|
||||
.bitrates = wl_a_rates,
|
||||
@@ -1876,8 +1876,8 @@
|
||||
wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
|
||||
#endif
|
||||
wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
|
||||
- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
|
||||
- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
|
||||
+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
|
||||
+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
|
||||
wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
|
||||
wdev->wiphy->cipher_suites = __wl_cipher_suites;
|
||||
wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
|
||||
@@ -2000,7 +2000,7 @@
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
|
||||
freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
|
||||
(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
|
||||
- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
|
||||
+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
|
||||
#else
|
||||
freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
|
||||
#endif
|
||||
@@ -2116,7 +2116,7 @@
|
||||
return err;
|
||||
}
|
||||
chan = wf_chspec_ctlchan(chanspec);
|
||||
- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
|
||||
+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
|
||||
freq = ieee80211_channel_to_frequency(chan, band);
|
||||
channel = ieee80211_get_channel(wiphy, freq);
|
||||
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
|
||||
@@ -2250,10 +2250,10 @@
|
||||
join_params->params.chanspec_list[0] =
|
||||
ieee80211_frequency_to_channel(chan->center_freq);
|
||||
|
||||
- if (chan->band == IEEE80211_BAND_2GHZ) {
|
||||
+ if (chan->band == NL80211_BAND_2GHZ) {
|
||||
chanspec |= WL_CHANSPEC_BAND_2G;
|
||||
}
|
||||
- else if (chan->band == IEEE80211_BAND_5GHZ) {
|
||||
+ else if (chan->band == NL80211_BAND_5GHZ) {
|
||||
chanspec |= WL_CHANSPEC_BAND_5G;
|
||||
}
|
||||
else {
|
||||
@@ -2885,7 +2885,7 @@
|
||||
|
||||
if (phy == 'n' || phy == 'a' || phy == 'v') {
|
||||
wiphy = wl_to_wiphy(wl);
|
||||
- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
|
||||
+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
|
||||
}
|
||||
|
||||
return err;
|
||||
@@ -0,0 +1,52 @@
|
||||
Reference: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=839629
|
||||
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-10-03 10:53:55.588036464 +0200
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-10-03 10:54:11.911695944 +0200
|
||||
@@ -2386,8 +2386,15 @@
|
||||
s32 err = 0;
|
||||
|
||||
if (wl->scan_request) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = true
|
||||
+ };
|
||||
WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
|
||||
- cfg80211_scan_done(wl->scan_request, true);
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
+ cfg80211_scan_done(wl->scan_request, true);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
|
||||
@@ -2488,7 +2495,14 @@
|
||||
|
||||
scan_done_out:
|
||||
if (wl->scan_request) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = false
|
||||
+ };
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
cfg80211_scan_done(wl->scan_request, false);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
rtnl_unlock();
|
||||
@@ -2913,7 +2927,14 @@
|
||||
s32 err = 0;
|
||||
|
||||
if (wl->scan_request) {
|
||||
- cfg80211_scan_done(wl->scan_request, true);
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = true
|
||||
+ };
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
+ cfg80211_scan_done(wl->scan_request, true);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
diff --git a/src/wl/sys/wl_linux.c.orig b/src/wl/sys/wl_linux.c
|
||||
index eb00717..489c9f5 100644
|
||||
--- a/src/wl/sys/wl_linux.c.orig
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -2166,8 +2166,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
|
||||
wlif = WL_DEV_IF(dev);
|
||||
wl = WL_INFO(dev);
|
||||
|
||||
+ skb->prev = NULL;
|
||||
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
|
||||
- skb->prev = NULL;
|
||||
|
||||
TXQ_LOCK(wl);
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
--- a/src/wl/sys/wl_linux.c 2013-08-01 09:52:22.000000000 +0300
|
||||
+++ b/src/wl/sys/wl_linux.c 2013-09-27 09:20:11.495023471 +0300
|
||||
@@ -235,7 +235,7 @@
|
||||
#define to_str(s) #s
|
||||
#define quote_str(s) to_str(s)
|
||||
|
||||
-#define BRCM_WLAN_IFNAME eth%d
|
||||
+#define BRCM_WLAN_IFNAME wlan%d
|
||||
|
||||
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -6,39 +5,32 @@
|
||||
<Name>module-broadcom-wl</Name>
|
||||
<Homepage>http://www.broadcom.com/support/802.11/linux_sta.php</Homepage>
|
||||
<Packager>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>freedist</License>
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311, BCM4312, BCM4321, and BCM4322 based hardware</Summary>
|
||||
<Description>This package contains Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311, BCM4312, BCM4321, and BCM4322 based hardware. You must read the LICENSE.txt file in the docs directory before using this software.</Description>
|
||||
<Archive sha1sum="e02beac9cc713011551c483ae5f20f065f5b88c7" type="targz" target="i686">http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz</Archive>
|
||||
<Archive sha1sum="bd55f1fdc6b0a4d0a70dc4ba4bb4169a824e238c" type="targz" target="x86_64">http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz</Archive>
|
||||
<Archive sha1sum="8acbdbb4ab4ab4123d1773b616904798fbef9277" type="targz" target="i686">https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
|
||||
<Archive sha1sum="1f568bb989d175813c5631c6629d9479eae6f3be" type="targz" target="x86_64">https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.4.4">kernel-module-headers</Dependency>
|
||||
<Dependency version="4.9.86">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">patch/linux-40.patch</Patch>
|
||||
<Patch level="1">patch/linux-recent.patch</Patch>
|
||||
<Patch level="1">patch/license.patch</Patch>
|
||||
<Patch level="1">patch/gcc.patch</Patch>
|
||||
<Patch level="1">patch/wlan.patch</Patch>
|
||||
<Patch level="1">patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch</Patch>
|
||||
<Patch>patch/0018-cfg80211_disconnected.patch</Patch>
|
||||
<!--Patch>patch/0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch</Patch-->
|
||||
<Patch level="1">patch/wl_linux.c.patch</Patch>
|
||||
<Patch level="1">patch/linux47.patch</Patch>
|
||||
<Patch level="1">patch/linux48.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-broadcom-wl</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.4.4">kernel</Dependency>
|
||||
<Dependency version="4.9.86">kernel</Dependency>
|
||||
<Dependency release="current">module-broadcom-wl-userspace</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Replaces>
|
||||
<Package>broadcom-wl</Package>
|
||||
</Replaces>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
</Files>
|
||||
@@ -65,6 +57,111 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="16">
|
||||
<Date>2018-03-11</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="15">
|
||||
<Date>2018-03-03</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="14">
|
||||
<Date>2018-01-06</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2017-12-20</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2017-12-04</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2017-11-19</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2017-08-21</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2017-07-04</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2017-02-01</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for kernel 4.9.6.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2017-01-08</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Fix url and add patch.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2016-12-10</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2016-11-02</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2016-08-24</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-08-06</Date>
|
||||
<Version>6.30.223.271</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-05-23</Date>
|
||||
<Version>6.30.223.248</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-07</Date>
|
||||
<Version>6.30.223.248</Version>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -13,16 +12,16 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel modules for VirtualBox guest machines</Summary>
|
||||
<Description>This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems.</Description>
|
||||
<Archive sha1sum="4fee388ca9ce5ab342f11edcc0631a694029665b" type="tarxz">http://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-guest-5.0.12.tar.xz</Archive>
|
||||
<Archive sha1sum="3bde602472d63e01f485caf0574627e9abf5952b" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-guest-5.2.8.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.4.4">kernel-module-headers</Dependency>
|
||||
<Dependency version="4.9.86">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>module-virtualbox-guest</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.4.4">kernel</Dependency>
|
||||
<Dependency version="4.9.86">kernel</Dependency>
|
||||
<Dependency>baselayout</Dependency>
|
||||
<Dependency version="current">module-virtualbox-guest-userspace</Dependency>
|
||||
</RuntimeDependencies>
|
||||
@@ -53,6 +52,167 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="24">
|
||||
<Date>2018-03-15</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="23">
|
||||
<Date>2018-03-11</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="22">
|
||||
<Date>2018-03-03</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="21">
|
||||
<Date>2018-01-06</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="20">
|
||||
<Date>2017-12-20</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="19">
|
||||
<Date>2017-12-04</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="18">
|
||||
<Date>2017-11-25</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="17">
|
||||
<Date>2017-11-19</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="16">
|
||||
<Date>2017-08-21</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="15">
|
||||
<Date>2017-07-04</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="14">
|
||||
<Date>2017-02-01</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2017-01-15</Date>
|
||||
<Version>5.1.12</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2016-12-13</Date>
|
||||
<Version>5.1.10</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2016-12-10</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2016-11-02</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2016-09-26</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2016-08-24</Date>
|
||||
<Version>5.1.4</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2016-08-17</Date>
|
||||
<Version>5.1.4</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2016-08-06</Date>
|
||||
<Version>5.1.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2016-07-22</Date>
|
||||
<Version>5.1.2</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2016-06-17</Date>
|
||||
<Version>5.1.0</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-06-17</Date>
|
||||
<Version>5.1.0b</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>5.0.12</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-07</Date>
|
||||
<Version>5.0.12</Version>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -13,9 +12,9 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>Kernel modules for VirtualBox</Summary>
|
||||
<Description>This package provides the kernel support for VirtualBox.</Description>
|
||||
<Archive sha1sum="19662922a8a696fe0eb37184024712a781d06a73" type="tarxz">http://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-5.0.12.tar.xz</Archive>
|
||||
<Archive sha1sum="51374d6dce1c67c60b5f3c36394638374fc20680" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-5.2.8.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.4.4">kernel-module-headers</Dependency>
|
||||
<Dependency version="4.9.86">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
<!--Patches>
|
||||
<Patch>vbox_linux-4.3.diff</Patch>
|
||||
@@ -25,7 +24,7 @@
|
||||
<Package>
|
||||
<Name>module-virtualbox</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.4.4">kernel</Dependency>
|
||||
<Dependency version="4.9.86">kernel</Dependency>
|
||||
<Dependency version="current">module-virtualbox-userspace</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
@@ -51,6 +50,167 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="24">
|
||||
<Date>2018-03-15</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="23">
|
||||
<Date>2018-03-11</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="22">
|
||||
<Date>2018-03-03</Date>
|
||||
<Version>5.2.8</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="21">
|
||||
<Date>2018-01-06</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="20">
|
||||
<Date>2017-12-20</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="19">
|
||||
<Date>2017-12-04</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="18">
|
||||
<Date>2017-11-25</Date>
|
||||
<Version>5.2.2</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="17">
|
||||
<Date>2017-11-19</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="16">
|
||||
<Date>2017-08-21</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="15">
|
||||
<Date>2017-07-04</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="14">
|
||||
<Date>2017-02-01</Date>
|
||||
<Version>5.1.14</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2017-01-15</Date>
|
||||
<Version>5.1.12</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2016-12-13</Date>
|
||||
<Version>5.1.10</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2016-12-10</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2016-11-02</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2016-09-26</Date>
|
||||
<Version>5.1.6</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2016-08-24</Date>
|
||||
<Version>5.1.4</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2016-08-17</Date>
|
||||
<Version>5.1.4</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2016-08-06</Date>
|
||||
<Version>5.1.2</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2016-07-22</Date>
|
||||
<Version>5.1.2</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2016-06-17</Date>
|
||||
<Version>5.1.0</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ergün Salman</Name>
|
||||
<Email>poyraz76@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-06-17</Date>
|
||||
<Version>5.1.0b</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-04-27</Date>
|
||||
<Version>5.0.12</Version>
|
||||
<Comment>Release Bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-07</Date>
|
||||
<Version>5.0.12</Version>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>module-virtualbox-modules</Name>
|
||||
<Name>module-virtualbox</Name>
|
||||
<Summary xml:lang="tr">VirtualBox için çekirdek modülleri</Summary>
|
||||
<Description xml:lang="tr">Bu paket VirtualBox için çekirdek desteği sunar.</Description>
|
||||
</Source>
|
||||
|
||||
@@ -13,9 +13,6 @@ from pisi.actionsapi import get
|
||||
KDIR = kerneltools.getKernelVersion()
|
||||
|
||||
def build():
|
||||
shelltools.system("patch -p1 < ndiswrapper-1.59.patch")
|
||||
shelltools.system("patch -p1 < kernel-4.2.patch")
|
||||
|
||||
autotools.make("-C driver KVERS_UNAME=%s" % KDIR)
|
||||
|
||||
autotools.make("-C utils")
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
diff -Npur "ndiswrapper-1 .59.orig/driver/loader.c" "ndiswrapper-1 .59/driver/loader.c"
|
||||
--- "ndiswrapper-1 .59.orig/driver/loader.c" 2013-11-28 20:42:35.000000000 +0100
|
||||
+++ "ndiswrapper-1 .59/driver/loader.c" 2015-08-01 18:25:08.302141265 +0200
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <linux/kmod.h>
|
||||
#include <linux/miscdevice.h>
|
||||
#include <asm/uaccess.h>
|
||||
+#include <linux/vmalloc.h>
|
||||
|
||||
/*
|
||||
Network adapter: ClassGuid = {4d36e972-e325-11ce-bfc1-08002be10318}
|
||||
diff -Npur "ndiswrapper-1 .59.orig/driver/ntoskernel.c" "ndiswrapper-1 .59/driver/ntoskernel.c"
|
||||
--- "ndiswrapper-1 .59.orig/driver/ntoskernel.c" 2013-11-28 20:42:36.000000000 +0100
|
||||
+++ "ndiswrapper-1 .59/driver/ntoskernel.c" 2015-08-01 18:24:55.895942032 +0200
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "pnp.h"
|
||||
#include "loader.h"
|
||||
#include "ntoskernel_exports.h"
|
||||
+#include <linux/vmalloc.h>
|
||||
|
||||
/* MDLs describe a range of virtual address with an array of physical
|
||||
* pages right after the header. For different ranges of virtual
|
||||
diff -Npur "ndiswrapper-1 .59.orig/driver/pe_linker.c" "ndiswrapper-1 .59/driver/pe_linker.c"
|
||||
--- "ndiswrapper-1 .59.orig/driver/pe_linker.c" 2013-11-28 20:42:36.000000000 +0100
|
||||
+++ "ndiswrapper-1 .59/driver/pe_linker.c" 2015-08-01 18:28:37.992752176 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
//#define DEBUGLINKER 2
|
||||
|
||||
#include "ntoskernel.h"
|
||||
+#include <linux/vmalloc.h>
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From: Julian Andres Klode <jak@debian.org>
|
||||
Date: Tue, 12 May 2015 17:11:11 +0200
|
||||
Subject: Support kernel 4.0
|
||||
|
||||
---
|
||||
driver/ndis.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/driver/ndis.c b/driver/ndis.c
|
||||
index 9ace34b..fafd2e7 100644
|
||||
--- a/driver/ndis.c
|
||||
+++ b/driver/ndis.c
|
||||
@@ -25,6 +25,10 @@
|
||||
#define MAX_ALLOCATED_NDIS_PACKETS TX_RING_SIZE
|
||||
#define MAX_ALLOCATED_NDIS_BUFFERS TX_RING_SIZE
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
|
||||
+#define strncasecmp strnicmp
|
||||
+#endif
|
||||
+
|
||||
static struct work_struct ndis_work;
|
||||
static struct nt_list ndis_work_list;
|
||||
static spinlock_t ndis_work_list_lock;
|
||||
@@ -438,7 +442,7 @@ static int read_setting(struct nt_list *setting_list, char *keyname, int length,
|
||||
struct wrap_device_setting *setting;
|
||||
mutex_lock(&loader_mutex);
|
||||
nt_list_for_each_entry(setting, setting_list, list) {
|
||||
- if (strnicmp(keyname, setting->name, length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, length) == 0) {
|
||||
TRACE2("setting %s='%s'", keyname, setting->value);
|
||||
mutex_unlock(&loader_mutex);
|
||||
*param = ndis_encode_setting(setting, type);
|
||||
@@ -502,7 +506,7 @@ wstdcall void WIN_FUNC(NdisWriteConfiguration,4)
|
||||
|
||||
mutex_lock(&loader_mutex);
|
||||
nt_list_for_each_entry(setting, &nmb->wnd->wd->settings, list) {
|
||||
- if (strnicmp(keyname, setting->name, ansi.length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, ansi.length) == 0) {
|
||||
mutex_unlock(&loader_mutex);
|
||||
if (ndis_decode_setting(setting, param))
|
||||
*status = NDIS_STATUS_FAILURE;
|
||||
@@ -0,0 +1,100 @@
|
||||
diff -Nuar ndiswrapper-1.60.orig/ChangeLog ndiswrapper-1.60/ChangeLog
|
||||
--- ndiswrapper-1.60.orig/ChangeLog 2016-07-27 19:05:10.594950240 +0300
|
||||
+++ ndiswrapper-1.60/ChangeLog 2016-07-27 19:06:04.678949272 +0300
|
||||
@@ -1,7 +1,3 @@
|
||||
-Version 1.60 2016-05-01
|
||||
-=======================
|
||||
-* Support for Linux kernel up to 4.5
|
||||
-
|
||||
Version 1.59 2013-11-28
|
||||
=======================
|
||||
* Support for Linux kernels from 2.6.13 to 3.12
|
||||
diff -Nuar ndiswrapper-1.60.orig/driver/.gitignore ndiswrapper-1.60/driver/.gitignore
|
||||
--- ndiswrapper-1.60.orig/driver/.gitignore 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ ndiswrapper-1.60/driver/.gitignore 2016-07-27 19:06:04.678949272 +0300
|
||||
@@ -0,0 +1,11 @@
|
||||
+*.ko
|
||||
+*.mod.c
|
||||
+*.o
|
||||
+.*.cmd
|
||||
+*_exports.h
|
||||
+/.tmp_versions/
|
||||
+/Module.markers
|
||||
+/Module.symvers
|
||||
+/modules.order
|
||||
+/ndis_exports.h
|
||||
+/win2lin_stubs.h
|
||||
diff -Nuar ndiswrapper-1.60.orig/driver/loader.h ndiswrapper-1.60/driver/loader.h
|
||||
--- ndiswrapper-1.60.orig/driver/loader.h 2016-07-27 19:05:10.593950240 +0300
|
||||
+++ ndiswrapper-1.60/driver/loader.h 2016-07-27 19:06:09.795949180 +0300
|
||||
@@ -16,10 +16,6 @@
|
||||
#ifndef _LOADER_H_
|
||||
#define _LOADER_H_
|
||||
|
||||
-#if LINUX_VERSION_CODE > KERNEL_VERSION(4,0,0)
|
||||
-#include <linux/vmalloc.h>
|
||||
-#endif
|
||||
-
|
||||
#include "ndiswrapper.h"
|
||||
|
||||
#ifndef __KERNEL__
|
||||
diff -Nuar ndiswrapper-1.60.orig/driver/ntoskernel.h ndiswrapper-1.60/driver/ntoskernel.h
|
||||
--- ndiswrapper-1.60.orig/driver/ntoskernel.h 2016-07-27 19:05:10.593950240 +0300
|
||||
+++ ndiswrapper-1.60/driver/ntoskernel.h 2016-07-27 19:06:13.834949108 +0300
|
||||
@@ -46,6 +46,8 @@
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/workqueue.h>
|
||||
+#include <linux/vmalloc.h>
|
||||
+
|
||||
|
||||
#if !defined(CONFIG_X86) && !defined(CONFIG_X86_64)
|
||||
#error "this module is for x86 or x86_64 architectures only"
|
||||
@@ -358,8 +360,18 @@
|
||||
#define prandom_seed(seed) net_srandom(seed)
|
||||
#endif
|
||||
|
||||
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
|
||||
-#define strncasecmp strnicmp
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
|
||||
+static int strncasecmp(const char *s1, const char *s2, size_t n)
|
||||
+{
|
||||
+ strnicmp(s1, s2, n);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,7,0)
|
||||
+static inline void netif_trans_update(struct net_device *dev)
|
||||
+{
|
||||
+ dev->trans_start = jiffies;
|
||||
+}
|
||||
#endif
|
||||
|
||||
/* TICK is 100ns */
|
||||
diff -Nuar ndiswrapper-1.60.orig/driver/wrapndis.c ndiswrapper-1.60/driver/wrapndis.c
|
||||
--- ndiswrapper-1.60.orig/driver/wrapndis.c 2016-07-27 19:05:10.593950240 +0300
|
||||
+++ ndiswrapper-1.60/driver/wrapndis.c 2016-07-27 19:06:23.295948938 +0300
|
||||
@@ -704,7 +704,7 @@
|
||||
n = wnd->max_tx_packets;
|
||||
n = mp_tx_packets(wnd, wnd->tx_ring_start, n);
|
||||
if (n) {
|
||||
- wnd->net_dev->trans_start = jiffies;
|
||||
+ netif_trans_update(wnd->net_dev);
|
||||
wnd->tx_ring_start =
|
||||
(wnd->tx_ring_start + n) % TX_RING_SIZE;
|
||||
wnd->is_tx_ring_full = 0;
|
||||
diff -Nuar ndiswrapper-1.60.orig/ndiswrapper.spec ndiswrapper-1.60/ndiswrapper.spec
|
||||
--- ndiswrapper-1.60.orig/ndiswrapper.spec 2016-07-27 19:05:10.594950240 +0300
|
||||
+++ ndiswrapper-1.60/ndiswrapper.spec 2016-07-27 19:06:28.472948846 +0300
|
||||
@@ -1,5 +1,5 @@
|
||||
# Define ndiswrapper_version only if it is not already defined.
|
||||
-%{!?ndiswrapper_version: %define ndiswrapper_version 1.60}
|
||||
+%{!?ndiswrapper_version: %define ndiswrapper_version svn}
|
||||
%{!?ndiswrapper_release: %define ndiswrapper_release 1}
|
||||
|
||||
# Define kernel version if not already defined
|
||||
diff -Nuar ndiswrapper-1.60.orig/utils/.gitignore ndiswrapper-1.60/utils/.gitignore
|
||||
--- ndiswrapper-1.60.orig/utils/.gitignore 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ ndiswrapper-1.60/utils/.gitignore 2016-07-27 19:06:29.224948832 +0300
|
||||
@@ -0,0 +1 @@
|
||||
+/loadndisdriver
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -14,23 +13,19 @@
|
||||
<IsA>driver</IsA>
|
||||
<Summary>A network driver wrapper</Summary>
|
||||
<Description>module-ndiswrapper allows you to use Windows XP drivers for WLAN cards without proper Linux drivers.</Description>
|
||||
<Archive sha1sum="75fbbda677fe91ee07a6f6a8e19b1f3e2479540f" type="targz">http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.59.tar.gz</Archive>
|
||||
<Archive sha1sum="213854ca8a83f9b5972db8fa873d346124e4bcb5" type="targz">http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.61.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency version="4.4.4">kernel-module-headers</Dependency>
|
||||
<Dependency version="4.9.86">kernel-module-headers</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch>support_kernel-4.0.patch</Patch>
|
||||
<!-- <Patch>upstream.patch</Patch> -->
|
||||
</Patches>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="ndiswrapper-1.59.patch">ndiswrapper-1.59.patch</AdditionalFile>
|
||||
<AdditionalFile target="kernel-4.2.patch">kernel-4.2.patch</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>ndiswrapper</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency version="4.4.4">kernel</Dependency>
|
||||
<Dependency version="4.9.86">kernel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library" permanent="true">/lib/modules</Path>
|
||||
@@ -46,6 +41,104 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="15">
|
||||
<Date>2018-03-11</Date>
|
||||
<Version>1.61</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="14">
|
||||
<Date>2018-03-03</Date>
|
||||
<Version>1.61</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2018-01-06</Date>
|
||||
<Version>1.61</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="12">
|
||||
<Date>2017-12-20</Date>
|
||||
<Version>1.61</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="11">
|
||||
<Date>2017-12-04</Date>
|
||||
<Version>1.61</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2017-11-19</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2017-08-21</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2017-07-04</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2017-02-07</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvari@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2016-12-10</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2016-11-02</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2016-08-24</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2016-08-06</Date>
|
||||
<Version>1.60</Version>
|
||||
<Comment>Release Bump, rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2016-06-28</Date>
|
||||
<Version>1.59</Version>
|
||||
<Comment>Release Bump, rebuild for new kernel.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2016-03-07</Date>
|
||||
<Version>1.59</Version>
|
||||
|
||||
@@ -34,3 +34,24 @@ def install():
|
||||
|
||||
# Generate some module lists to use within mkinitramfs
|
||||
shelltools.system("./generate-module-list %s/lib/modules/%s" % (get.installDIR(), kerneltools.__getSuffix()))
|
||||
|
||||
#mkinitcpio default config
|
||||
pisitools.dodir("/etc/mkinitcpio.d")
|
||||
shelltools.touch("linux.preset")
|
||||
|
||||
|
||||
shelltools.echo("linux.preset", "# mkinitcpio preset file for the 'linux' package\n" +
|
||||
|
||||
'ALL_config="/etc/mkinitcpio.conf"\n'+
|
||||
|
||||
'ALL_kver="/boot/kernel-%s"\n\n'% get.srcVERSION() +
|
||||
"PRESETS=('default' 'fallback') \n\n" +
|
||||
'#default_config="/etc/mkinitcpio.conf"\n' +
|
||||
'default_image="/boot/initramfs-%s.img"\n'% get.srcVERSION() +
|
||||
|
||||
'#default_options=""\n\n' +
|
||||
'#fallback_config="/etc/mkinitcpio.conf"\n'+
|
||||
'fallback_image="/boot/initramfs-%s-fallback.img"\n'% get.srcVERSION() +
|
||||
'fallback_options="-S autodetect"\n')
|
||||
|
||||
pisitools.insinto("/etc/mkinitcpio.d", "linux.preset")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,86 @@
|
||||
diff -Nuar linux-4.9.orig/fs/aufs/posix_acl.c linux-4.9/fs/aufs/posix_acl.c
|
||||
--- linux-4.9.orig/fs/aufs/posix_acl.c 2017-04-09 09:33:00.155052337 +0300
|
||||
+++ linux-4.9/fs/aufs/posix_acl.c 2017-04-09 09:34:03.760053849 +0300
|
||||
@@ -1,5 +1,18 @@
|
||||
/*
|
||||
* Copyright (C) 2014-2016 Junjiro R. Okajima
|
||||
+ *
|
||||
+ * This program, aufs is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -36,6 +49,8 @@
|
||||
|
||||
/* always topmost only */
|
||||
acl = get_acl(h_inode, type);
|
||||
+ if (!IS_ERR_OR_NULL(acl))
|
||||
+ set_cached_acl(inode, type, acl);
|
||||
|
||||
out:
|
||||
ii_read_unlock(inode);
|
||||
@@ -77,8 +92,10 @@
|
||||
ssz = au_sxattr(dentry, inode, &arg);
|
||||
dput(dentry);
|
||||
err = ssz;
|
||||
- if (ssz >= 0)
|
||||
+ if (ssz >= 0) {
|
||||
err = 0;
|
||||
+ set_cached_acl(inode, type, acl);
|
||||
+ }
|
||||
|
||||
out:
|
||||
return err;
|
||||
diff -Nuar linux-4.9.orig/fs/aufs/xattr.c linux-4.9/fs/aufs/xattr.c
|
||||
--- linux-4.9.orig/fs/aufs/xattr.c 2017-04-09 09:33:00.160052337 +0300
|
||||
+++ linux-4.9/fs/aufs/xattr.c 2017-04-09 09:34:08.757053967 +0300
|
||||
@@ -1,11 +1,26 @@
|
||||
/*
|
||||
* Copyright (C) 2014-2016 Junjiro R. Okajima
|
||||
+ *
|
||||
+ * This program, aufs is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* handling xattr functions
|
||||
*/
|
||||
|
||||
+#include <linux/fs.h>
|
||||
+#include <linux/posix_acl_xattr.h>
|
||||
#include <linux/xattr.h>
|
||||
#include "aufs.h"
|
||||
|
||||
@@ -309,7 +324,11 @@
|
||||
};
|
||||
|
||||
static const struct xattr_handler *au_xattr_handlers[] = {
|
||||
- &au_xattr_handler,
|
||||
+#ifdef CONFIG_FS_POSIX_ACL
|
||||
+ &posix_acl_access_xattr_handler,
|
||||
+ &posix_acl_default_xattr_handler,
|
||||
+#endif
|
||||
+ &au_xattr_handler, /* must be last */
|
||||
NULL
|
||||
};
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -47,10 +47,10 @@ diff -Nurp linux-4.2.2/arch/mips/Kconfig linux-4.2.2-3rd/arch/mips/Kconfig
|
||||
diff -Nurp linux-4.2.2/arch/powerpc/Kconfig linux-4.2.2-3rd/arch/powerpc/Kconfig
|
||||
--- linux-4.2.2/arch/powerpc/Kconfig 2015-08-30 21:34:09.000000000 +0300
|
||||
+++ linux-4.2.2-3rd/arch/powerpc/Kconfig 2015-09-29 23:02:44.025347276 +0300
|
||||
@@ -1092,3 +1092,5 @@ config PPC_LIB_RHEAP
|
||||
bool
|
||||
|
||||
@@ -1112,3 +1112,5 @@ config PPC_LIB_RHEAP
|
||||
source "arch/powerpc/kvm/Kconfig"
|
||||
|
||||
source "kernel/livepatch/Kconfig"
|
||||
+
|
||||
+source "3rdparty/Kconfig"
|
||||
diff -Nurp linux-4.2.2/arch/sparc/Kconfig linux-4.2.2-3rd/arch/sparc/Kconfig
|
||||
@@ -83,10 +83,10 @@ diff -Nurp linux-4.2.2/Makefile linux-4.2.2-3rd/Makefile
|
||||
net-y := net/
|
||||
libs-y := lib/
|
||||
core-y := usr/
|
||||
diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/Makefile
|
||||
--- linux-4.4.0/scripts/kconfig/Makefile
|
||||
+++ linux-4.4.0-3rd/scripts/kconfig/Makefile
|
||||
@@ -18,26 +18,26 @@ endif
|
||||
diff -Nurp linux-4.9/scripts/kconfig/Makefile linux-4.9-3rd/scripts/kconfig/Makefile
|
||||
--- linux-4.9/scripts/kconfig/Makefile
|
||||
+++ linux-4.9-3rd/scripts/kconfig/Makefile
|
||||
@@ -18,28 +18,28 @@ endif
|
||||
# We need this, in case the user has it in its environment
|
||||
unexport CONFIG_
|
||||
|
||||
@@ -113,6 +113,8 @@ diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/
|
||||
-silentoldconfig: $(obj)/conf
|
||||
+silentoldconfig: $(obj)/conf 3rdparty/Makefile
|
||||
$(Q)mkdir -p include/config include/generated
|
||||
$(Q)test -e include/generated/autoksyms.h || \
|
||||
touch include/generated/autoksyms.h
|
||||
$< $(silent) --$@ $(Kconfig)
|
||||
|
||||
-localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
|
||||
@@ -120,7 +122,7 @@ diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/
|
||||
$(Q)mkdir -p include/config include/generated
|
||||
$(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
|
||||
$(Q)if [ -f .config ]; then \
|
||||
@@ -80,7 +80,7 @@ simple-targets := oldconfig allnoconfig
|
||||
@@ -82,7 +82,7 @@ simple-targets := oldconfig allnoconfig
|
||||
alldefconfig randconfig listnewconfig olddefconfig
|
||||
PHONY += $(simple-targets)
|
||||
|
||||
@@ -129,7 +131,7 @@ diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/
|
||||
$< $(silent) --$@ $(Kconfig)
|
||||
|
||||
PHONY += oldnoconfig savedefconfig defconfig
|
||||
@@ -88,12 +88,12 @@ PHONY += oldnoconfig savedefconfig defco
|
||||
@@ -90,12 +90,12 @@ PHONY += oldnoconfig savedefconfig defco
|
||||
# oldnoconfig is an alias of olddefconfig, because people already are dependent
|
||||
# on its behavior (sets new symbols to their default value but not 'n') with the
|
||||
# counter-intuitive name.
|
||||
@@ -144,9 +146,9 @@ diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/
|
||||
+defconfig: $(obj)/conf 3rdparty/Makefile
|
||||
ifeq ($(KBUILD_DEFCONFIG),)
|
||||
$< $(silent) --defconfig $(Kconfig)
|
||||
else ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
|
||||
@@ -104,26 +104,26 @@ else
|
||||
$(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG)
|
||||
else
|
||||
@@ -108,26 +108,26 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
-%_defconfig: $(obj)/conf
|
||||
@@ -173,11 +175,11 @@ diff -Nurp linux-4.4.0/scripts/kconfig/Makefile linux-4.4.0-3rd/scripts/kconfig/
|
||||
|
||||
PHONY += tinyconfig
|
||||
-tinyconfig:
|
||||
+tinyconfig: 3rdparty/Makefile
|
||||
+tinyconfig:
|
||||
$(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
|
||||
|
||||
# Help text used by make help
|
||||
@@ -186,6 +186,9 @@ gconf-objs := gconf.o zconf.tab.o
|
||||
@@ -190,6 +190,9 @@ gconf-objs := gconf.o zconf.tab.o
|
||||
|
||||
hostprogs-y := conf nconf mconf kxgettext qconf gconf
|
||||
|
||||
|
||||
+128
-117
@@ -1,6 +1,6 @@
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/crt.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/crt.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/crt.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/crt.c 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/crt.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/crt.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/crt.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/crt.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,589 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -471,7 +471,7 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/crt.c linux-3.12.2-ndiswrapper-1.59
|
||||
+noregparm void WIN_FUNC(_win_srand,1)
|
||||
+ (UINT seed)
|
||||
+{
|
||||
+ net_srandom(seed);
|
||||
+ prandom_seed(seed);
|
||||
+}
|
||||
+
|
||||
+noregparm int WIN_FUNC(rand,0)
|
||||
@@ -591,9 +591,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/crt.c linux-3.12.2-ndiswrapper-1.59
|
||||
+ printk(KERN_DEBUG "%s: %p: %s\n", ctx, from, buf);
|
||||
+ kfree(buf);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/divdi3.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/divdi3.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/divdi3.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/divdi3.c 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/divdi3.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/divdi3.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/divdi3.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/divdi3.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,329 @@
|
||||
+/* 64-bit multiplication and division
|
||||
+ Copyright (C) 1989, 1992-1999, 2000, 2001, 2002, 2003
|
||||
@@ -924,9 +924,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/divdi3.c linux-3.12.2-ndiswrapper-1
|
||||
+ __udivmoddi4 (u, v, &w);
|
||||
+ return w;
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/hal.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/hal.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/hal.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/hal.c 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/hal.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/hal.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/hal.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/hal.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,157 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -1085,9 +1085,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/hal.c linux-3.12.2-ndiswrapper-1.59
|
||||
+#endif
|
||||
+ nt_spin_unlock(lock);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/iw_ndis.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/iw_ndis.c 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/iw_ndis.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/iw_ndis.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/iw_ndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/iw_ndis.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,2001 @@
|
||||
+ /*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -3090,9 +3090,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.c linux-3.12.2-ndiswrapper-
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/iw_ndis.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/iw_ndis.h 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/iw_ndis.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/iw_ndis.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/iw_ndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/iw_ndis.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,194 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -3288,9 +3288,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/iw_ndis.h linux-3.12.2-ndiswrapper-
|
||||
+ KEY_MGMT_802_1X_NO_WPA, KEY_MGMT_WPA_NONE };
|
||||
+
|
||||
+#endif // IW_NDIS_H
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/lin2win.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/lin2win.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/lin2win.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/lin2win.h 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/lin2win.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/lin2win.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/lin2win.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/lin2win.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,111 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Giridhar Pemmasani
|
||||
@@ -3403,9 +3403,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/lin2win.h linux-3.12.2-ndiswrapper-
|
||||
+})
|
||||
+
|
||||
+#endif // CONFIG_X86_64
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/lin2win.S linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/lin2win.S
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/lin2win.S 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/lin2win.S 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/lin2win.S linux-4.6-rc6-ndis/3rdparty/ndiswrapper/lin2win.S
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/lin2win.S 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/lin2win.S 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,138 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2011 Pavel Roskin
|
||||
@@ -3545,9 +3545,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/lin2win.S linux-3.12.2-ndiswrapper-
|
||||
+lin2win lin2win4, 4
|
||||
+lin2win lin2win5, 5
|
||||
+lin2win lin2win6, 6
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/loader.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/loader.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/loader.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/loader.c 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/loader.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/loader.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/loader.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/loader.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,967 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -4516,10 +4516,10 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/loader.c linux-3.12.2-ndiswrapper-1
|
||||
+ mutex_unlock(&loader_mutex);
|
||||
+ EXIT1(return);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/loader.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/loader.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/loader.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/loader.h 2013-11-28 21:42:10.000000000 +0200
|
||||
@@ -0,0 +1,108 @@
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/loader.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/loader.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/loader.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/loader.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,112 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
+ *
|
||||
@@ -4538,6 +4538,10 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/loader.h linux-3.12.2-ndiswrapper-1
|
||||
+#ifndef _LOADER_H_
|
||||
+#define _LOADER_H_
|
||||
+
|
||||
+#if LINUX_VERSION_CODE > KERNEL_VERSION(4,0,0)
|
||||
+#include <linux/vmalloc.h>
|
||||
+#endif
|
||||
+
|
||||
+#include "ndiswrapper.h"
|
||||
+
|
||||
+#ifndef __KERNEL__
|
||||
@@ -4628,9 +4632,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/loader.h linux-3.12.2-ndiswrapper-1
|
||||
+#endif
|
||||
+
|
||||
+#endif /* LOADER_H */
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/longlong.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/longlong.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/longlong.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/longlong.h 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/longlong.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/longlong.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/longlong.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/longlong.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1333 @@
|
||||
+/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
|
||||
+ Copyright (C) 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000
|
||||
@@ -5965,9 +5969,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/longlong.h linux-3.12.2-ndiswrapper
|
||||
+#ifndef UDIV_NEEDS_NORMALIZATION
|
||||
+#define UDIV_NEEDS_NORMALIZATION 0
|
||||
+#endif
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/Makefile linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/Makefile
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/Makefile 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/Makefile 2013-11-28 21:42:10.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/Makefile linux-4.6-rc6-ndis/3rdparty/ndiswrapper/Makefile
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/Makefile 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/Makefile 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,213 @@
|
||||
+# Name of the module
|
||||
+MODNAME = ndiswrapper
|
||||
@@ -6182,9 +6186,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/Makefile linux-3.12.2-ndiswrapper-1
|
||||
+ done
|
||||
+
|
||||
+.PHONY: all modules clean install config_check dist
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/mkexport.sh linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/mkexport.sh
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/mkexport.sh 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/mkexport.sh 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/mkexport.sh linux-4.6-rc6-ndis/3rdparty/ndiswrapper/mkexport.sh
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/mkexport.sh 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/mkexport.sh 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,42 @@
|
||||
+#! /bin/sh
|
||||
+
|
||||
@@ -6228,9 +6232,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/mkexport.sh linux-3.12.2-ndiswrappe
|
||||
+
|
||||
+echo " {NULL, NULL}"
|
||||
+echo "};"
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/mkstubs.sh linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/mkstubs.sh
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/mkstubs.sh 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/mkstubs.sh 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/mkstubs.sh linux-4.6-rc6-ndis/3rdparty/ndiswrapper/mkstubs.sh
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/mkstubs.sh 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/mkstubs.sh 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,12 @@
|
||||
+#! /bin/sh
|
||||
+
|
||||
@@ -6244,9 +6248,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/mkstubs.sh linux-3.12.2-ndiswrapper
|
||||
+ win2lin(\1, \2)/p' \
|
||||
+ $file | sed -e 's/[ \t ]\+//' | sort -u; \
|
||||
+done
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndis.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndis.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ndis.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndis.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndis.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,3025 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -6688,7 +6692,7 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.c linux-3.12.2-ndiswrapper-1.5
|
||||
+ struct wrap_device_setting *setting;
|
||||
+ mutex_lock(&loader_mutex);
|
||||
+ nt_list_for_each_entry(setting, setting_list, list) {
|
||||
+ if (strnicmp(keyname, setting->name, length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, length) == 0) {
|
||||
+ TRACE2("setting %s='%s'", keyname, setting->value);
|
||||
+ mutex_unlock(&loader_mutex);
|
||||
+ *param = ndis_encode_setting(setting, type);
|
||||
@@ -6752,7 +6756,7 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.c linux-3.12.2-ndiswrapper-1.5
|
||||
+
|
||||
+ mutex_lock(&loader_mutex);
|
||||
+ nt_list_for_each_entry(setting, &nmb->wnd->wd->settings, list) {
|
||||
+ if (strnicmp(keyname, setting->name, ansi.length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, ansi.length) == 0) {
|
||||
+ mutex_unlock(&loader_mutex);
|
||||
+ if (ndis_decode_setting(setting, param))
|
||||
+ *status = NDIS_STATUS_FAILURE;
|
||||
@@ -9273,9 +9277,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.c linux-3.12.2-ndiswrapper-1.5
|
||||
+ destroy_workqueue(ndis_wq);
|
||||
+ EXIT1(return);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndis.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndis.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ndis.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndis.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndis.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1309 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -10586,9 +10590,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndis.h linux-3.12.2-ndiswrapper-1.5
|
||||
+}
|
||||
+
|
||||
+#endif /* NDIS_H */
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndiswrapper.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndiswrapper.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ndiswrapper.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ndiswrapper.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ndiswrapper.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndiswrapper.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ndiswrapper.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ndiswrapper.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,219 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -10608,7 +10612,7 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndiswrapper.h linux-3.12.2-ndiswrap
|
||||
+#ifndef _NDISWRAPPER_H_
|
||||
+#define _NDISWRAPPER_H_
|
||||
+
|
||||
+#define DRIVER_VERSION "1.59"
|
||||
+#define DRIVER_VERSION "1.60"
|
||||
+#define UTILS_VERSION "1.9"
|
||||
+
|
||||
+#define DRIVER_NAME "ndiswrapper"
|
||||
@@ -10809,9 +10813,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ndiswrapper.h linux-3.12.2-ndiswrap
|
||||
+#endif // __KERNEL__
|
||||
+
|
||||
+#endif // NDISWRAPPER_H
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,2677 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -13490,10 +13494,10 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.c linux-3.12.2-ndiswrapp
|
||||
+
|
||||
+ EXIT2(return);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel.h 2013-11-28 21:42:11.000000000 +0200
|
||||
@@ -0,0 +1,1083 @@
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1090 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
+ *
|
||||
@@ -13843,13 +13847,21 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.h linux-3.12.2-ndiswrapp
|
||||
+#define netdev_notifier_info_to_dev(x) ((struct net_device *)(x))
|
||||
+#endif
|
||||
+
|
||||
+#ifdef INIT_COMPLETION
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0)
|
||||
+static inline void reinit_completion(struct completion *x)
|
||||
+{
|
||||
+ INIT_COMPLETION(*x);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
|
||||
+#define prandom_seed(seed) net_srandom(seed)
|
||||
+#endif
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,0,0)
|
||||
+#define strncasecmp strnicmp
|
||||
+#endif
|
||||
+
|
||||
+/* TICK is 100ns */
|
||||
+#define TICKSPERSEC 10000000
|
||||
+#define TICKSPERMSEC 10000
|
||||
@@ -14293,9 +14305,8 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.h linux-3.12.2-ndiswrapp
|
||||
+#define nt_spin_unlock_irqrestore(lock, flags) \
|
||||
+do { \
|
||||
+ nt_spin_unlock(lock); \
|
||||
+ preempt_enable_no_resched(); \
|
||||
+ preempt_enable(); \
|
||||
+ local_irq_restore(flags); \
|
||||
+ preempt_check_resched(); \
|
||||
+} while (0)
|
||||
+
|
||||
+static inline ULONG SPAN_PAGES(void *ptr, SIZE_T length)
|
||||
@@ -14577,9 +14588,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel.h linux-3.12.2-ndiswrapp
|
||||
+#endif
|
||||
+
|
||||
+#endif // _NTOSKERNEL_H_
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel_io.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel_io.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/ntoskernel_io.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/ntoskernel_io.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel_io.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel_io.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/ntoskernel_io.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/ntoskernel_io.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1161 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -15742,9 +15753,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/ntoskernel_io.c linux-3.12.2-ndiswr
|
||||
+ IOTRACE("LowLimit: 0x%lx, HighLimit: 0x%lx", *LowLimit, *HighLimit);
|
||||
+ IOEXIT(return);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pe_linker.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pe_linker.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/pe_linker.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pe_linker.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/pe_linker.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pe_linker.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/pe_linker.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pe_linker.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,600 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -16346,9 +16357,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pe_linker.c linux-3.12.2-ndiswrappe
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pe_linker.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pe_linker.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/pe_linker.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pe_linker.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/pe_linker.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pe_linker.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/pe_linker.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pe_linker.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,992 @@
|
||||
+/*
|
||||
+ * This file is an excerpt of winnt.h from WINE, which bears the
|
||||
@@ -17342,9 +17353,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pe_linker.h linux-3.12.2-ndiswrappe
|
||||
+ WORD Length;
|
||||
+ CHAR NameString[ 1 ];
|
||||
+} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING;
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pnp.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pnp.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/pnp.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pnp.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/pnp.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pnp.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/pnp.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pnp.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,697 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005 Giridhar Pemmasani
|
||||
@@ -18043,9 +18054,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pnp.c linux-3.12.2-ndiswrapper-1.59
|
||||
+}
|
||||
+
|
||||
+#endif // USB
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pnp.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pnp.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/pnp.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/pnp.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/pnp.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pnp.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/pnp.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/pnp.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,36 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005 Giridhar Pemmasani
|
||||
@@ -18083,9 +18094,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/pnp.h linux-3.12.2-ndiswrapper-1.59
|
||||
+int wrap_pnp_resume_usb_device(struct usb_interface *intf);
|
||||
+
|
||||
+#endif
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/proc.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/proc.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/proc.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/proc.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/proc.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/proc.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/proc.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/proc.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,588 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -18675,9 +18686,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/proc.c linux-3.12.2-ndiswrapper-1.5
|
||||
+ remove_proc_entry("debug", wrap_procfs_entry);
|
||||
+ proc_remove(wrap_procfs_entry);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/rtl.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/rtl.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/rtl.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/rtl.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/rtl.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/rtl.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/rtl.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/rtl.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,715 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -19394,9 +19405,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/rtl.c linux-3.12.2-ndiswrapper-1.59
|
||||
+ TRACE1("version: %d", version);
|
||||
+ return TRUE;
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/usb.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/usb.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/usb.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/usb.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/usb.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/usb.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/usb.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/usb.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1496 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2004 Jan Kiszka
|
||||
@@ -20894,9 +20905,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/usb.c linux-3.12.2-ndiswrapper-1.59
|
||||
+ kill_all_urbs(wd, 0);
|
||||
+ USBEXIT(return);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/usb.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/usb.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/usb.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/usb.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/usb.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/usb.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/usb.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/usb.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,360 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2004 Jan Kiszka
|
||||
@@ -21258,9 +21269,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/usb.h linux-3.12.2-ndiswrapper-1.59
|
||||
+ struct io_stack_location *irp_sl);
|
||||
+
|
||||
+#endif /* USB_H */
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/win2lin_stubs.S linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/win2lin_stubs.S
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/win2lin_stubs.S 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/win2lin_stubs.S 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/win2lin_stubs.S linux-4.6-rc6-ndis/3rdparty/ndiswrapper/win2lin_stubs.S
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/win2lin_stubs.S 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/win2lin_stubs.S 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,253 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2005 Karl Vogel, Giridhar Pemmasani
|
||||
@@ -21515,9 +21526,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/win2lin_stubs.S linux-3.12.2-ndiswr
|
||||
+#include "win2lin_stubs.h"
|
||||
+
|
||||
+#endif /* CONFIG_X86_64 */
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/winnt_types.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/winnt_types.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/winnt_types.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/winnt_types.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/winnt_types.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/winnt_types.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/winnt_types.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/winnt_types.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,1701 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -23220,9 +23231,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/winnt_types.h linux-3.12.2-ndiswrap
|
||||
+
|
||||
+
|
||||
+#endif /* WINNT_TYPES_H */
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/workqueue.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/workqueue.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/workqueue.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/workqueue.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/workqueue.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/workqueue.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/workqueue.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/workqueue.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,279 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Giridhar Pemmasani
|
||||
@@ -23503,9 +23514,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/workqueue.c linux-3.12.2-ndiswrappe
|
||||
+ wrap_destroy_wq_on(workq, i);
|
||||
+ kfree(workq);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapmem.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapmem.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapmem.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapmem.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapmem.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapmem.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapmem.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapmem.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,366 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Giridhar Pemmasani
|
||||
@@ -23873,9 +23884,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapmem.c linux-3.12.2-ndiswrapper-
|
||||
+#endif
|
||||
+ return;
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapmem.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapmem.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapmem.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapmem.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapmem.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapmem.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapmem.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapmem.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,97 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Giridhar Pemmasani
|
||||
@@ -23974,9 +23985,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapmem.h linux-3.12.2-ndiswrapper-
|
||||
+#endif // ALLOC_DEBUG
|
||||
+
|
||||
+#endif
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapndis.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapndis.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapndis.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapndis.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapndis.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapndis.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapndis.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,2186 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -26164,9 +26175,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapndis.c linux-3.12.2-ndiswrapper
|
||||
+ if (wrapndis_wq)
|
||||
+ destroy_workqueue(wrapndis_wq);
|
||||
+}
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapndis.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapndis.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapndis.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapndis.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapndis.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapndis.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapndis.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,86 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -26254,9 +26265,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapndis.h linux-3.12.2-ndiswrapper
|
||||
+struct iw_statistics *get_iw_stats(struct net_device *dev);
|
||||
+
|
||||
+#endif
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapper.c linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapper.c
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapper.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapper.c 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapper.c linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapper.c
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapper.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapper.c 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,111 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -26369,9 +26380,9 @@ diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapper.c linux-3.12.2-ndiswrapper-
|
||||
+
|
||||
+module_init(wrapper_init);
|
||||
+module_exit(wrapper_exit);
|
||||
diff -Nurp linux-3.12.2/3rdparty/ndiswrapper/wrapper.h linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapper.h
|
||||
--- linux-3.12.2/3rdparty/ndiswrapper/wrapper.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-3.12.2-ndiswrapper-1.59/3rdparty/ndiswrapper/wrapper.h 2013-11-28 21:42:11.000000000 +0200
|
||||
diff -Nurp linux-4.6-rc6/3rdparty/ndiswrapper/wrapper.h linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapper.h
|
||||
--- linux-4.6-rc6/3rdparty/ndiswrapper/wrapper.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-4.6-rc6-ndis/3rdparty/ndiswrapper/wrapper.h 2016-05-01 18:25:43.000000000 +0300
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2003-2005 Pontus Fuchs, Giridhar Pemmasani
|
||||
@@ -1,32 +0,0 @@
|
||||
|
||||
Adapt for strnicmp has been replaced by strncasecmp,
|
||||
and removed upstream in v4.0-rc1~98:
|
||||
|
||||
From af3cd13501eb04ca61d017ff4406f1cbffafdc04 Mon Sep 17 00:00:00 2001
|
||||
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
|
||||
Date: Thu, 12 Feb 2015 15:02:15 -0800
|
||||
Subject: lib/string.c: remove strnicmp()
|
||||
|
||||
|
||||
Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
|
||||
--- linux/3rdparty/ndiswrapper/ndis.c.orig
|
||||
+++ linux/3rdparty/ndiswrapper/ndis.c
|
||||
@@ -438,7 +438,7 @@ static int read_setting(struct nt_list *
|
||||
struct wrap_device_setting *setting;
|
||||
mutex_lock(&loader_mutex);
|
||||
nt_list_for_each_entry(setting, setting_list, list) {
|
||||
- if (strnicmp(keyname, setting->name, length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, length) == 0) {
|
||||
TRACE2("setting %s='%s'", keyname, setting->value);
|
||||
mutex_unlock(&loader_mutex);
|
||||
*param = ndis_encode_setting(setting, type);
|
||||
@@ -502,7 +502,7 @@ wstdcall void WIN_FUNC(NdisWriteConfigur
|
||||
|
||||
mutex_lock(&loader_mutex);
|
||||
nt_list_for_each_entry(setting, &nmb->wnd->wd->settings, list) {
|
||||
- if (strnicmp(keyname, setting->name, ansi.length) == 0) {
|
||||
+ if (strncasecmp(keyname, setting->name, ansi.length) == 0) {
|
||||
mutex_unlock(&loader_mutex);
|
||||
if (ndis_decode_setting(setting, param))
|
||||
*status = NDIS_STATUS_FAILURE;
|
||||
@@ -1,30 +0,0 @@
|
||||
--- linux/3rdparty/ndiswrapper/loader.c.orig 2015-09-30 00:51:13.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/loader.c 2015-09-30 01:27:16.209213900 +0300
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/kmod.h>
|
||||
#include <linux/miscdevice.h>
|
||||
+#include <linux/vmalloc.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
/*
|
||||
--- linux/3rdparty/ndiswrapper/ntoskernel.c.orig 2015-09-30 00:51:13.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/ntoskernel.c 2015-09-30 01:29:08.011792825 +0300
|
||||
@@ -13,6 +13,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include <linux/vmalloc.h>
|
||||
#include "ntoskernel.h"
|
||||
#include "ndis.h"
|
||||
#include "usb.h"
|
||||
--- linux/3rdparty/ndiswrapper/pe_linker.c.orig 2015-09-30 00:51:13.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/pe_linker.c 2015-09-30 01:30:49.965320953 +0300
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#else
|
||||
|
||||
+#include <linux/vmalloc.h>
|
||||
#include <linux/types.h>
|
||||
#include <asm/errno.h>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
Add supprto for 4.7 series kernels.
|
||||
|
||||
Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
|
||||
diff -urp linux/3rdparty/ndiswrapper.orig/wrapndis.c linux/3rdparty/ndiswrapper/wrapndis.c
|
||||
--- linux/3rdparty/ndiswrapper.orig/wrapndis.c 2016-07-04 20:00:13.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/wrapndis.c 2016-07-04 20:23:29.454819702 +0300
|
||||
@@ -704,7 +704,11 @@ static void tx_worker(struct work_struct
|
||||
n = wnd->max_tx_packets;
|
||||
n = mp_tx_packets(wnd, wnd->tx_ring_start, n);
|
||||
if (n) {
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
|
||||
wnd->net_dev->trans_start = jiffies;
|
||||
+#else
|
||||
+ netif_trans_update(wnd->net_dev);
|
||||
+#endif
|
||||
wnd->tx_ring_start =
|
||||
(wnd->tx_ring_start + n) % TX_RING_SIZE;
|
||||
wnd->is_tx_ring_full = 0;
|
||||
@@ -1,33 +0,0 @@
|
||||
|
||||
Fix build with kernel-3.14
|
||||
|
||||
Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
|
||||
3rdparty/ndiswrapper/crt.c | 2 +-
|
||||
3rdparty/ndiswrapper/ntoskernel.h | 3 +--
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
--- linux/3rdparty/ndiswrapper/crt.c.orig 2014-04-26 19:10:55.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/crt.c 2014-04-26 19:25:27.766116082 +0300
|
||||
@@ -467,7 +467,7 @@ noregparm int WIN_FUNC(_win_memcmp,3)
|
||||
noregparm void WIN_FUNC(_win_srand,1)
|
||||
(UINT seed)
|
||||
{
|
||||
- net_srandom(seed);
|
||||
+ prandom_seed((__force u32) seed);
|
||||
}
|
||||
|
||||
noregparm int WIN_FUNC(rand,0)
|
||||
--- linux/3rdparty/ndiswrapper/ntoskernel.h.orig 2014-04-26 19:42:32.000000000 +0300
|
||||
+++ linux/3rdparty/ndiswrapper/ntoskernel.h 2014-04-26 19:59:13.662522942 +0300
|
||||
@@ -798,9 +798,8 @@ do { \
|
||||
#define nt_spin_unlock_irqrestore(lock, flags) \
|
||||
do { \
|
||||
nt_spin_unlock(lock); \
|
||||
- preempt_enable_no_resched(); \
|
||||
+ preempt_enable(); \
|
||||
local_irq_restore(flags); \
|
||||
- preempt_check_resched(); \
|
||||
} while (0)
|
||||
|
||||
static inline ULONG SPAN_PAGES(void *ptr, SIZE_T length)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+197
@@ -0,0 +1,197 @@
|
||||
From 43034bc4606f1f21186ca6fe27bc0448159d5e00 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Backlund <tmb@mageia.org>
|
||||
Date: Thu, 10 Mar 2016 15:44:13 +0200
|
||||
Subject: [PATCH] Revert "ipmi: Start the timer and thread on internal msgs"
|
||||
|
||||
This reverts commit 0cfec916e86d881e209de4b4ae9959a6271e6660.
|
||||
|
||||
It's reported on ipmi list that Dell R720xd servers will always panic
|
||||
on dell ipmi services load
|
||||
|
||||
Reverting this fixes the issue.
|
||||
|
||||
Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
|
||||
---
|
||||
drivers/char/ipmi/ipmi_si_intf.c | 73 ++++++++++++++++------------------------
|
||||
1 file changed, 29 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
|
||||
index 4cc72fa..f667be8 100644
|
||||
--- a/drivers/char/ipmi/ipmi_si_intf.c
|
||||
+++ b/drivers/char/ipmi/ipmi_si_intf.c
|
||||
@@ -412,42 +412,18 @@ static enum si_sm_result start_next_msg(struct smi_info *smi_info)
|
||||
return rv;
|
||||
}
|
||||
|
||||
-static void smi_mod_timer(struct smi_info *smi_info, unsigned long new_val)
|
||||
-{
|
||||
- smi_info->last_timeout_jiffies = jiffies;
|
||||
- mod_timer(&smi_info->si_timer, new_val);
|
||||
- smi_info->timer_running = true;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
- * Start a new message and (re)start the timer and thread.
|
||||
- */
|
||||
-static void start_new_msg(struct smi_info *smi_info, unsigned char *msg,
|
||||
- unsigned int size)
|
||||
-{
|
||||
- smi_mod_timer(smi_info, jiffies + SI_TIMEOUT_JIFFIES);
|
||||
-
|
||||
- if (smi_info->thread)
|
||||
- wake_up_process(smi_info->thread);
|
||||
-
|
||||
- smi_info->handlers->start_transaction(smi_info->si_sm, msg, size);
|
||||
-}
|
||||
-
|
||||
-static void start_check_enables(struct smi_info *smi_info, bool start_timer)
|
||||
+static void start_check_enables(struct smi_info *smi_info)
|
||||
{
|
||||
unsigned char msg[2];
|
||||
|
||||
msg[0] = (IPMI_NETFN_APP_REQUEST << 2);
|
||||
msg[1] = IPMI_GET_BMC_GLOBAL_ENABLES_CMD;
|
||||
|
||||
- if (start_timer)
|
||||
- start_new_msg(smi_info, msg, 2);
|
||||
- else
|
||||
- smi_info->handlers->start_transaction(smi_info->si_sm, msg, 2);
|
||||
+ smi_info->handlers->start_transaction(smi_info->si_sm, msg, 2);
|
||||
smi_info->si_state = SI_CHECKING_ENABLES;
|
||||
}
|
||||
|
||||
-static void start_clear_flags(struct smi_info *smi_info, bool start_timer)
|
||||
+static void start_clear_flags(struct smi_info *smi_info)
|
||||
{
|
||||
unsigned char msg[3];
|
||||
|
||||
@@ -456,10 +432,7 @@ static void start_clear_flags(struct smi_info *smi_info, bool start_timer)
|
||||
msg[1] = IPMI_CLEAR_MSG_FLAGS_CMD;
|
||||
msg[2] = WDT_PRE_TIMEOUT_INT;
|
||||
|
||||
- if (start_timer)
|
||||
- start_new_msg(smi_info, msg, 3);
|
||||
- else
|
||||
- smi_info->handlers->start_transaction(smi_info->si_sm, msg, 3);
|
||||
+ smi_info->handlers->start_transaction(smi_info->si_sm, msg, 3);
|
||||
smi_info->si_state = SI_CLEARING_FLAGS;
|
||||
}
|
||||
|
||||
@@ -469,8 +442,10 @@ static void start_getting_msg_queue(struct smi_info *smi_info)
|
||||
smi_info->curr_msg->data[1] = IPMI_GET_MSG_CMD;
|
||||
smi_info->curr_msg->data_size = 2;
|
||||
|
||||
- start_new_msg(smi_info, smi_info->curr_msg->data,
|
||||
- smi_info->curr_msg->data_size);
|
||||
+ smi_info->handlers->start_transaction(
|
||||
+ smi_info->si_sm,
|
||||
+ smi_info->curr_msg->data,
|
||||
+ smi_info->curr_msg->data_size);
|
||||
smi_info->si_state = SI_GETTING_MESSAGES;
|
||||
}
|
||||
|
||||
@@ -480,11 +455,20 @@ static void start_getting_events(struct smi_info *smi_info)
|
||||
smi_info->curr_msg->data[1] = IPMI_READ_EVENT_MSG_BUFFER_CMD;
|
||||
smi_info->curr_msg->data_size = 2;
|
||||
|
||||
- start_new_msg(smi_info, smi_info->curr_msg->data,
|
||||
- smi_info->curr_msg->data_size);
|
||||
+ smi_info->handlers->start_transaction(
|
||||
+ smi_info->si_sm,
|
||||
+ smi_info->curr_msg->data,
|
||||
+ smi_info->curr_msg->data_size);
|
||||
smi_info->si_state = SI_GETTING_EVENTS;
|
||||
}
|
||||
|
||||
+static void smi_mod_timer(struct smi_info *smi_info, unsigned long new_val)
|
||||
+{
|
||||
+ smi_info->last_timeout_jiffies = jiffies;
|
||||
+ mod_timer(&smi_info->si_timer, new_val);
|
||||
+ smi_info->timer_running = true;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* When we have a situtaion where we run out of memory and cannot
|
||||
* allocate messages, we just leave them in the BMC and run the system
|
||||
@@ -494,11 +478,11 @@ static void start_getting_events(struct smi_info *smi_info)
|
||||
* Note that we cannot just use disable_irq(), since the interrupt may
|
||||
* be shared.
|
||||
*/
|
||||
-static inline bool disable_si_irq(struct smi_info *smi_info, bool start_timer)
|
||||
+static inline bool disable_si_irq(struct smi_info *smi_info)
|
||||
{
|
||||
if ((smi_info->irq) && (!smi_info->interrupt_disabled)) {
|
||||
smi_info->interrupt_disabled = true;
|
||||
- start_check_enables(smi_info, start_timer);
|
||||
+ start_check_enables(smi_info);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -508,7 +492,7 @@ static inline bool enable_si_irq(struct smi_info *smi_info)
|
||||
{
|
||||
if ((smi_info->irq) && (smi_info->interrupt_disabled)) {
|
||||
smi_info->interrupt_disabled = false;
|
||||
- start_check_enables(smi_info, true);
|
||||
+ start_check_enables(smi_info);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -526,7 +510,7 @@ static struct ipmi_smi_msg *alloc_msg_handle_irq(struct smi_info *smi_info)
|
||||
|
||||
msg = ipmi_alloc_smi_msg();
|
||||
if (!msg) {
|
||||
- if (!disable_si_irq(smi_info, true))
|
||||
+ if (!disable_si_irq(smi_info))
|
||||
smi_info->si_state = SI_NORMAL;
|
||||
} else if (enable_si_irq(smi_info)) {
|
||||
ipmi_free_smi_msg(msg);
|
||||
@@ -542,7 +526,7 @@ static void handle_flags(struct smi_info *smi_info)
|
||||
/* Watchdog pre-timeout */
|
||||
smi_inc_stat(smi_info, watchdog_pretimeouts);
|
||||
|
||||
- start_clear_flags(smi_info, true);
|
||||
+ start_clear_flags(smi_info);
|
||||
smi_info->msg_flags &= ~WDT_PRE_TIMEOUT_INT;
|
||||
if (smi_info->intf)
|
||||
ipmi_smi_watchdog_pretimeout(smi_info->intf);
|
||||
@@ -895,7 +879,8 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info,
|
||||
msg[0] = (IPMI_NETFN_APP_REQUEST << 2);
|
||||
msg[1] = IPMI_GET_MSG_FLAGS_CMD;
|
||||
|
||||
- start_new_msg(smi_info, msg, 2);
|
||||
+ smi_info->handlers->start_transaction(
|
||||
+ smi_info->si_sm, msg, 2);
|
||||
smi_info->si_state = SI_GETTING_FLAGS;
|
||||
goto restart;
|
||||
}
|
||||
@@ -925,7 +910,7 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info,
|
||||
* disable and messages disabled.
|
||||
*/
|
||||
if (smi_info->supports_event_msg_buff || smi_info->irq) {
|
||||
- start_check_enables(smi_info, true);
|
||||
+ start_check_enables(smi_info);
|
||||
} else {
|
||||
smi_info->curr_msg = alloc_msg_handle_irq(smi_info);
|
||||
if (!smi_info->curr_msg)
|
||||
@@ -3635,7 +3620,7 @@ static int try_smi_init(struct smi_info *new_smi)
|
||||
* Start clearing the flags before we enable interrupts or the
|
||||
* timer to avoid racing with the timer.
|
||||
*/
|
||||
- start_clear_flags(new_smi, false);
|
||||
+ start_clear_flags(new_smi);
|
||||
|
||||
/*
|
||||
* IRQ is defined to be set when non-zero. req_events will
|
||||
@@ -3930,7 +3915,7 @@ static void cleanup_one_si(struct smi_info *to_clean)
|
||||
poll(to_clean);
|
||||
schedule_timeout_uninterruptible(1);
|
||||
}
|
||||
- disable_si_irq(to_clean, false);
|
||||
+ disable_si_irq(to_clean);
|
||||
while (to_clean->curr_msg || (to_clean->si_state != SI_NORMAL)) {
|
||||
poll(to_clean);
|
||||
schedule_timeout_uninterruptible(1);
|
||||
--
|
||||
2.7.2
|
||||
|
||||
-70
@@ -1,70 +0,0 @@
|
||||
From ca45663819accf038291dbe2d67ed66dc48d714c Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Backlund <tmb@mageia.org>
|
||||
Date: Sun, 29 Nov 2015 14:44:22 +0200
|
||||
Subject: [PATCH] Revert "x86/mm/mtrr: Remove kernel internal MTRR interfaces:
|
||||
unexport mtrr_add() and mtrr_del()"
|
||||
|
||||
This reverts commit 2baa891e42d84159b693eadd44f6fe1486285bdc.
|
||||
|
||||
It currently breaks nvidia304 driver.
|
||||
|
||||
Signed-of-by: Thomas Backlund <tmb@mageia.org>
|
||||
---
|
||||
Documentation/x86/mtrr.txt | 20 ++++----------------
|
||||
arch/x86/kernel/cpu/mtrr/main.c | 2 ++
|
||||
2 files changed, 6 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/Documentation/x86/mtrr.txt b/Documentation/x86/mtrr.txt
|
||||
index dc3e703..860bc3a 100644
|
||||
--- a/Documentation/x86/mtrr.txt
|
||||
+++ b/Documentation/x86/mtrr.txt
|
||||
@@ -6,22 +6,10 @@ Luis R. Rodriguez <mcgrof@do-not-panic.com> - April 9, 2015
|
||||
===============================================================================
|
||||
Phasing out MTRR use
|
||||
|
||||
-MTRR use is replaced on modern x86 hardware with PAT. Direct MTRR use by
|
||||
-drivers on Linux is now completely phased out, device drivers should use
|
||||
-arch_phys_wc_add() in combination with ioremap_wc() to make MTRR effective on
|
||||
-non-PAT systems while a no-op but equally effective on PAT enabled systems.
|
||||
-
|
||||
-Even if Linux does not use MTRRs directly, some x86 platform firmware may still
|
||||
-set up MTRRs early before booting the OS. They do this as some platform
|
||||
-firmware may still have implemented access to MTRRs which would be controlled
|
||||
-and handled by the platform firmware directly. An example of platform use of
|
||||
-MTRRs is through the use of SMI handlers, one case could be for fan control,
|
||||
-the platform code would need uncachable access to some of its fan control
|
||||
-registers. Such platform access does not need any Operating System MTRR code in
|
||||
-place other than mtrr_type_lookup() to ensure any OS specific mapping requests
|
||||
-are aligned with platform MTRR setup. If MTRRs are only set up by the platform
|
||||
-firmware code though and the OS does not make any specific MTRR mapping
|
||||
-requests mtrr_type_lookup() should always return MTRR_TYPE_INVALID.
|
||||
+MTRR use is replaced on modern x86 hardware with PAT. Over time the only type
|
||||
+of effective MTRR that is expected to be supported will be for write-combining.
|
||||
+As MTRR use is phased out device drivers should use arch_phys_wc_add() to make
|
||||
+MTRR effective on non-PAT systems while a no-op on PAT enabled systems.
|
||||
|
||||
For details refer to Documentation/x86/pat.txt.
|
||||
|
||||
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
|
||||
index f891b47..e7ed0d8 100644
|
||||
--- a/arch/x86/kernel/cpu/mtrr/main.c
|
||||
+++ b/arch/x86/kernel/cpu/mtrr/main.c
|
||||
@@ -448,6 +448,7 @@ int mtrr_add(unsigned long base, unsigned long size, unsigned int type,
|
||||
return mtrr_add_page(base >> PAGE_SHIFT, size >> PAGE_SHIFT, type,
|
||||
increment);
|
||||
}
|
||||
+EXPORT_SYMBOL(mtrr_add);
|
||||
|
||||
/**
|
||||
* mtrr_del_page - delete a memory type region
|
||||
@@ -536,6 +537,7 @@ int mtrr_del(int reg, unsigned long base, unsigned long size)
|
||||
return -EINVAL;
|
||||
return mtrr_del_page(reg, base >> PAGE_SHIFT, size >> PAGE_SHIFT);
|
||||
}
|
||||
+EXPORT_SYMBOL(mtrr_del);
|
||||
|
||||
/**
|
||||
* arch_phys_wc_add - add a WC MTRR and handle errors if PAT is unavailable
|
||||
--
|
||||
2.3.10
|
||||
|
||||
+192
@@ -0,0 +1,192 @@
|
||||
From 760235cd6ca8ae0d7509055d75a0f1d8b3c60668 Mon Sep 17 00:00:00 2001
|
||||
From: Lv Zheng <lv.zheng@intel.com>
|
||||
Date: Wed, 30 Nov 2016 15:21:12 +0800
|
||||
Subject: [PATCH] ACPICA: Events: Fix acpi_ev_initialize_region() return value
|
||||
|
||||
ACPICA commit 543342ab7a676f4eb0c9f100d349388a84dff0e8
|
||||
|
||||
This patch changes acpi_ev_initialize_region(), stop returning AE_NOT_EXIST
|
||||
from it so that, not only in acpi_ds_load2_end_op(), but all places invoking
|
||||
this function won't emit exceptions. The exception can be seen in
|
||||
acpi_ds_initialize_objects() when certain table loading mode is chosen.
|
||||
|
||||
This patch also removes useless acpi_ns_locked from acpi_ev_initialize_region()
|
||||
as this function will always be invoked with interpreter lock held now, and
|
||||
the lock granularity has been tuned to lock around _REG execution, thus it
|
||||
is now handled by acpi_ex_exit_interpreter(). Lv Zheng.
|
||||
|
||||
Link: https://github.com/acpica/acpica/commit/543342ab
|
||||
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
|
||||
Signed-off-by: Bob Moore <robert.moore@intel.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
---
|
||||
drivers/acpi/acpica/acevents.h | 4 +--
|
||||
drivers/acpi/acpica/dsopcode.c | 2 +-
|
||||
drivers/acpi/acpica/dswload2.c | 13 +---------
|
||||
drivers/acpi/acpica/evrgnini.c | 59 +++++++++++++++++-------------------------
|
||||
4 files changed, 27 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/acpica/acevents.h b/drivers/acpi/acpica/acevents.h
|
||||
index 92fa47c..8a0049d 100644
|
||||
--- a/drivers/acpi/acpica/acevents.h
|
||||
+++ b/drivers/acpi/acpica/acevents.h
|
||||
@@ -243,9 +243,7 @@ acpi_ev_default_region_setup(acpi_handle handle,
|
||||
u32 function,
|
||||
void *handler_context, void **region_context);
|
||||
|
||||
-acpi_status
|
||||
-acpi_ev_initialize_region(union acpi_operand_object *region_obj,
|
||||
- u8 acpi_ns_locked);
|
||||
+acpi_status acpi_ev_initialize_region(union acpi_operand_object *region_obj);
|
||||
|
||||
/*
|
||||
* evsci - SCI (System Control Interrupt) handling/dispatch
|
||||
diff --git a/drivers/acpi/acpica/dsopcode.c b/drivers/acpi/acpica/dsopcode.c
|
||||
index 4cc9d98..77fd7c8 100644
|
||||
--- a/drivers/acpi/acpica/dsopcode.c
|
||||
+++ b/drivers/acpi/acpica/dsopcode.c
|
||||
@@ -84,7 +84,7 @@ acpi_status acpi_ds_initialize_region(acpi_handle obj_handle)
|
||||
|
||||
/* Namespace is NOT locked */
|
||||
|
||||
- status = acpi_ev_initialize_region(obj_desc, FALSE);
|
||||
+ status = acpi_ev_initialize_region(obj_desc);
|
||||
return (status);
|
||||
}
|
||||
|
||||
diff --git a/drivers/acpi/acpica/dswload2.c b/drivers/acpi/acpica/dswload2.c
|
||||
index e362182..651f35a 100644
|
||||
--- a/drivers/acpi/acpica/dswload2.c
|
||||
+++ b/drivers/acpi/acpica/dswload2.c
|
||||
@@ -609,18 +609,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
|
||||
|
||||
status =
|
||||
acpi_ev_initialize_region
|
||||
- (acpi_ns_get_attached_object(node), FALSE);
|
||||
-
|
||||
- if (ACPI_FAILURE(status)) {
|
||||
- /*
|
||||
- * If AE_NOT_EXIST is returned, it is not fatal
|
||||
- * because many regions get created before a handler
|
||||
- * is installed for said region.
|
||||
- */
|
||||
- if (AE_NOT_EXIST == status) {
|
||||
- status = AE_OK;
|
||||
- }
|
||||
- }
|
||||
+ (acpi_ns_get_attached_object(node));
|
||||
break;
|
||||
|
||||
case AML_NAME_OP:
|
||||
diff --git a/drivers/acpi/acpica/evrgnini.c b/drivers/acpi/acpica/evrgnini.c
|
||||
index 75ddd16..a909225 100644
|
||||
--- a/drivers/acpi/acpica/evrgnini.c
|
||||
+++ b/drivers/acpi/acpica/evrgnini.c
|
||||
@@ -479,7 +479,6 @@ acpi_ev_default_region_setup(acpi_handle handle,
|
||||
* FUNCTION: acpi_ev_initialize_region
|
||||
*
|
||||
* PARAMETERS: region_obj - Region we are initializing
|
||||
- * acpi_ns_locked - Is namespace locked?
|
||||
*
|
||||
* RETURN: Status
|
||||
*
|
||||
@@ -497,19 +496,28 @@ acpi_ev_default_region_setup(acpi_handle handle,
|
||||
* MUTEX: Interpreter should be unlocked, because we may run the _REG
|
||||
* method for this region.
|
||||
*
|
||||
+ * NOTE: Possible incompliance:
|
||||
+ * There is a behavior conflict in automatic _REG execution:
|
||||
+ * 1. When the interpreter is evaluating a method, we can only
|
||||
+ * automatically run _REG for the following case:
|
||||
+ * operation_region (OPR1, 0x80, 0x1000010, 0x4)
|
||||
+ * 2. When the interpreter is loading a table, we can also
|
||||
+ * automatically run _REG for the following case:
|
||||
+ * operation_region (OPR1, 0x80, 0x1000010, 0x4)
|
||||
+ * Though this may not be compliant to the de-facto standard, the
|
||||
+ * logic is kept in order not to trigger regressions. And keeping
|
||||
+ * this logic should be taken care by the caller of this function.
|
||||
+ *
|
||||
******************************************************************************/
|
||||
|
||||
-acpi_status
|
||||
-acpi_ev_initialize_region(union acpi_operand_object *region_obj,
|
||||
- u8 acpi_ns_locked)
|
||||
+acpi_status acpi_ev_initialize_region(union acpi_operand_object *region_obj)
|
||||
{
|
||||
union acpi_operand_object *handler_obj;
|
||||
union acpi_operand_object *obj_desc;
|
||||
acpi_adr_space_type space_id;
|
||||
struct acpi_namespace_node *node;
|
||||
- acpi_status status;
|
||||
|
||||
- ACPI_FUNCTION_TRACE_U32(ev_initialize_region, acpi_ns_locked);
|
||||
+ ACPI_FUNCTION_TRACE(ev_initialize_region);
|
||||
|
||||
if (!region_obj) {
|
||||
return_ACPI_STATUS(AE_BAD_PARAMETER);
|
||||
@@ -580,39 +588,17 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj,
|
||||
handler_obj, region_obj,
|
||||
obj_desc));
|
||||
|
||||
- status =
|
||||
- acpi_ev_attach_region(handler_obj,
|
||||
- region_obj,
|
||||
- acpi_ns_locked);
|
||||
+ (void)acpi_ev_attach_region(handler_obj,
|
||||
+ region_obj, FALSE);
|
||||
|
||||
/*
|
||||
* Tell all users that this region is usable by
|
||||
* running the _REG method
|
||||
*/
|
||||
- if (acpi_ns_locked) {
|
||||
- status =
|
||||
- acpi_ut_release_mutex
|
||||
- (ACPI_MTX_NAMESPACE);
|
||||
- if (ACPI_FAILURE(status)) {
|
||||
- return_ACPI_STATUS(status);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
acpi_ex_exit_interpreter();
|
||||
- status =
|
||||
- acpi_ev_execute_reg_method(region_obj,
|
||||
- ACPI_REG_CONNECT);
|
||||
+ (void)acpi_ev_execute_reg_method(region_obj,
|
||||
+ ACPI_REG_CONNECT);
|
||||
acpi_ex_enter_interpreter();
|
||||
-
|
||||
- if (acpi_ns_locked) {
|
||||
- status =
|
||||
- acpi_ut_acquire_mutex
|
||||
- (ACPI_MTX_NAMESPACE);
|
||||
- if (ACPI_FAILURE(status)) {
|
||||
- return_ACPI_STATUS(status);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
return_ACPI_STATUS(AE_OK);
|
||||
}
|
||||
}
|
||||
@@ -622,12 +608,15 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj,
|
||||
node = node->parent;
|
||||
}
|
||||
|
||||
- /* If we get here, there is no handler for this region */
|
||||
-
|
||||
+ /*
|
||||
+ * If we get here, there is no handler for this region. This is not
|
||||
+ * fatal because many regions get created before a handler is installed
|
||||
+ * for said region.
|
||||
+ */
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_OPREGION,
|
||||
"No handler for RegionType %s(%X) (RegionObj %p)\n",
|
||||
acpi_ut_get_region_name(space_id), space_id,
|
||||
region_obj));
|
||||
|
||||
- return_ACPI_STATUS(AE_NOT_EXIST);
|
||||
+ return_ACPI_STATUS(AE_OK);
|
||||
}
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 7020bcb82838006e23d058ff07b063b393ed3f10 Mon Sep 17 00:00:00 2001
|
||||
From: Zhang Rui <rui.zhang@intel.com>
|
||||
Date: Tue, 29 Nov 2016 23:19:46 +0100
|
||||
Subject: [PATCH] ACPI: do not warn if _BQC does not exist
|
||||
|
||||
Starting from ACPI spec 3.0, it's only clarified that _BCM control
|
||||
method is required if _BCL is implemented. There is no word
|
||||
saying _BQC is required.
|
||||
|
||||
And in ACPI spec 6.1 B.5.4, for _BQC, it is explicitly stated that
|
||||
"This optional method returns the current brightness level of a
|
||||
built-in display output device. If present, it must be set by
|
||||
the platform for initial brightness."
|
||||
|
||||
Thus remove the obsolete warning message.
|
||||
|
||||
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
---
|
||||
drivers/acpi/scan.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
||||
index 3d1856f..07aa2e6 100644
|
||||
--- a/drivers/acpi/scan.c
|
||||
+++ b/drivers/acpi/scan.c
|
||||
@@ -1119,9 +1119,6 @@ acpi_backlight_cap_match(acpi_handle handle, u32 level, void *context,
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found generic backlight "
|
||||
"support\n"));
|
||||
*cap |= ACPI_VIDEO_BACKLIGHT;
|
||||
- if (!acpi_has_method(handle, "_BQC"))
|
||||
- printk(KERN_WARNING FW_BUG PREFIX "No _BQC method, "
|
||||
- "cannot determine initial brightness\n");
|
||||
/* We have backlight support, no need to scan further */
|
||||
return AE_CTRL_TERMINATE;
|
||||
}
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From 56e74338a535cbcc2f2da08b1ea1a92920194364 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandra Yates <alexandra.yates@linux.intel.com>
|
||||
Date: Tue, 3 Nov 2015 14:14:18 -0800
|
||||
Subject: [PATCH] ahci: add new Intel device IDs
|
||||
|
||||
Adding Intel codename Lewisburg platform device IDs for SATA.
|
||||
|
||||
Signed-off-by: Alexandra Yates <alexandra.yates@linux.intel.com>
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
---
|
||||
drivers/ata/ahci.c | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
|
||||
index ff343c4..ff02bb4 100644
|
||||
--- a/drivers/ata/ahci.c
|
||||
+++ b/drivers/ata/ahci.c
|
||||
@@ -314,6 +314,16 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
||||
{ PCI_VDEVICE(INTEL, 0x1f37), board_ahci_avn }, /* Avoton RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x1f3e), board_ahci_avn }, /* Avoton RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x1f3f), board_ahci_avn }, /* Avoton RAID */
|
||||
+ { PCI_VDEVICE(INTEL, 0xa182), board_ahci }, /* Lewisburg AHCI*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa202), board_ahci }, /* Lewisburg AHCI*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa184), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa204), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa186), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa206), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa18e), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa20e), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Wellsburg RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x2827), board_ahci }, /* Wellsburg RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8d02), board_ahci }, /* Wellsburg AHCI */
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
From 57e5c6d95b2cde884634586d833b02f54ba1c79d Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Tue, 21 Apr 2015 09:42:21 -0700
|
||||
Subject: [PATCH 1/3] dt-bindings: Add root properties for Raspberry Pi 2
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
index c78576b..11d3056 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt
|
||||
@@ -26,6 +26,10 @@ Raspberry Pi Model B+
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
|
||||
|
||||
+Raspberry Pi 2 Model B
|
||||
+Required root node properties:
|
||||
+compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
|
||||
+
|
||||
Raspberry Pi Compute Module
|
||||
Required root node properties:
|
||||
compatible = "raspberrypi,compute-module", "brcm,bcm2835";
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
From c1be3c1fc6178ca48750b4e66f1acb7c22b64997 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Wed, 16 Dec 2015 15:55:14 -0800
|
||||
Subject: [PATCH 2/3] ARM: bcm2835: Add a compat string for bcm2836 machine
|
||||
probe
|
||||
|
||||
Supporting the 2836 requires using the new interrupt controller, which
|
||||
we have support for.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/mach-bcm/board_bcm2835.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c
|
||||
index 0f7b9ea..834d676 100644
|
||||
--- a/arch/arm/mach-bcm/board_bcm2835.c
|
||||
+++ b/arch/arm/mach-bcm/board_bcm2835.c
|
||||
@@ -36,7 +36,12 @@ static void __init bcm2835_init(void)
|
||||
}
|
||||
|
||||
static const char * const bcm2835_compat[] = {
|
||||
+#ifdef CONFIG_ARCH_MULTI_V6
|
||||
"brcm,bcm2835",
|
||||
+#endif
|
||||
+#ifdef CONFIG_ARCH_MULTI_V7
|
||||
+ "brcm,bcm2836",
|
||||
+#endif
|
||||
NULL
|
||||
};
|
||||
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-79
@@ -1,79 +0,0 @@
|
||||
From 5234c34e4cd7695647ccc1cabb50c3e7720dd3fb Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Tue, 24 Feb 2015 15:07:55 +0000
|
||||
Subject: [PATCH 3/3] ARM: bcm2835: Add Kconfig support for bcm2836
|
||||
|
||||
This should be a complete port of bcm2835 functionality to bcm2836
|
||||
(Raspberry Pi 2).
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/Kconfig.debug | 10 ++++++++--
|
||||
arch/arm/mach-bcm/Kconfig | 9 +++++----
|
||||
2 files changed, 13 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
|
||||
index 259c0ca..957b876 100644
|
||||
--- a/arch/arm/Kconfig.debug
|
||||
+++ b/arch/arm/Kconfig.debug
|
||||
@@ -143,7 +143,12 @@ choice
|
||||
|
||||
config DEBUG_BCM2835
|
||||
bool "Kernel low-level debugging on BCM2835 PL011 UART"
|
||||
- depends on ARCH_BCM2835
|
||||
+ depends on ARCH_BCM2835 && ARCH_MULTI_V6
|
||||
+ select DEBUG_UART_PL01X
|
||||
+
|
||||
+ config DEBUG_BCM2836
|
||||
+ bool "Kernel low-level debugging on BCM2836 PL011 UART"
|
||||
+ depends on ARCH_BCM2835 && ARCH_MULTI_V7
|
||||
select DEBUG_UART_PL01X
|
||||
|
||||
config DEBUG_BCM_5301X
|
||||
@@ -1402,6 +1407,7 @@ config DEBUG_UART_PHYS
|
||||
default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
|
||||
default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
|
||||
default 0x20201000 if DEBUG_BCM2835
|
||||
+ default 0x3f201000 if DEBUG_BCM2836
|
||||
default 0x3e000000 if DEBUG_BCM_KONA_UART
|
||||
default 0x4000e400 if DEBUG_LL_UART_EFM32
|
||||
default 0x40081000 if DEBUG_LPC18XX_UART0
|
||||
@@ -1485,7 +1491,7 @@ config DEBUG_UART_VIRT
|
||||
default 0xf0000be0 if ARCH_EBSA110
|
||||
default 0xf0010000 if DEBUG_ASM9260_UART
|
||||
default 0xf01fb000 if DEBUG_NOMADIK_UART
|
||||
- default 0xf0201000 if DEBUG_BCM2835
|
||||
+ default 0xf0201000 if DEBUG_BCM2835 || DEBUG_BCM2836
|
||||
default 0xf1000300 if DEBUG_BCM_5301X
|
||||
default 0xf1002000 if DEBUG_MT8127_UART0
|
||||
default 0xf1006000 if DEBUG_MT6589_UART0
|
||||
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
|
||||
index 8c53c55..3b2acf4 100644
|
||||
--- a/arch/arm/mach-bcm/Kconfig
|
||||
+++ b/arch/arm/mach-bcm/Kconfig
|
||||
@@ -122,17 +122,18 @@ config ARCH_BCM_MOBILE_SMP
|
||||
comment "Other Architectures"
|
||||
|
||||
config ARCH_BCM2835
|
||||
- bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
|
||||
+ bool "Broadcom BCM2835 family" if ARCH_MULTI_V6 || ARCH_MULTI_V7
|
||||
select ARCH_REQUIRE_GPIOLIB
|
||||
select ARM_AMBA
|
||||
- select ARM_ERRATA_411920
|
||||
+ select ARM_ERRATA_411920 if ARCH_MULTI_V6
|
||||
select ARM_TIMER_SP804
|
||||
+ select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
|
||||
select CLKSRC_OF
|
||||
select PINCTRL
|
||||
select PINCTRL_BCM2835
|
||||
help
|
||||
- This enables support for the Broadcom BCM2835 SoC. This SoC is
|
||||
- used in the Raspberry Pi and Roku 2 devices.
|
||||
+ This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
|
||||
+ This SoC is used in the Raspberry Pi and Roku 2 devices.
|
||||
|
||||
config ARCH_BCM_63XX
|
||||
bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-36
@@ -1,36 +0,0 @@
|
||||
From 60d56333e869be6ad6926cdba3ba974512b2183b Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Tue, 1 Dec 2015 16:49:12 -0800
|
||||
Subject: [PATCH 1/3] ARM: bcm2835: Define two new packets from the latest
|
||||
firmware.
|
||||
|
||||
These packets give us direct access to the firmware's power management
|
||||
code, as opposed to GET/SET_POWER_STATE packets that only had a couple
|
||||
of domains implemented.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Reviewed-by: Kevin Hilman <khilman@linaro.org>
|
||||
---
|
||||
include/soc/bcm2835/raspberrypi-firmware.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
index c07d74a..3fb3571 100644
|
||||
--- a/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
+++ b/include/soc/bcm2835/raspberrypi-firmware.h
|
||||
@@ -72,10 +72,12 @@ enum rpi_firmware_property_tag {
|
||||
RPI_FIRMWARE_SET_ENABLE_QPU = 0x00030012,
|
||||
RPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE = 0x00030014,
|
||||
RPI_FIRMWARE_GET_EDID_BLOCK = 0x00030020,
|
||||
+ RPI_FIRMWARE_GET_DOMAIN_STATE = 0x00030030,
|
||||
RPI_FIRMWARE_SET_CLOCK_STATE = 0x00038001,
|
||||
RPI_FIRMWARE_SET_CLOCK_RATE = 0x00038002,
|
||||
RPI_FIRMWARE_SET_VOLTAGE = 0x00038003,
|
||||
RPI_FIRMWARE_SET_TURBO = 0x00038009,
|
||||
+ RPI_FIRMWARE_SET_DOMAIN_STATE = 0x00038030,
|
||||
|
||||
/* Dispmanx TAGS */
|
||||
RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-74
@@ -1,74 +0,0 @@
|
||||
From 4c8b338f9ae38dee9c77bda023babc7f7543f52c Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Aring <alex.aring@gmail.com>
|
||||
Date: Wed, 16 Dec 2015 16:26:48 -0800
|
||||
Subject: [PATCH 2/3] dt-bindings: add rpi power domain driver bindings
|
||||
|
||||
This patch adds devicetree tree bindings for the Raspberry Pi power
|
||||
domain driver.
|
||||
|
||||
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
Reviewed-by: Kevin Hilman <khilman@linaro.org>
|
||||
---
|
||||
.../bindings/soc/bcm/raspberrypi,bcm2835-power.txt | 47 ++++++++++++++++++++++
|
||||
1 file changed, 47 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt b/Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt
|
||||
new file mode 100644
|
||||
index 0000000..30942cf
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/soc/bcm/raspberrypi,bcm2835-power.txt
|
||||
@@ -0,0 +1,47 @@
|
||||
+Raspberry Pi power domain driver
|
||||
+
|
||||
+Required properties:
|
||||
+
|
||||
+- compatible: Should be "raspberrypi,bcm2835-power".
|
||||
+- firmware: Reference to the RPi firmware device node.
|
||||
+- #power-domain-cells: Should be <1>, we providing multiple power domains.
|
||||
+
|
||||
+The valid defines for power domain are:
|
||||
+
|
||||
+ RPI_POWER_DOMAIN_I2C0
|
||||
+ RPI_POWER_DOMAIN_I2C1
|
||||
+ RPI_POWER_DOMAIN_I2C2
|
||||
+ RPI_POWER_DOMAIN_VIDEO_SCALER
|
||||
+ RPI_POWER_DOMAIN_VPU1
|
||||
+ RPI_POWER_DOMAIN_HDMI
|
||||
+ RPI_POWER_DOMAIN_USB
|
||||
+ RPI_POWER_DOMAIN_VEC
|
||||
+ RPI_POWER_DOMAIN_JPEG
|
||||
+ RPI_POWER_DOMAIN_H264
|
||||
+ RPI_POWER_DOMAIN_V3D
|
||||
+ RPI_POWER_DOMAIN_ISP
|
||||
+ RPI_POWER_DOMAIN_UNICAM0
|
||||
+ RPI_POWER_DOMAIN_UNICAM1
|
||||
+ RPI_POWER_DOMAIN_CCP2RX
|
||||
+ RPI_POWER_DOMAIN_CSI2
|
||||
+ RPI_POWER_DOMAIN_CPI
|
||||
+ RPI_POWER_DOMAIN_DSI0
|
||||
+ RPI_POWER_DOMAIN_DSI1
|
||||
+ RPI_POWER_DOMAIN_TRANSPOSER
|
||||
+ RPI_POWER_DOMAIN_CCP2TX
|
||||
+ RPI_POWER_DOMAIN_CDP
|
||||
+ RPI_POWER_DOMAIN_ARM
|
||||
+
|
||||
+Example:
|
||||
+
|
||||
+power: power {
|
||||
+ compatible = "raspberrypi,bcm2835-power";
|
||||
+ firmware = <&firmware>;
|
||||
+ #power-domain-cells = <1>;
|
||||
+};
|
||||
+
|
||||
+Example for using power domain:
|
||||
+
|
||||
+&usb {
|
||||
+ power-domains = <&power RPI_POWER_DOMAIN_USB>;
|
||||
+};
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-379
@@ -1,379 +0,0 @@
|
||||
From a09cd356586d33f64cbe64ee4f5c1a7c4a6abee5 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Aring <alex.aring@gmail.com>
|
||||
Date: Wed, 16 Dec 2015 16:26:47 -0800
|
||||
Subject: [PATCH 3/3] ARM: bcm2835: add rpi power domain driver
|
||||
|
||||
This patch adds support for several power domains on Raspberry Pi,
|
||||
including USB (so it can be enabled even if the bootloader didn't do
|
||||
it), and graphics.
|
||||
|
||||
This patch is the combined work of Eric Anholt (who wrote USB support
|
||||
inside of the Raspberry Pi firmware driver, and wrote the non-USB
|
||||
domain support) and Alexander Aring (who separated the original USB
|
||||
work out from the firmware driver).
|
||||
|
||||
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
Reviewed-by: Kevin Hilman <khilman@linaro.org>
|
||||
---
|
||||
drivers/soc/Kconfig | 1 +
|
||||
drivers/soc/Makefile | 1 +
|
||||
drivers/soc/bcm/Kconfig | 9 +
|
||||
drivers/soc/bcm/Makefile | 1 +
|
||||
drivers/soc/bcm/raspberrypi-power.c | 247 ++++++++++++++++++++++++++
|
||||
include/dt-bindings/power/raspberrypi-power.h | 41 +++++
|
||||
6 files changed, 300 insertions(+)
|
||||
create mode 100644 drivers/soc/bcm/Kconfig
|
||||
create mode 100644 drivers/soc/bcm/Makefile
|
||||
create mode 100644 drivers/soc/bcm/raspberrypi-power.c
|
||||
create mode 100644 include/dt-bindings/power/raspberrypi-power.h
|
||||
|
||||
diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
|
||||
index 4e853ed..8441426 100644
|
||||
--- a/drivers/soc/Kconfig
|
||||
+++ b/drivers/soc/Kconfig
|
||||
@@ -1,5 +1,6 @@
|
||||
menu "SOC (System On Chip) specific Drivers"
|
||||
|
||||
+source "drivers/soc/bcm/Kconfig"
|
||||
source "drivers/soc/brcmstb/Kconfig"
|
||||
source "drivers/soc/mediatek/Kconfig"
|
||||
source "drivers/soc/qcom/Kconfig"
|
||||
diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
|
||||
index f2ba2e9..f3f955c 100644
|
||||
--- a/drivers/soc/Makefile
|
||||
+++ b/drivers/soc/Makefile
|
||||
@@ -2,6 +2,7 @@
|
||||
# Makefile for the Linux Kernel SOC specific device drivers.
|
||||
#
|
||||
|
||||
+obj-y += bcm/
|
||||
obj-$(CONFIG_SOC_BRCMSTB) += brcmstb/
|
||||
obj-$(CONFIG_MACH_DOVE) += dove/
|
||||
obj-$(CONFIG_ARCH_MEDIATEK) += mediatek/
|
||||
diff --git a/drivers/soc/bcm/Kconfig b/drivers/soc/bcm/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000..5ba1827
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/bcm/Kconfig
|
||||
@@ -0,0 +1,9 @@
|
||||
+config RASPBERRYPI_POWER
|
||||
+ bool "Raspberry Pi power domain driver"
|
||||
+ depends on ARCH_BCM2835 || COMPILE_TEST
|
||||
+ depends on RASPBERRYPI_FIRMWARE
|
||||
+ select PM_GENERIC_DOMAINS if PM
|
||||
+ select PM_GENERIC_DOMAINS_OF if PM
|
||||
+ help
|
||||
+ This enables support for the RPi power domains which can be enabled
|
||||
+ or disabled via the RPi firmware.
|
||||
diff --git a/drivers/soc/bcm/Makefile b/drivers/soc/bcm/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..63aa3eb
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/bcm/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-$(CONFIG_RASPBERRYPI_POWER) += raspberrypi-power.o
|
||||
diff --git a/drivers/soc/bcm/raspberrypi-power.c b/drivers/soc/bcm/raspberrypi-power.c
|
||||
new file mode 100644
|
||||
index 0000000..fe96a8b
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/bcm/raspberrypi-power.c
|
||||
@@ -0,0 +1,247 @@
|
||||
+/* (C) 2015 Pengutronix, Alexander Aring <aar@pengutronix.de>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * Authors:
|
||||
+ * Alexander Aring <aar@pengutronix.de>
|
||||
+ * Eric Anholt <eric@anholt.net>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/pm_domain.h>
|
||||
+#include <dt-bindings/power/raspberrypi-power.h>
|
||||
+#include <soc/bcm2835/raspberrypi-firmware.h>
|
||||
+
|
||||
+/*
|
||||
+ * Firmware indices for the old power domains interface. Only a few
|
||||
+ * of them were actually implemented.
|
||||
+ */
|
||||
+#define RPI_OLD_POWER_DOMAIN_USB 3
|
||||
+#define RPI_OLD_POWER_DOMAIN_V3D 10
|
||||
+
|
||||
+struct rpi_power_domain {
|
||||
+ u32 domain;
|
||||
+ bool enabled;
|
||||
+ bool old_interface;
|
||||
+ struct generic_pm_domain base;
|
||||
+ struct rpi_firmware *fw;
|
||||
+};
|
||||
+
|
||||
+struct rpi_power_domains {
|
||||
+ bool has_new_interface;
|
||||
+ struct genpd_onecell_data xlate;
|
||||
+ struct rpi_firmware *fw;
|
||||
+ struct rpi_power_domain domains[RPI_POWER_DOMAIN_COUNT];
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * Packet definition used by RPI_FIRMWARE_SET_POWER_STATE and
|
||||
+ * RPI_FIRMWARE_SET_DOMAIN_STATE
|
||||
+ */
|
||||
+struct rpi_power_domain_packet {
|
||||
+ u32 domain;
|
||||
+ u32 on;
|
||||
+} __packet;
|
||||
+
|
||||
+/*
|
||||
+ * Asks the firmware to enable or disable power on a specific power
|
||||
+ * domain.
|
||||
+ */
|
||||
+static int rpi_firmware_set_power(struct rpi_power_domain *rpi_domain, bool on)
|
||||
+{
|
||||
+ struct rpi_power_domain_packet packet;
|
||||
+
|
||||
+ packet.domain = rpi_domain->domain;
|
||||
+ packet.on = on;
|
||||
+ return rpi_firmware_property(rpi_domain->fw,
|
||||
+ rpi_domain->old_interface ?
|
||||
+ RPI_FIRMWARE_SET_POWER_STATE :
|
||||
+ RPI_FIRMWARE_SET_DOMAIN_STATE,
|
||||
+ &packet, sizeof(packet));
|
||||
+}
|
||||
+
|
||||
+static int rpi_domain_off(struct generic_pm_domain *domain)
|
||||
+{
|
||||
+ struct rpi_power_domain *rpi_domain =
|
||||
+ container_of(domain, struct rpi_power_domain, base);
|
||||
+
|
||||
+ return rpi_firmware_set_power(rpi_domain, false);
|
||||
+}
|
||||
+
|
||||
+static int rpi_domain_on(struct generic_pm_domain *domain)
|
||||
+{
|
||||
+ struct rpi_power_domain *rpi_domain =
|
||||
+ container_of(domain, struct rpi_power_domain, base);
|
||||
+
|
||||
+ return rpi_firmware_set_power(rpi_domain, true);
|
||||
+}
|
||||
+
|
||||
+static void rpi_common_init_power_domain(struct rpi_power_domains *rpi_domains,
|
||||
+ int xlate_index, const char *name)
|
||||
+{
|
||||
+ struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index];
|
||||
+
|
||||
+ dom->fw = rpi_domains->fw;
|
||||
+
|
||||
+ dom->base.name = name;
|
||||
+ dom->base.power_on = rpi_domain_on;
|
||||
+ dom->base.power_off = rpi_domain_off;
|
||||
+
|
||||
+ /*
|
||||
+ * Treat all power domains as off at boot.
|
||||
+ *
|
||||
+ * The firmware itself may be keeping some domains on, but
|
||||
+ * from Linux's perspective all we control is the refcounts
|
||||
+ * that we give to the firmware, and we can't ask the firmware
|
||||
+ * to turn off something that we haven't ourselves turned on.
|
||||
+ */
|
||||
+ pm_genpd_init(&dom->base, NULL, true);
|
||||
+
|
||||
+ rpi_domains->xlate.domains[xlate_index] = &dom->base;
|
||||
+}
|
||||
+
|
||||
+static void rpi_init_power_domain(struct rpi_power_domains *rpi_domains,
|
||||
+ int xlate_index, const char *name)
|
||||
+{
|
||||
+ struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index];
|
||||
+
|
||||
+ if (!rpi_domains->has_new_interface)
|
||||
+ return;
|
||||
+
|
||||
+ /* The DT binding index is the firmware's domain index minus one. */
|
||||
+ dom->domain = xlate_index + 1;
|
||||
+
|
||||
+ rpi_common_init_power_domain(rpi_domains, xlate_index, name);
|
||||
+}
|
||||
+
|
||||
+static void rpi_init_old_power_domain(struct rpi_power_domains *rpi_domains,
|
||||
+ int xlate_index, int domain,
|
||||
+ const char *name)
|
||||
+{
|
||||
+ struct rpi_power_domain *dom = &rpi_domains->domains[xlate_index];
|
||||
+
|
||||
+ dom->old_interface = true;
|
||||
+ dom->domain = domain;
|
||||
+
|
||||
+ rpi_common_init_power_domain(rpi_domains, xlate_index, name);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Detects whether the firmware supports the new power domains interface.
|
||||
+ *
|
||||
+ * The firmware doesn't actually return an error on an unknown tag,
|
||||
+ * and just skips over it, so we do the detection by putting an
|
||||
+ * unexpected value in the return field and checking if it was
|
||||
+ * unchanged.
|
||||
+ */
|
||||
+static bool
|
||||
+rpi_has_new_domain_support(struct rpi_power_domains *rpi_domains)
|
||||
+{
|
||||
+ struct rpi_power_domain_packet packet;
|
||||
+ int ret;
|
||||
+
|
||||
+ packet.domain = RPI_POWER_DOMAIN_ARM;
|
||||
+ packet.on = ~0;
|
||||
+
|
||||
+ ret = rpi_firmware_property(rpi_domains->fw,
|
||||
+ RPI_FIRMWARE_GET_DOMAIN_STATE,
|
||||
+ &packet, sizeof(packet));
|
||||
+
|
||||
+ return ret == 0 && packet.on != ~0;
|
||||
+}
|
||||
+
|
||||
+static int rpi_power_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct device_node *fw_np;
|
||||
+ struct device *dev = &pdev->dev;
|
||||
+ struct rpi_power_domains *rpi_domains;
|
||||
+
|
||||
+ rpi_domains = devm_kzalloc(dev, sizeof(*rpi_domains), GFP_KERNEL);
|
||||
+ if (!rpi_domains)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ rpi_domains->xlate.domains =
|
||||
+ devm_kzalloc(dev, sizeof(*rpi_domains->xlate.domains) *
|
||||
+ RPI_POWER_DOMAIN_COUNT, GFP_KERNEL);
|
||||
+ if (!rpi_domains->xlate.domains)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ rpi_domains->xlate.num_domains = RPI_POWER_DOMAIN_COUNT;
|
||||
+
|
||||
+ fw_np = of_parse_phandle(pdev->dev.of_node, "firmware", 0);
|
||||
+ if (!fw_np) {
|
||||
+ dev_err(&pdev->dev, "no firmware node\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ rpi_domains->fw = rpi_firmware_get(fw_np);
|
||||
+ of_node_put(fw_np);
|
||||
+ if (!rpi_domains->fw)
|
||||
+ return -EPROBE_DEFER;
|
||||
+
|
||||
+ rpi_domains->has_new_interface =
|
||||
+ rpi_has_new_domain_support(rpi_domains);
|
||||
+
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_I2C0, "I2C0");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_I2C1, "I2C1");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_I2C2, "I2C2");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_VIDEO_SCALER,
|
||||
+ "VIDEO_SCALER");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_VPU1, "VPU1");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_HDMI, "HDMI");
|
||||
+
|
||||
+ /*
|
||||
+ * Use the old firmware interface for USB power, so that we
|
||||
+ * can turn it on even if the firmware hasn't been updated.
|
||||
+ */
|
||||
+ rpi_init_old_power_domain(rpi_domains, RPI_POWER_DOMAIN_USB,
|
||||
+ RPI_OLD_POWER_DOMAIN_USB, "USB");
|
||||
+
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_VEC, "VEC");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_JPEG, "JPEG");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_H264, "H264");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_V3D, "V3D");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_ISP, "ISP");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_UNICAM0, "UNICAM0");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_UNICAM1, "UNICAM1");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_CCP2RX, "CCP2RX");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_CSI2, "CSI2");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_CPI, "CPI");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_DSI0, "DSI0");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_DSI1, "DSI1");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_TRANSPOSER,
|
||||
+ "TRANSPOSER");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_CCP2TX, "CCP2TX");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_CDP, "CDP");
|
||||
+ rpi_init_power_domain(rpi_domains, RPI_POWER_DOMAIN_ARM, "ARM");
|
||||
+
|
||||
+ of_genpd_add_provider_onecell(dev->of_node, &rpi_domains->xlate);
|
||||
+
|
||||
+ platform_set_drvdata(pdev, rpi_domains);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id rpi_power_of_match[] = {
|
||||
+ { .compatible = "raspberrypi,bcm2835-power", },
|
||||
+ {},
|
||||
+};
|
||||
+MODULE_DEVICE_TABLE(of, rpi_power_of_match);
|
||||
+
|
||||
+static struct platform_driver rpi_power_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "raspberrypi-power",
|
||||
+ .of_match_table = rpi_power_of_match,
|
||||
+ },
|
||||
+ .probe = rpi_power_probe,
|
||||
+};
|
||||
+builtin_platform_driver(rpi_power_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("Alexander Aring <aar@pengutronix.de>");
|
||||
+MODULE_AUTHOR("Eric Anholt <eric@anholt.net>");
|
||||
+MODULE_DESCRIPTION("Raspberry Pi power domain driver");
|
||||
+MODULE_LICENSE("GPL v2");
|
||||
diff --git a/include/dt-bindings/power/raspberrypi-power.h b/include/dt-bindings/power/raspberrypi-power.h
|
||||
new file mode 100644
|
||||
index 0000000..b3ff8e0
|
||||
--- /dev/null
|
||||
+++ b/include/dt-bindings/power/raspberrypi-power.h
|
||||
@@ -0,0 +1,41 @@
|
||||
+/*
|
||||
+ * Copyright © 2015 Broadcom
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ */
|
||||
+
|
||||
+#ifndef _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H
|
||||
+#define _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H
|
||||
+
|
||||
+/* These power domain indices are the firmware interface's indices
|
||||
+ * minus one.
|
||||
+ */
|
||||
+#define RPI_POWER_DOMAIN_I2C0 0
|
||||
+#define RPI_POWER_DOMAIN_I2C1 1
|
||||
+#define RPI_POWER_DOMAIN_I2C2 2
|
||||
+#define RPI_POWER_DOMAIN_VIDEO_SCALER 3
|
||||
+#define RPI_POWER_DOMAIN_VPU1 4
|
||||
+#define RPI_POWER_DOMAIN_HDMI 5
|
||||
+#define RPI_POWER_DOMAIN_USB 6
|
||||
+#define RPI_POWER_DOMAIN_VEC 7
|
||||
+#define RPI_POWER_DOMAIN_JPEG 8
|
||||
+#define RPI_POWER_DOMAIN_H264 9
|
||||
+#define RPI_POWER_DOMAIN_V3D 10
|
||||
+#define RPI_POWER_DOMAIN_ISP 11
|
||||
+#define RPI_POWER_DOMAIN_UNICAM0 12
|
||||
+#define RPI_POWER_DOMAIN_UNICAM1 13
|
||||
+#define RPI_POWER_DOMAIN_CCP2RX 14
|
||||
+#define RPI_POWER_DOMAIN_CSI2 15
|
||||
+#define RPI_POWER_DOMAIN_CPI 16
|
||||
+#define RPI_POWER_DOMAIN_DSI0 17
|
||||
+#define RPI_POWER_DOMAIN_DSI1 18
|
||||
+#define RPI_POWER_DOMAIN_TRANSPOSER 19
|
||||
+#define RPI_POWER_DOMAIN_CCP2TX 20
|
||||
+#define RPI_POWER_DOMAIN_CDP 21
|
||||
+#define RPI_POWER_DOMAIN_ARM 22
|
||||
+
|
||||
+#define RPI_POWER_DOMAIN_COUNT 23
|
||||
+
|
||||
+#endif /* _DT_BINDINGS_ARM_BCM2835_RPI_POWER_H */
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-443
@@ -1,443 +0,0 @@
|
||||
From 482626063d446eac1809e025a79ad0a7d45bc22d Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Wed, 16 Dec 2015 13:24:40 -0800
|
||||
Subject: [PATCH 1/4] ARM: bcm2835: Split the DT for peripherals from the DT
|
||||
for the CPU
|
||||
|
||||
The set of peripherals remained constant across bcm2835 (Raspberry Pi
|
||||
1) and bcm2836 (Raspberry Pi 2), but the CPU was swapped out. Split
|
||||
the files so that we can include just peripheral setup in 2836.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835.dtsi | 194 +-------------------------------------
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 205 +++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 206 insertions(+), 193 deletions(-)
|
||||
create mode 100644 arch/arm/boot/dts/bcm283x.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
|
||||
index aef64de..b83b326 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835.dtsi
|
||||
@@ -1,206 +1,14 @@
|
||||
-#include <dt-bindings/pinctrl/bcm2835.h>
|
||||
-#include <dt-bindings/clock/bcm2835.h>
|
||||
-#include "skeleton.dtsi"
|
||||
+#include "bcm283x.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2835";
|
||||
- model = "BCM2835";
|
||||
- interrupt-parent = <&intc>;
|
||||
-
|
||||
- chosen {
|
||||
- bootargs = "earlyprintk console=ttyAMA0";
|
||||
- };
|
||||
|
||||
soc {
|
||||
- compatible = "simple-bus";
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <1>;
|
||||
ranges = <0x7e000000 0x20000000 0x02000000>;
|
||||
dma-ranges = <0x40000000 0x00000000 0x20000000>;
|
||||
|
||||
- timer@7e003000 {
|
||||
- compatible = "brcm,bcm2835-system-timer";
|
||||
- reg = <0x7e003000 0x1000>;
|
||||
- interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
|
||||
- /* This could be a reference to BCM2835_CLOCK_TIMER,
|
||||
- * but we don't have the driver using the common clock
|
||||
- * support yet.
|
||||
- */
|
||||
- clock-frequency = <1000000>;
|
||||
- };
|
||||
-
|
||||
- dma: dma@7e007000 {
|
||||
- compatible = "brcm,bcm2835-dma";
|
||||
- reg = <0x7e007000 0xf00>;
|
||||
- interrupts = <1 16>,
|
||||
- <1 17>,
|
||||
- <1 18>,
|
||||
- <1 19>,
|
||||
- <1 20>,
|
||||
- <1 21>,
|
||||
- <1 22>,
|
||||
- <1 23>,
|
||||
- <1 24>,
|
||||
- <1 25>,
|
||||
- <1 26>,
|
||||
- <1 27>,
|
||||
- <1 28>;
|
||||
-
|
||||
- #dma-cells = <1>;
|
||||
- brcm,dma-channel-mask = <0x7f35>;
|
||||
- };
|
||||
-
|
||||
- intc: interrupt-controller@7e00b200 {
|
||||
- compatible = "brcm,bcm2835-armctrl-ic";
|
||||
- reg = <0x7e00b200 0x200>;
|
||||
- interrupt-controller;
|
||||
- #interrupt-cells = <2>;
|
||||
- };
|
||||
-
|
||||
- watchdog@7e100000 {
|
||||
- compatible = "brcm,bcm2835-pm-wdt";
|
||||
- reg = <0x7e100000 0x28>;
|
||||
- };
|
||||
-
|
||||
- clocks: cprman@7e101000 {
|
||||
- compatible = "brcm,bcm2835-cprman";
|
||||
- #clock-cells = <1>;
|
||||
- reg = <0x7e101000 0x2000>;
|
||||
-
|
||||
- /* CPRMAN derives everything from the platform's
|
||||
- * oscillator.
|
||||
- */
|
||||
- clocks = <&clk_osc>;
|
||||
- };
|
||||
-
|
||||
- rng@7e104000 {
|
||||
- compatible = "brcm,bcm2835-rng";
|
||||
- reg = <0x7e104000 0x10>;
|
||||
- };
|
||||
-
|
||||
- mailbox: mailbox@7e00b800 {
|
||||
- compatible = "brcm,bcm2835-mbox";
|
||||
- reg = <0x7e00b880 0x40>;
|
||||
- interrupts = <0 1>;
|
||||
- #mbox-cells = <0>;
|
||||
- };
|
||||
-
|
||||
- gpio: gpio@7e200000 {
|
||||
- compatible = "brcm,bcm2835-gpio";
|
||||
- reg = <0x7e200000 0xb4>;
|
||||
- /*
|
||||
- * The GPIO IP block is designed for 3 banks of GPIOs.
|
||||
- * Each bank has a GPIO interrupt for itself.
|
||||
- * There is an overall "any bank" interrupt.
|
||||
- * In order, these are GIC interrupts 17, 18, 19, 20.
|
||||
- * Since the BCM2835 only has 2 banks, the 2nd bank
|
||||
- * interrupt output appears to be mirrored onto the
|
||||
- * 3rd bank's interrupt signal.
|
||||
- * So, a bank0 interrupt shows up on 17, 20, and
|
||||
- * a bank1 interrupt shows up on 18, 19, 20!
|
||||
- */
|
||||
- interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
|
||||
-
|
||||
- gpio-controller;
|
||||
- #gpio-cells = <2>;
|
||||
-
|
||||
- interrupt-controller;
|
||||
- #interrupt-cells = <2>;
|
||||
- };
|
||||
-
|
||||
- uart0: uart@7e201000 {
|
||||
- compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
|
||||
- reg = <0x7e201000 0x1000>;
|
||||
- interrupts = <2 25>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_UART>,
|
||||
- <&clocks BCM2835_CLOCK_VPU>;
|
||||
- clock-names = "uartclk", "apb_pclk";
|
||||
- arm,primecell-periphid = <0x00241011>;
|
||||
- };
|
||||
-
|
||||
- i2s: i2s@7e203000 {
|
||||
- compatible = "brcm,bcm2835-i2s";
|
||||
- reg = <0x7e203000 0x20>,
|
||||
- <0x7e101098 0x02>;
|
||||
-
|
||||
- dmas = <&dma 2>,
|
||||
- <&dma 3>;
|
||||
- dma-names = "tx", "rx";
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- spi: spi@7e204000 {
|
||||
- compatible = "brcm,bcm2835-spi";
|
||||
- reg = <0x7e204000 0x1000>;
|
||||
- interrupts = <2 22>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- i2c0: i2c@7e205000 {
|
||||
- compatible = "brcm,bcm2835-i2c";
|
||||
- reg = <0x7e205000 0x1000>;
|
||||
- interrupts = <2 21>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- sdhci: sdhci@7e300000 {
|
||||
- compatible = "brcm,bcm2835-sdhci";
|
||||
- reg = <0x7e300000 0x100>;
|
||||
- interrupts = <2 30>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_EMMC>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- i2c1: i2c@7e804000 {
|
||||
- compatible = "brcm,bcm2835-i2c";
|
||||
- reg = <0x7e804000 0x1000>;
|
||||
- interrupts = <2 21>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- i2c2: i2c@7e805000 {
|
||||
- compatible = "brcm,bcm2835-i2c";
|
||||
- reg = <0x7e805000 0x1000>;
|
||||
- interrupts = <2 21>;
|
||||
- clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- status = "disabled";
|
||||
- };
|
||||
-
|
||||
- usb@7e980000 {
|
||||
- compatible = "brcm,bcm2835-usb";
|
||||
- reg = <0x7e980000 0x10000>;
|
||||
- interrupts = <1 9>;
|
||||
- };
|
||||
-
|
||||
arm-pmu {
|
||||
compatible = "arm,arm1176-pmu";
|
||||
};
|
||||
};
|
||||
-
|
||||
- clocks {
|
||||
- compatible = "simple-bus";
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
-
|
||||
- /* The oscillator is the root of the clock tree. */
|
||||
- clk_osc: clock@3 {
|
||||
- compatible = "fixed-clock";
|
||||
- reg = <3>;
|
||||
- #clock-cells = <0>;
|
||||
- clock-output-names = "osc";
|
||||
- clock-frequency = <19200000>;
|
||||
- };
|
||||
-
|
||||
- };
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..8a7e727
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -0,0 +1,205 @@
|
||||
+#include <dt-bindings/pinctrl/bcm2835.h>
|
||||
+#include <dt-bindings/clock/bcm2835.h>
|
||||
+#include "skeleton.dtsi"
|
||||
+
|
||||
+/* This include file covers the common peripherals and configuration between
|
||||
+ * bcm2835 and bcm2836 implementations, leaving the CPU configuration to
|
||||
+ * bcm2835.dtsi and bcm2836.dtsi.
|
||||
+ */
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "brcm,bcm2835";
|
||||
+ model = "BCM2835";
|
||||
+ interrupt-parent = <&intc>;
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "earlyprintk console=ttyAMA0";
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ timer@7e003000 {
|
||||
+ compatible = "brcm,bcm2835-system-timer";
|
||||
+ reg = <0x7e003000 0x1000>;
|
||||
+ interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
|
||||
+ /* This could be a reference to BCM2835_CLOCK_TIMER,
|
||||
+ * but we don't have the driver using the common clock
|
||||
+ * support yet.
|
||||
+ */
|
||||
+ clock-frequency = <1000000>;
|
||||
+ };
|
||||
+
|
||||
+ dma: dma@7e007000 {
|
||||
+ compatible = "brcm,bcm2835-dma";
|
||||
+ reg = <0x7e007000 0xf00>;
|
||||
+ interrupts = <1 16>,
|
||||
+ <1 17>,
|
||||
+ <1 18>,
|
||||
+ <1 19>,
|
||||
+ <1 20>,
|
||||
+ <1 21>,
|
||||
+ <1 22>,
|
||||
+ <1 23>,
|
||||
+ <1 24>,
|
||||
+ <1 25>,
|
||||
+ <1 26>,
|
||||
+ <1 27>,
|
||||
+ <1 28>;
|
||||
+
|
||||
+ #dma-cells = <1>;
|
||||
+ brcm,dma-channel-mask = <0x7f35>;
|
||||
+ };
|
||||
+
|
||||
+ intc: interrupt-controller@7e00b200 {
|
||||
+ compatible = "brcm,bcm2835-armctrl-ic";
|
||||
+ reg = <0x7e00b200 0x200>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <2>;
|
||||
+ };
|
||||
+
|
||||
+ watchdog@7e100000 {
|
||||
+ compatible = "brcm,bcm2835-pm-wdt";
|
||||
+ reg = <0x7e100000 0x28>;
|
||||
+ };
|
||||
+
|
||||
+ clocks: cprman@7e101000 {
|
||||
+ compatible = "brcm,bcm2835-cprman";
|
||||
+ #clock-cells = <1>;
|
||||
+ reg = <0x7e101000 0x2000>;
|
||||
+
|
||||
+ /* CPRMAN derives everything from the platform's
|
||||
+ * oscillator.
|
||||
+ */
|
||||
+ clocks = <&clk_osc>;
|
||||
+ };
|
||||
+
|
||||
+ rng@7e104000 {
|
||||
+ compatible = "brcm,bcm2835-rng";
|
||||
+ reg = <0x7e104000 0x10>;
|
||||
+ };
|
||||
+
|
||||
+ mailbox: mailbox@7e00b800 {
|
||||
+ compatible = "brcm,bcm2835-mbox";
|
||||
+ reg = <0x7e00b880 0x40>;
|
||||
+ interrupts = <0 1>;
|
||||
+ #mbox-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ gpio: gpio@7e200000 {
|
||||
+ compatible = "brcm,bcm2835-gpio";
|
||||
+ reg = <0x7e200000 0xb4>;
|
||||
+ /*
|
||||
+ * The GPIO IP block is designed for 3 banks of GPIOs.
|
||||
+ * Each bank has a GPIO interrupt for itself.
|
||||
+ * There is an overall "any bank" interrupt.
|
||||
+ * In order, these are GIC interrupts 17, 18, 19, 20.
|
||||
+ * Since the BCM2835 only has 2 banks, the 2nd bank
|
||||
+ * interrupt output appears to be mirrored onto the
|
||||
+ * 3rd bank's interrupt signal.
|
||||
+ * So, a bank0 interrupt shows up on 17, 20, and
|
||||
+ * a bank1 interrupt shows up on 18, 19, 20!
|
||||
+ */
|
||||
+ interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
|
||||
+
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <2>;
|
||||
+ };
|
||||
+
|
||||
+ uart0: uart@7e201000 {
|
||||
+ compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
|
||||
+ reg = <0x7e201000 0x1000>;
|
||||
+ interrupts = <2 25>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_UART>,
|
||||
+ <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ clock-names = "uartclk", "apb_pclk";
|
||||
+ arm,primecell-periphid = <0x00241011>;
|
||||
+ };
|
||||
+
|
||||
+ i2s: i2s@7e203000 {
|
||||
+ compatible = "brcm,bcm2835-i2s";
|
||||
+ reg = <0x7e203000 0x20>,
|
||||
+ <0x7e101098 0x02>;
|
||||
+
|
||||
+ dmas = <&dma 2>,
|
||||
+ <&dma 3>;
|
||||
+ dma-names = "tx", "rx";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ spi: spi@7e204000 {
|
||||
+ compatible = "brcm,bcm2835-spi";
|
||||
+ reg = <0x7e204000 0x1000>;
|
||||
+ interrupts = <2 22>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c0: i2c@7e205000 {
|
||||
+ compatible = "brcm,bcm2835-i2c";
|
||||
+ reg = <0x7e205000 0x1000>;
|
||||
+ interrupts = <2 21>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ sdhci: sdhci@7e300000 {
|
||||
+ compatible = "brcm,bcm2835-sdhci";
|
||||
+ reg = <0x7e300000 0x100>;
|
||||
+ interrupts = <2 30>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_EMMC>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c1: i2c@7e804000 {
|
||||
+ compatible = "brcm,bcm2835-i2c";
|
||||
+ reg = <0x7e804000 0x1000>;
|
||||
+ interrupts = <2 21>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c2: i2c@7e805000 {
|
||||
+ compatible = "brcm,bcm2835-i2c";
|
||||
+ reg = <0x7e805000 0x1000>;
|
||||
+ interrupts = <2 21>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ usb@7e980000 {
|
||||
+ compatible = "brcm,bcm2835-usb";
|
||||
+ reg = <0x7e980000 0x10000>;
|
||||
+ interrupts = <1 9>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ clocks {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /* The oscillator is the root of the clock tree. */
|
||||
+ clk_osc: clock@3 {
|
||||
+ compatible = "fixed-clock";
|
||||
+ reg = <3>;
|
||||
+ #clock-cells = <0>;
|
||||
+ clock-output-names = "osc";
|
||||
+ clock-frequency = <19200000>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-71
@@ -1,71 +0,0 @@
|
||||
From bafa68c08c33ddde3bc10d2d7e5d3b77b4a6c8ed Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Wed, 16 Dec 2015 15:55:12 -0800
|
||||
Subject: [PATCH 2/4] ARM: bcm2835: Move the CPU/peripheral include out of
|
||||
common RPi DT.
|
||||
|
||||
For Raspberry Pi 2, we want to use the same general pin assignment
|
||||
bits, but need to use bcm2836.dtsi for the CPU instead.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 +
|
||||
arch/arm/boot/dts/bcm2835-rpi.dtsi | 2 --
|
||||
5 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
index b2bff43..228614f 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
|
||||
@@ -1,4 +1,5 @@
|
||||
/dts-v1/;
|
||||
+#include "bcm2835.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
index 668442b..ef54050 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
|
||||
@@ -1,4 +1,5 @@
|
||||
/dts-v1/;
|
||||
+#include "bcm2835.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
index eab8b591..86f1f2f 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
|
||||
@@ -1,4 +1,5 @@
|
||||
/dts-v1/;
|
||||
+#include "bcm2835.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
index ff6b2d1..4859e9d 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
|
||||
@@ -1,4 +1,5 @@
|
||||
/dts-v1/;
|
||||
+#include "bcm2835.dtsi"
|
||||
#include "bcm2835-rpi.dtsi"
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
index 3572f03..3afb9fe 100644
|
||||
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
|
||||
@@ -1,5 +1,3 @@
|
||||
-#include "bcm2835.dtsi"
|
||||
-
|
||||
/ {
|
||||
memory {
|
||||
reg = <0 0x10000000>;
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-160
@@ -1,160 +0,0 @@
|
||||
From c33319cd945001741d1b381655c8b7310d756163 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Thu, 16 Apr 2015 15:26:45 -0700
|
||||
Subject: [PATCH 3/4] ARM: bcm2835: Add devicetree for bcm2836 and Raspberry Pi
|
||||
2 B
|
||||
|
||||
The Pi 2 B ends up like a Pi 1 B+, with the same peripherals and
|
||||
pinout, but the CPU and memory layout changed to use the 2836.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 3 +-
|
||||
arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 35 ++++++++++++++++
|
||||
arch/arm/boot/dts/bcm2836.dtsi | 78 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 115 insertions(+), 1 deletion(-)
|
||||
create mode 100644 arch/arm/boot/dts/bcm2836-rpi-2-b.dts
|
||||
create mode 100644 arch/arm/boot/dts/bcm2836.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 30bbc37..54e8f6b 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -60,7 +60,8 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
|
||||
bcm2835-rpi-b.dtb \
|
||||
bcm2835-rpi-b-rev2.dtb \
|
||||
bcm2835-rpi-b-plus.dtb \
|
||||
- bcm2835-rpi-a-plus.dtb
|
||||
+ bcm2835-rpi-a-plus.dtb \
|
||||
+ bcm2836-rpi-2-b.dtb
|
||||
dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||
bcm4708-asus-rt-ac56u.dtb \
|
||||
bcm4708-asus-rt-ac68u.dtb \
|
||||
diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
|
||||
new file mode 100644
|
||||
index 0000000..ff94666
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
|
||||
@@ -0,0 +1,35 @@
|
||||
+/dts-v1/;
|
||||
+#include "bcm2836.dtsi"
|
||||
+#include "bcm2835-rpi.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
|
||||
+ model = "Raspberry Pi 2 Model B";
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0 0x40000000>;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ act {
|
||||
+ gpios = <&gpio 47 0>;
|
||||
+ };
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "PWR";
|
||||
+ gpios = <&gpio 35 0>;
|
||||
+ default-state = "keep";
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&gpio {
|
||||
+ pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
|
||||
+
|
||||
+ /* I2S interface */
|
||||
+ i2s_alt0: i2s_alt0 {
|
||||
+ brcm,pins = <18 19 20 21>;
|
||||
+ brcm,function = <BCM2835_FSEL_ALT0>;
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..9d0651d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/bcm2836.dtsi
|
||||
@@ -0,0 +1,78 @@
|
||||
+#include "bcm283x.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "brcm,bcm2836";
|
||||
+
|
||||
+ soc {
|
||||
+ ranges = <0x7e000000 0x3f000000 0x1000000>,
|
||||
+ <0x40000000 0x40000000 0x00001000>;
|
||||
+ dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
|
||||
+
|
||||
+ local_intc: local_intc {
|
||||
+ compatible = "brcm,bcm2836-l1-intc";
|
||||
+ reg = <0x40000000 0x100>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ interrupt-parent = <&local_intc>;
|
||||
+ };
|
||||
+
|
||||
+ arm-pmu {
|
||||
+ compatible = "arm,cortex-a7-pmu";
|
||||
+ interrupt-parent = <&local_intc>;
|
||||
+ interrupts = <9>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv7-timer";
|
||||
+ interrupt-parent = <&local_intc>;
|
||||
+ interrupts = <0>, // PHYS_SECURE_PPI
|
||||
+ <1>, // PHYS_NONSECURE_PPI
|
||||
+ <3>, // VIRT_PPI
|
||||
+ <2>; // HYP_PPI
|
||||
+ always-on;
|
||||
+ };
|
||||
+
|
||||
+ cpus: cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ v7_cpu0: cpu@0 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a7";
|
||||
+ reg = <0xf00>;
|
||||
+ clock-frequency = <800000000>;
|
||||
+ };
|
||||
+
|
||||
+ v7_cpu1: cpu@1 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a7";
|
||||
+ reg = <0xf01>;
|
||||
+ clock-frequency = <800000000>;
|
||||
+ };
|
||||
+
|
||||
+ v7_cpu2: cpu@2 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a7";
|
||||
+ reg = <0xf02>;
|
||||
+ clock-frequency = <800000000>;
|
||||
+ };
|
||||
+
|
||||
+ v7_cpu3: cpu@3 {
|
||||
+ device_type = "cpu";
|
||||
+ compatible = "arm,cortex-a7";
|
||||
+ reg = <0xf03>;
|
||||
+ clock-frequency = <800000000>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Make the BCM2835-style global interrupt controller be a child of the
|
||||
+ * CPU-local interrupt controller.
|
||||
+ */
|
||||
+&intc {
|
||||
+ compatible = "brcm,bcm2836-armctrl-ic";
|
||||
+ reg = <0x7e00b200 0x200>;
|
||||
+ interrupt-parent = <&local_intc>;
|
||||
+ interrupts = <8>;
|
||||
+};
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
From 53b6084357a44d7c34044504e1bf149d9156934f Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Tue, 15 Dec 2015 15:35:59 -0800
|
||||
Subject: [PATCH 4/4] ARM: bcm2835: Add the auxiliary clocks to the device
|
||||
tree.
|
||||
|
||||
These will be used for enabling UART1, SPI1, and SPI2.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/boot/dts/bcm283x.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
index 8a7e727..971e741 100644
|
||||
--- a/arch/arm/boot/dts/bcm283x.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm283x.dtsi
|
||||
@@ -152,6 +152,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ aux: aux@0x7e215000 {
|
||||
+ compatible = "brcm,bcm2835-aux";
|
||||
+ #clock-cells = <1>;
|
||||
+ reg = <0x7e215000 0x8>;
|
||||
+ clocks = <&clocks BCM2835_CLOCK_VPU>;
|
||||
+ };
|
||||
+
|
||||
sdhci: sdhci@7e300000 {
|
||||
compatible = "brcm,bcm2835-sdhci";
|
||||
reg = <0x7e300000 0x100>;
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-132
@@ -1,132 +0,0 @@
|
||||
From 8c821c590f791ade672609c2f59b1ce0af750653 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Date: Tue, 27 Oct 2015 19:08:58 +0100
|
||||
Subject: [PATCH 1/2] ARM: bcm2835: enable all bcm2835-relevant in defconfig
|
||||
|
||||
Rebuild bcm2835_defconfig using "make bcm2835_defconfig;
|
||||
make savedefconfig", and enable manually the following features:
|
||||
|
||||
* all bcm2835-relevant drivers (MBOX, WDT, DMA, PWM, SND)
|
||||
* enable regular stackprotector because CONFIG_CC_STACKPROTECTOR
|
||||
disappear
|
||||
* enable some new dependencies in order to keep LED heartbeat
|
||||
( CONFIG_NEW_LEDS, CONFIG_LEDS_CLASS, CONFIG_LEDS_TRIGGERS )
|
||||
|
||||
The following options were removed, because they are enabled implicit:
|
||||
|
||||
CONFIG_RD_BZIP2, CONFIG_RD_LZMA, CONFIG_RD_XZ, CONFIG_RD_LZO,
|
||||
CONFIG_USB_DWC2_HOST, CONFIG_EXT4_FS, CONFIG_EXT4_FS_POSIX_ACL
|
||||
|
||||
These options became obsolete:
|
||||
|
||||
CONFIG_RESOURCE_COUNTERS, CONFIG_SCSI_MULTI_LUN
|
||||
|
||||
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
|
||||
---
|
||||
arch/arm/configs/bcm2835_defconfig | 28 +++++++++++++++++-----------
|
||||
1 file changed, 17 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig
|
||||
index 31cb073..0fda844 100644
|
||||
--- a/arch/arm/configs/bcm2835_defconfig
|
||||
+++ b/arch/arm/configs/bcm2835_defconfig
|
||||
@@ -10,7 +10,6 @@ CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
-CONFIG_RESOURCE_COUNTERS=y
|
||||
CONFIG_CGROUP_PERF=y
|
||||
CONFIG_CFS_BANDWIDTH=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
@@ -18,10 +17,6 @@ CONFIG_NAMESPACES=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
-CONFIG_RD_BZIP2=y
|
||||
-CONFIG_RD_LZMA=y
|
||||
-CONFIG_RD_XZ=y
|
||||
-CONFIG_RD_LZO=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
@@ -29,6 +24,7 @@ CONFIG_EMBEDDED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
+CONFIG_CC_STACKPROTECTOR_REGULAR=y
|
||||
CONFIG_ARCH_MULTI_V6=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_BCM=y
|
||||
@@ -38,7 +34,6 @@ CONFIG_AEABI=y
|
||||
CONFIG_KSM=y
|
||||
CONFIG_CLEANCACHE=y
|
||||
CONFIG_SECCOMP=y
|
||||
-CONFIG_CC_STACKPROTECTOR=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_VFP=y
|
||||
@@ -57,7 +52,6 @@ CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
-CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
@@ -77,17 +71,27 @@ CONFIG_SPI=y
|
||||
CONFIG_SPI_BCM2835=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_HWMON is not set
|
||||
+CONFIG_WATCHDOG=y
|
||||
+CONFIG_BCM2835_WDT=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
+CONFIG_SOUND=y
|
||||
+CONFIG_SND=y
|
||||
+CONFIG_SND_SOC=y
|
||||
+CONFIG_SND_BCM2835_SOC_I2S=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
+CONFIG_USB_DWC2=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_BCM2835=y
|
||||
+CONFIG_NEW_LEDS=y
|
||||
+CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
+CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
@@ -96,17 +100,19 @@ CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_LEDS_TRIGGER_TRANSIENT=y
|
||||
CONFIG_LEDS_TRIGGER_CAMERA=y
|
||||
+CONFIG_DMADEVICES=y
|
||||
+CONFIG_DMA_BCM2835=y
|
||||
CONFIG_STAGING=y
|
||||
-CONFIG_USB_DWC2=y
|
||||
-CONFIG_USB_DWC2_HOST=y
|
||||
+CONFIG_MAILBOX=y
|
||||
+CONFIG_BCM2835_MBOX=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
+CONFIG_PWM=y
|
||||
+CONFIG_PWM_BCM2835=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
-CONFIG_EXT4_FS=y
|
||||
-CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
From b63074fccbeb81e46b2553a200de54ff3bfadd10 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sperl <kernel@martin.sperl.org>
|
||||
Date: Fri, 11 Sep 2015 11:22:06 +0000
|
||||
Subject: [PATCH 2/2] ARM: bcm2835: enable auxiliary spi driver in defconfig
|
||||
|
||||
add the auxiliary spi driver to the default config
|
||||
|
||||
Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
---
|
||||
arch/arm/configs/bcm2835_defconfig | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig
|
||||
index 0fda844..72def20 100644
|
||||
--- a/arch/arm/configs/bcm2835_defconfig
|
||||
+++ b/arch/arm/configs/bcm2835_defconfig
|
||||
@@ -69,6 +69,7 @@ CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_BCM2835=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BCM2835=y
|
||||
+CONFIG_SPI_BCM2835AUX=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
--
|
||||
2.3.10
|
||||
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
From f5bdd66c705484b4bc77eb914be15c1b7881fae7 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandra Yates <alexandra.yates@linux.intel.com>
|
||||
Date: Wed, 17 Feb 2016 19:36:20 -0800
|
||||
Subject: [PATCH] Adding Intel Lewisburg device IDs for SATA
|
||||
|
||||
This patch complements the list of device IDs previously
|
||||
added for lewisburg sata.
|
||||
|
||||
Signed-off-by: Alexandra Yates <alexandra.yates@linux.intel.com>
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
drivers/ata/ahci.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
|
||||
index 546a369..b6263b3 100644
|
||||
--- a/drivers/ata/ahci.c
|
||||
+++ b/drivers/ata/ahci.c
|
||||
@@ -367,15 +367,21 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
||||
{ PCI_VDEVICE(INTEL, 0xa107), board_ahci }, /* Sunrise Point-H RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Lewisburg AHCI*/
|
||||
{ PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0x2827), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa182), board_ahci }, /* Lewisburg AHCI*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa184), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa186), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa18e), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa1d2), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa1d6), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa202), board_ahci }, /* Lewisburg AHCI*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa204), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa206), board_ahci }, /* Lewisburg RAID*/
|
||||
{ PCI_VDEVICE(INTEL, 0xa20e), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa252), board_ahci }, /* Lewisburg RAID*/
|
||||
+ { PCI_VDEVICE(INTEL, 0xa256), board_ahci }, /* Lewisburg RAID*/
|
||||
|
||||
/* JMicron 360/1/3/5/6, match class to avoid IDE function */
|
||||
{ PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
||||
--
|
||||
2.7.2
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
From dc8b4afc4a04fac8ee55a19b59f2356a25e7e778 Mon Sep 17 00:00:00 2001
|
||||
From: Manuel Lauss <manuel.lauss@gmail.com>
|
||||
Date: Sat, 27 Feb 2016 16:10:05 +0100
|
||||
Subject: [PATCH] ata: ahci: don't mark HotPlugCapable Ports as
|
||||
external/removable
|
||||
|
||||
The HPCP bit is set by bioses for on-board sata ports either because
|
||||
they think sata is hotplug capable in general or to allow Windows
|
||||
to display a "device eject" icon on ports which are routed to an
|
||||
external connector bracket.
|
||||
|
||||
However in Redhat Bugzilla #1310682, users report that with kernel 4.4,
|
||||
where this bit test first appeared, a lot of partitions on sata drives
|
||||
are now mounted automatically.
|
||||
|
||||
This patch should fix redhat and a lot of other distros which
|
||||
unconditionally automount all devices which have the "removable"
|
||||
bit set.
|
||||
|
||||
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
Fixes: 8a3e33cf92c7 ("ata: ahci: find eSATA ports and flag them as removable" changes userspace behavior)
|
||||
Link: http://lkml.kernel.org/g/56CF35FA.1070500@redhat.com
|
||||
Cc: stable@vger.kernel.org #v4.4+
|
||||
---
|
||||
drivers/ata/libahci.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
|
||||
index 513b3fa..85ea514 100644
|
||||
--- a/drivers/ata/libahci.c
|
||||
+++ b/drivers/ata/libahci.c
|
||||
@@ -1168,8 +1168,7 @@ static void ahci_port_init(struct device *dev, struct ata_port *ap,
|
||||
|
||||
/* mark esata ports */
|
||||
tmp = readl(port_mmio + PORT_CMD);
|
||||
- if ((tmp & PORT_CMD_HPCP) ||
|
||||
- ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS)))
|
||||
+ if ((tmp & PORT_CMD_ESP) && (hpriv->cap & HOST_CAP_SXS))
|
||||
ap->pflags |= ATA_PFLAG_EXTERNAL;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.2
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1101
File diff suppressed because it is too large
Load Diff
+103
@@ -0,0 +1,103 @@
|
||||
From 465ed48c05de63f5bdd34d83915f1b8998a62134 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Valente <paolo.valente@unimore.it>
|
||||
Date: Tue, 7 Apr 2015 13:39:12 +0200
|
||||
Subject: [PATCH 1/4] block: cgroups, kconfig, build bits for BFQ-v7r11-4.5.0
|
||||
|
||||
Update Kconfig.iosched and do the related Makefile changes to include
|
||||
kernel configuration options for BFQ. Also increase the number of
|
||||
policies supported by the blkio controller so that BFQ can add its
|
||||
own.
|
||||
|
||||
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
|
||||
Signed-off-by: Arianna Avanzini <avanzini@google.com>
|
||||
---
|
||||
block/Kconfig.iosched | 32 ++++++++++++++++++++++++++++++++
|
||||
block/Makefile | 1 +
|
||||
include/linux/blkdev.h | 2 +-
|
||||
3 files changed, 34 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
|
||||
index 421bef9..0ee5f0f 100644
|
||||
--- a/block/Kconfig.iosched
|
||||
+++ b/block/Kconfig.iosched
|
||||
@@ -39,6 +39,27 @@ config CFQ_GROUP_IOSCHED
|
||||
---help---
|
||||
Enable group IO scheduling in CFQ.
|
||||
|
||||
+config IOSCHED_BFQ
|
||||
+ tristate "BFQ I/O scheduler"
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ The BFQ I/O scheduler tries to distribute bandwidth among
|
||||
+ all processes according to their weights.
|
||||
+ It aims at distributing the bandwidth as desired, independently of
|
||||
+ the disk parameters and with any workload. It also tries to
|
||||
+ guarantee low latency to interactive and soft real-time
|
||||
+ applications. If compiled built-in (saying Y here), BFQ can
|
||||
+ be configured to support hierarchical scheduling.
|
||||
+
|
||||
+config CGROUP_BFQIO
|
||||
+ bool "BFQ hierarchical scheduling support"
|
||||
+ depends on CGROUPS && IOSCHED_BFQ=y
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Enable hierarchical scheduling in BFQ, using the cgroups
|
||||
+ filesystem interface. The name of the subsystem will be
|
||||
+ bfqio.
|
||||
+
|
||||
choice
|
||||
prompt "Default I/O scheduler"
|
||||
default DEFAULT_CFQ
|
||||
@@ -52,6 +73,16 @@ choice
|
||||
config DEFAULT_CFQ
|
||||
bool "CFQ" if IOSCHED_CFQ=y
|
||||
|
||||
+ config DEFAULT_BFQ
|
||||
+ bool "BFQ" if IOSCHED_BFQ=y
|
||||
+ help
|
||||
+ Selects BFQ as the default I/O scheduler which will be
|
||||
+ used by default for all block devices.
|
||||
+ The BFQ I/O scheduler aims at distributing the bandwidth
|
||||
+ as desired, independently of the disk parameters and with
|
||||
+ any workload. It also tries to guarantee low latency to
|
||||
+ interactive and soft real-time applications.
|
||||
+
|
||||
config DEFAULT_NOOP
|
||||
bool "No-op"
|
||||
|
||||
@@ -61,6 +92,7 @@ config DEFAULT_IOSCHED
|
||||
string
|
||||
default "deadline" if DEFAULT_DEADLINE
|
||||
default "cfq" if DEFAULT_CFQ
|
||||
+ default "bfq" if DEFAULT_BFQ
|
||||
default "noop" if DEFAULT_NOOP
|
||||
|
||||
endmenu
|
||||
diff --git a/block/Makefile b/block/Makefile
|
||||
index 36acdd7..736e91a 100644
|
||||
--- a/block/Makefile
|
||||
+++ b/block/Makefile
|
||||
@@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
|
||||
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
|
||||
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
|
||||
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
|
||||
+obj-$(CONFIG_IOSCHED_BFQ) += bfq-iosched.o
|
||||
|
||||
obj-$(CONFIG_BLOCK_COMPAT) += compat_ioctl.o
|
||||
obj-$(CONFIG_BLK_CMDLINE_PARSER) += cmdline-parser.o
|
||||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
|
||||
index c47c358..1047d99 100644
|
||||
--- a/include/linux/blkdev.h
|
||||
+++ b/include/linux/blkdev.h
|
||||
@@ -45,7 +45,7 @@ struct pr_ops;
|
||||
* Maximum number of blkcg policies allowed to be registered concurrently.
|
||||
* Defined here to simplify include dependency.
|
||||
*/
|
||||
-#define BLKCG_MAX_POLS 2
|
||||
+#define BLKCG_MAX_POLS 3
|
||||
|
||||
typedef void (rq_end_io_fn)(struct request *, int);
|
||||
|
||||
--
|
||||
2.10.0
|
||||
|
||||
+7109
File diff suppressed because it is too large
Load Diff
+34
@@ -0,0 +1,34 @@
|
||||
From 124298bd03acebd9c9da29a794718aca31bec1f7 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Roschka <danielroschka@phoenitydawn.de>
|
||||
Date: Wed, 22 Feb 2017 15:17:29 -0700
|
||||
Subject: [PATCH] nvme: detect NVMe controller in recent MacBooks
|
||||
|
||||
Adds support for detection of the NVMe controller found in the
|
||||
following recent MacBooks:
|
||||
- Retina MacBook 2016 (MacBook9,1)
|
||||
- 13" MacBook Pro 2016 without Touch Bar (MacBook13,1)
|
||||
- 13" MacBook Pro 2016 with Touch Bar (MacBook13,2)
|
||||
|
||||
Signed-off-by: Daniel Roschka <danielroschka@phoenitydawn.de>
|
||||
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
||||
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
|
||||
Signed-off-by: Jens Axboe <axboe@fb.com>
|
||||
---
|
||||
drivers/nvme/host/pci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
|
||||
index d38dae9..319f5c5 100644
|
||||
--- a/drivers/nvme/host/pci.c
|
||||
+++ b/drivers/nvme/host/pci.c
|
||||
@@ -2120,6 +2120,7 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||
.driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
|
||||
{ PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) },
|
||||
{ 0, }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, nvme_id_table);
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
block/bfq-iosched.c | 4 +++-
|
||||
block/bfq-sched.c | 15 ++++++++++++---
|
||||
block/bfq.h | 2 +-
|
||||
3 files changed, 16 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
|
||||
index 96b79a0dae9f..158628392d92 100644
|
||||
--- a/block/bfq-iosched.c
|
||||
+++ b/block/bfq-iosched.c
|
||||
@@ -4572,6 +4572,8 @@ static int bfq_set_request(struct request_queue *q, struct request *rq,
|
||||
if (!bic)
|
||||
goto queue_fail;
|
||||
|
||||
+ bfq_check_ioprio_change(bic, bio);
|
||||
+
|
||||
bfq_bic_update_cgroup(bic, bio);
|
||||
|
||||
new_queue:
|
||||
@@ -5268,7 +5270,7 @@ static struct blkcg_policy blkcg_policy_bfq = {
|
||||
static int __init bfq_init(void)
|
||||
{
|
||||
int ret;
|
||||
- char msg[60] = "BFQ I/O-scheduler: v8r10";
|
||||
+ char msg[60] = "BFQ I/O-scheduler: v8r11";
|
||||
|
||||
#ifdef CONFIG_BFQ_GROUP_IOSCHED
|
||||
ret = blkcg_policy_register(&blkcg_policy_bfq);
|
||||
diff --git a/block/bfq-sched.c b/block/bfq-sched.c
|
||||
index 70aac56b02ef..8311bdbeceea 100644
|
||||
--- a/block/bfq-sched.c
|
||||
+++ b/block/bfq-sched.c
|
||||
@@ -1280,14 +1280,23 @@ static bool __bfq_deactivate_entity(struct bfq_entity *entity,
|
||||
bool ins_into_idle_tree)
|
||||
{
|
||||
struct bfq_sched_data *sd = entity->sched_data;
|
||||
- struct bfq_service_tree *st = bfq_entity_service_tree(entity);
|
||||
- bool is_in_service = entity == sd->in_service_entity;
|
||||
+ struct bfq_service_tree *st;
|
||||
+ bool is_in_service;
|
||||
|
||||
if (!entity->on_st) { /* entity never activated, or already inactive */
|
||||
- BUG_ON(entity == entity->sched_data->in_service_entity);
|
||||
+ BUG_ON(sd && entity == sd->in_service_entity);
|
||||
return false;
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * If we get here, then entity is active, which implies that
|
||||
+ * bfq_group_set_parent has already been invoked for the group
|
||||
+ * represented by entity. Therefore, the field
|
||||
+ * entity->sched_data has been set, and we can safely use it.
|
||||
+ */
|
||||
+ st = bfq_entity_service_tree(entity);
|
||||
+ is_in_service = entity == sd->in_service_entity;
|
||||
+
|
||||
BUG_ON(is_in_service && entity->tree && entity->tree != &st->active);
|
||||
|
||||
if (is_in_service)
|
||||
diff --git a/block/bfq.h b/block/bfq.h
|
||||
index e3855af1211b..a521ac40cac0 100644
|
||||
--- a/block/bfq.h
|
||||
+++ b/block/bfq.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * BFQ v8r10 for 4.9.0: data structures and common functions prototypes.
|
||||
+ * BFQ v8r11 for 4.9.0: data structures and common functions prototypes.
|
||||
*
|
||||
* Based on ideas and code from CFQ:
|
||||
* Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
|
||||
@@ -0,0 +1,729 @@
|
||||
block/bfq-cgroup.c | 12 +--
|
||||
block/bfq-iosched.c | 211 +++++++++++++++++++++++++++++++---------------------
|
||||
block/bfq-sched.c | 73 ++++++++++++------
|
||||
block/bfq.h | 4 +-
|
||||
4 files changed, 180 insertions(+), 120 deletions(-)
|
||||
|
||||
diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
|
||||
index bbaecd0..a66a723 100644
|
||||
--- a/block/bfq-cgroup.c
|
||||
+++ b/block/bfq-cgroup.c
|
||||
@@ -771,7 +771,6 @@ static void bfq_pd_offline(struct blkg_policy_data *pd)
|
||||
|
||||
__bfq_deactivate_entity(entity, false);
|
||||
bfq_put_async_queues(bfqd, bfqg);
|
||||
- BUG_ON(entity->tree);
|
||||
|
||||
/*
|
||||
* @blkg is going offline and will be ignored by
|
||||
@@ -1140,6 +1139,9 @@ static inline void bfqg_stats_update_idle_time(struct bfq_group *bfqg) { }
|
||||
static inline void bfqg_stats_set_start_idle_time(struct bfq_group *bfqg) { }
|
||||
static inline void bfqg_stats_update_avg_queue_size(struct bfq_group *bfqg) { }
|
||||
|
||||
+static void bfq_bfqq_move(struct bfq_data *bfqd, struct bfq_queue *bfqq,
|
||||
+ struct bfq_group *bfqg) {}
|
||||
+
|
||||
static void bfq_init_entity(struct bfq_entity *entity,
|
||||
struct bfq_group *bfqg)
|
||||
{
|
||||
@@ -1154,13 +1156,7 @@ static void bfq_init_entity(struct bfq_entity *entity,
|
||||
entity->sched_data = &bfqg->sched_data;
|
||||
}
|
||||
|
||||
-static struct bfq_group *
|
||||
-bfq_bic_update_cgroup(struct bfq_io_cq *bic, struct bio *bio)
|
||||
-{
|
||||
- struct bfq_data *bfqd = bic_to_bfqd(bic);
|
||||
-
|
||||
- return bfqd->root_group;
|
||||
-}
|
||||
+static void bfq_bic_update_cgroup(struct bfq_io_cq *bic, struct bio *bio) {}
|
||||
|
||||
static void bfq_end_wr_async(struct bfq_data *bfqd)
|
||||
{
|
||||
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
|
||||
index 78baa07..96b79a0 100644
|
||||
--- a/block/bfq-iosched.c
|
||||
+++ b/block/bfq-iosched.c
|
||||
@@ -9,7 +9,7 @@
|
||||
*
|
||||
* Copyright (C) 2015 Paolo Valente <paolo.valente@unimore.it>
|
||||
*
|
||||
- * Copyright (C) 2016 Paolo Valente <paolo.valente@linaro.org>
|
||||
+ * Copyright (C) 2017 Paolo Valente <paolo.valente@linaro.org>
|
||||
*
|
||||
* Licensed under the GPL-2 as detailed in the accompanying COPYING.BFQ
|
||||
* file.
|
||||
@@ -107,7 +107,7 @@ static const int bfq_async_charge_factor = 10;
|
||||
/* Default timeout values, in jiffies, approximating CFQ defaults. */
|
||||
static const int bfq_timeout = (HZ / 8);
|
||||
|
||||
-struct kmem_cache *bfq_pool;
|
||||
+static struct kmem_cache *bfq_pool;
|
||||
|
||||
/* Below this threshold (in ns), we consider thinktime immediate. */
|
||||
#define BFQ_MIN_TT (2 * NSEC_PER_MSEC)
|
||||
@@ -483,6 +483,22 @@ static void bfq_weights_tree_add(struct bfq_data *bfqd,
|
||||
|
||||
entity->weight_counter = kzalloc(sizeof(struct bfq_weight_counter),
|
||||
GFP_ATOMIC);
|
||||
+
|
||||
+ /*
|
||||
+ * In the unlucky event of an allocation failure, we just
|
||||
+ * exit. This will cause the weight of entity to not be
|
||||
+ * considered in bfq_differentiated_weights, which, in its
|
||||
+ * turn, causes the scenario to be deemed wrongly symmetric in
|
||||
+ * case entity's weight would have been the only weight making
|
||||
+ * the scenario asymmetric. On the bright side, no unbalance
|
||||
+ * will however occur when entity becomes inactive again (the
|
||||
+ * invocation of this function is triggered by an activation
|
||||
+ * of entity). In fact, bfq_weights_tree_remove does nothing
|
||||
+ * if !entity->weight_counter.
|
||||
+ */
|
||||
+ if (unlikely(!entity->weight_counter))
|
||||
+ return;
|
||||
+
|
||||
entity->weight_counter->weight = entity->weight;
|
||||
rb_link_node(&entity->weight_counter->weights_node, parent, new);
|
||||
rb_insert_color(&entity->weight_counter->weights_node, root);
|
||||
@@ -519,13 +535,45 @@ static void bfq_weights_tree_remove(struct bfq_data *bfqd,
|
||||
entity->weight_counter = NULL;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Return expired entry, or NULL to just start from scratch in rbtree.
|
||||
+ */
|
||||
+static struct request *bfq_check_fifo(struct bfq_queue *bfqq,
|
||||
+ struct request *last)
|
||||
+{
|
||||
+ struct request *rq;
|
||||
+
|
||||
+ if (bfq_bfqq_fifo_expire(bfqq))
|
||||
+ return NULL;
|
||||
+
|
||||
+ bfq_mark_bfqq_fifo_expire(bfqq);
|
||||
+
|
||||
+ rq = rq_entry_fifo(bfqq->fifo.next);
|
||||
+
|
||||
+ if (rq == last || ktime_get_ns() < rq->fifo_time)
|
||||
+ return NULL;
|
||||
+
|
||||
+ bfq_log_bfqq(bfqq->bfqd, bfqq, "check_fifo: returned %p", rq);
|
||||
+ BUG_ON(RB_EMPTY_NODE(&rq->rb_node));
|
||||
+ return rq;
|
||||
+}
|
||||
+
|
||||
static struct request *bfq_find_next_rq(struct bfq_data *bfqd,
|
||||
struct bfq_queue *bfqq,
|
||||
struct request *last)
|
||||
{
|
||||
struct rb_node *rbnext = rb_next(&last->rb_node);
|
||||
struct rb_node *rbprev = rb_prev(&last->rb_node);
|
||||
- struct request *next = NULL, *prev = NULL;
|
||||
+ struct request *next, *prev = NULL;
|
||||
+
|
||||
+ BUG_ON(list_empty(&bfqq->fifo));
|
||||
+
|
||||
+ /* Follow expired path, else get first next available. */
|
||||
+ next = bfq_check_fifo(bfqq, last);
|
||||
+ if (next) {
|
||||
+ BUG_ON(next == last);
|
||||
+ return next;
|
||||
+ }
|
||||
|
||||
BUG_ON(RB_EMPTY_NODE(&last->rb_node));
|
||||
|
||||
@@ -1359,7 +1407,6 @@ static void bfq_bfqq_handle_idle_busy_switch(struct bfq_data *bfqd,
|
||||
|
||||
bfq_bfqq_expire(bfqd, bfqd->in_service_queue,
|
||||
false, BFQ_BFQQ_PREEMPTED);
|
||||
- BUG_ON(in_serv->entity.budget < 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1523,12 +1570,15 @@ static void bfq_remove_request(struct request *rq)
|
||||
elv_rb_del(&bfqq->sort_list, rq);
|
||||
|
||||
if (RB_EMPTY_ROOT(&bfqq->sort_list)) {
|
||||
+ bfqq->next_rq = NULL;
|
||||
+
|
||||
BUG_ON(bfqq->entity.budget < 0);
|
||||
|
||||
if (bfq_bfqq_busy(bfqq) && bfqq != bfqd->in_service_queue) {
|
||||
+ BUG_ON(bfqq->ref < 2); /* referred by rq and on tree */
|
||||
bfq_del_bfqq_busy(bfqd, bfqq, false);
|
||||
-
|
||||
- /* bfqq emptied. In normal operation, when
|
||||
+ /*
|
||||
+ * bfqq emptied. In normal operation, when
|
||||
* bfqq is empty, bfqq->entity.service and
|
||||
* bfqq->entity.budget must contain,
|
||||
* respectively, the service received and the
|
||||
@@ -1537,7 +1587,8 @@ static void bfq_remove_request(struct request *rq)
|
||||
* this last removal occurred while bfqq is
|
||||
* not in service. To avoid inconsistencies,
|
||||
* reset both bfqq->entity.service and
|
||||
- * bfqq->entity.budget.
|
||||
+ * bfqq->entity.budget, if bfqq has still a
|
||||
+ * process that may issue I/O requests to it.
|
||||
*/
|
||||
bfqq->entity.budget = bfqq->entity.service = 0;
|
||||
}
|
||||
@@ -1868,7 +1919,7 @@ static bool bfq_may_be_close_cooperator(struct bfq_queue *bfqq,
|
||||
* positives. In case bfqq is weight-raised, such false positives
|
||||
* would evidently degrade latency guarantees for bfqq.
|
||||
*/
|
||||
-bool wr_from_too_long(struct bfq_queue *bfqq)
|
||||
+static bool wr_from_too_long(struct bfq_queue *bfqq)
|
||||
{
|
||||
return bfqq->wr_coeff > 1 &&
|
||||
time_is_before_jiffies(bfqq->last_wr_start_finish +
|
||||
@@ -2029,7 +2080,8 @@ bfq_merge_bfqqs(struct bfq_data *bfqd, struct bfq_io_cq *bic,
|
||||
new_bfqq->wr_coeff = bfqq->wr_coeff;
|
||||
new_bfqq->wr_cur_max_time = bfqq->wr_cur_max_time;
|
||||
new_bfqq->last_wr_start_finish = bfqq->last_wr_start_finish;
|
||||
- new_bfqq->wr_start_at_switch_to_srt = bfqq->wr_start_at_switch_to_srt;
|
||||
+ new_bfqq->wr_start_at_switch_to_srt =
|
||||
+ bfqq->wr_start_at_switch_to_srt;
|
||||
if (bfq_bfqq_busy(new_bfqq))
|
||||
bfqd->wr_busy_queues++;
|
||||
new_bfqq->entity.prio_changed = 1;
|
||||
@@ -2072,6 +2124,7 @@ bfq_merge_bfqqs(struct bfq_data *bfqd, struct bfq_io_cq *bic,
|
||||
*/
|
||||
new_bfqq->bic = NULL;
|
||||
bfqq->bic = NULL;
|
||||
+ /* release process reference to bfqq */
|
||||
bfq_put_queue(bfqq);
|
||||
}
|
||||
|
||||
@@ -2298,7 +2351,7 @@ static unsigned long bfq_calc_max_budget(struct bfq_data *bfqd)
|
||||
* function of the estimated peak rate. See comments on
|
||||
* bfq_calc_max_budget(), and on T_slow and T_fast arrays.
|
||||
*/
|
||||
-void update_thr_responsiveness_params(struct bfq_data *bfqd)
|
||||
+static void update_thr_responsiveness_params(struct bfq_data *bfqd)
|
||||
{
|
||||
int dev_type = blk_queue_nonrot(bfqd->queue);
|
||||
|
||||
@@ -2333,7 +2386,7 @@ void update_thr_responsiveness_params(struct bfq_data *bfqd)
|
||||
BFQ_RATE_SHIFT);
|
||||
}
|
||||
|
||||
-void bfq_reset_rate_computation(struct bfq_data *bfqd, struct request *rq)
|
||||
+static void bfq_reset_rate_computation(struct bfq_data *bfqd, struct request *rq)
|
||||
{
|
||||
if (rq != NULL) { /* new rq dispatch now, reset accordingly */
|
||||
bfqd->last_dispatch = bfqd->first_dispatch = ktime_get_ns() ;
|
||||
@@ -2350,7 +2403,7 @@ void bfq_reset_rate_computation(struct bfq_data *bfqd, struct request *rq)
|
||||
bfqd->tot_sectors_dispatched);
|
||||
}
|
||||
|
||||
-void bfq_update_rate_reset(struct bfq_data *bfqd, struct request *rq)
|
||||
+static void bfq_update_rate_reset(struct bfq_data *bfqd, struct request *rq)
|
||||
{
|
||||
u32 rate, weight, divisor;
|
||||
|
||||
@@ -2400,7 +2453,7 @@ void bfq_update_rate_reset(struct bfq_data *bfqd, struct request *rq)
|
||||
* total, and rate is below the current estimated peak rate
|
||||
* - rate is unreasonably high (> 20M sectors/sec)
|
||||
*/
|
||||
- if ((bfqd->peak_rate_samples > (3 * bfqd->sequential_samples)>>2 &&
|
||||
+ if ((bfqd->sequential_samples < (3 * bfqd->peak_rate_samples)>>2 &&
|
||||
rate <= bfqd->peak_rate) ||
|
||||
rate > 20<<BFQ_RATE_SHIFT) {
|
||||
bfq_log(bfqd,
|
||||
@@ -2515,7 +2568,7 @@ void bfq_update_rate_reset(struct bfq_data *bfqd, struct request *rq)
|
||||
* of the observed dispatch rate. The function assumes to be invoked
|
||||
* on every request dispatch.
|
||||
*/
|
||||
-void bfq_update_peak_rate(struct bfq_data *bfqd, struct request *rq)
|
||||
+static void bfq_update_peak_rate(struct bfq_data *bfqd, struct request *rq)
|
||||
{
|
||||
u64 now_ns = ktime_get_ns();
|
||||
|
||||
@@ -2616,29 +2669,6 @@ static void bfq_dispatch_insert(struct request_queue *q, struct request *rq)
|
||||
elv_dispatch_sort(q, rq);
|
||||
}
|
||||
|
||||
-/*
|
||||
- * Return expired entry, or NULL to just start from scratch in rbtree.
|
||||
- */
|
||||
-static struct request *bfq_check_fifo(struct bfq_queue *bfqq)
|
||||
-{
|
||||
- struct request *rq = NULL;
|
||||
-
|
||||
- if (bfq_bfqq_fifo_expire(bfqq))
|
||||
- return NULL;
|
||||
-
|
||||
- bfq_mark_bfqq_fifo_expire(bfqq);
|
||||
-
|
||||
- if (list_empty(&bfqq->fifo))
|
||||
- return NULL;
|
||||
-
|
||||
- rq = rq_entry_fifo(bfqq->fifo.next);
|
||||
-
|
||||
- if (ktime_get_ns() < rq->fifo_time)
|
||||
- return NULL;
|
||||
-
|
||||
- return rq;
|
||||
-}
|
||||
-
|
||||
static void __bfq_bfqq_expire(struct bfq_data *bfqd, struct bfq_queue *bfqq)
|
||||
{
|
||||
BUG_ON(bfqq != bfqd->in_service_queue);
|
||||
@@ -2904,8 +2934,8 @@ static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq,
|
||||
delta_ktime = ktime_sub(delta_ktime, bfqd->last_budget_start);
|
||||
delta_usecs = ktime_to_us(delta_ktime);
|
||||
|
||||
- /* don't trust short/unrealistic values. */
|
||||
- if (delta_usecs < 1000 || delta_usecs >= LONG_MAX) {
|
||||
+ /* don't use too short time intervals */
|
||||
+ if (delta_usecs < 1000) {
|
||||
if (blk_queue_nonrot(bfqd->queue))
|
||||
/*
|
||||
* give same worst-case guarantees as idling
|
||||
@@ -2915,7 +2945,7 @@ static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq,
|
||||
else /* charge at least one seek */
|
||||
*delta_ms = bfq_slice_idle / NSEC_PER_MSEC;
|
||||
|
||||
- bfq_log(bfqd, "bfq_bfqq_is_slow: unrealistic %u", delta_usecs);
|
||||
+ bfq_log(bfqd, "bfq_bfqq_is_slow: too short %u", delta_usecs);
|
||||
|
||||
return slow;
|
||||
}
|
||||
@@ -3067,6 +3097,7 @@ static void bfq_bfqq_expire(struct bfq_data *bfqd,
|
||||
bool slow;
|
||||
unsigned long delta = 0;
|
||||
struct bfq_entity *entity = &bfqq->entity;
|
||||
+ int ref;
|
||||
|
||||
BUG_ON(bfqq != bfqd->in_service_queue);
|
||||
|
||||
@@ -3174,12 +3205,15 @@ static void bfq_bfqq_expire(struct bfq_data *bfqd,
|
||||
__bfq_bfqq_recalc_budget(bfqd, bfqq, reason);
|
||||
BUG_ON(bfqq->next_rq == NULL &&
|
||||
bfqq->entity.budget < bfqq->entity.service);
|
||||
+ ref = bfqq->ref;
|
||||
__bfq_bfqq_expire(bfqd, bfqq);
|
||||
|
||||
- BUG_ON(!bfq_bfqq_busy(bfqq) && reason == BFQ_BFQQ_BUDGET_EXHAUSTED &&
|
||||
+ BUG_ON(ref > 1 &&
|
||||
+ !bfq_bfqq_busy(bfqq) && reason == BFQ_BFQQ_BUDGET_EXHAUSTED &&
|
||||
!bfq_class_idle(bfqq));
|
||||
|
||||
- if (!bfq_bfqq_busy(bfqq) &&
|
||||
+ /* mark bfqq as waiting a request only if a bic still points to it */
|
||||
+ if (ref > 1 && !bfq_bfqq_busy(bfqq) &&
|
||||
reason != BFQ_BFQQ_BUDGET_TIMEOUT &&
|
||||
reason != BFQ_BFQQ_BUDGET_EXHAUSTED)
|
||||
bfq_mark_bfqq_non_blocking_wait_rq(bfqq);
|
||||
@@ -3504,14 +3538,29 @@ static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd)
|
||||
!bfq_bfqq_must_idle(bfqq))
|
||||
goto expire;
|
||||
|
||||
+check_queue:
|
||||
+ /*
|
||||
+ * This loop is rarely executed more than once. Even when it
|
||||
+ * happens, it is much more convenient to re-execute this loop
|
||||
+ * than to return NULL and trigger a new dispatch to get a
|
||||
+ * request served.
|
||||
+ */
|
||||
next_rq = bfqq->next_rq;
|
||||
/*
|
||||
* If bfqq has requests queued and it has enough budget left to
|
||||
* serve them, keep the queue, otherwise expire it.
|
||||
*/
|
||||
if (next_rq) {
|
||||
+ BUG_ON(RB_EMPTY_ROOT(&bfqq->sort_list));
|
||||
+
|
||||
if (bfq_serv_to_charge(next_rq, bfqq) >
|
||||
bfq_bfqq_budget_left(bfqq)) {
|
||||
+ /*
|
||||
+ * Expire the queue for budget exhaustion,
|
||||
+ * which makes sure that the next budget is
|
||||
+ * enough to serve the next request, even if
|
||||
+ * it comes from the fifo expired path.
|
||||
+ */
|
||||
reason = BFQ_BFQQ_BUDGET_EXHAUSTED;
|
||||
goto expire;
|
||||
} else {
|
||||
@@ -3559,9 +3608,16 @@ static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd)
|
||||
bfq_bfqq_expire(bfqd, bfqq, false, reason);
|
||||
new_queue:
|
||||
bfqq = bfq_set_in_service_queue(bfqd);
|
||||
- bfq_log(bfqd, "select_queue: new queue %d returned",
|
||||
- bfqq ? bfqq->pid : 0);
|
||||
+ if (bfqq) {
|
||||
+ bfq_log_bfqq(bfqd, bfqq, "select_queue: checking new queue");
|
||||
+ goto check_queue;
|
||||
+ }
|
||||
keep_queue:
|
||||
+ if (bfqq)
|
||||
+ bfq_log_bfqq(bfqd, bfqq, "select_queue: returned this queue");
|
||||
+ else
|
||||
+ bfq_log(bfqd, "select_queue: no queue returned");
|
||||
+
|
||||
return bfqq;
|
||||
}
|
||||
|
||||
@@ -3627,45 +3683,17 @@ static int bfq_dispatch_request(struct bfq_data *bfqd,
|
||||
struct bfq_queue *bfqq)
|
||||
{
|
||||
int dispatched = 0;
|
||||
- struct request *rq;
|
||||
+ struct request *rq = bfqq->next_rq;
|
||||
unsigned long service_to_charge;
|
||||
|
||||
BUG_ON(RB_EMPTY_ROOT(&bfqq->sort_list));
|
||||
-
|
||||
- /* Follow expired path, else get first next available. */
|
||||
- rq = bfq_check_fifo(bfqq);
|
||||
- if (!rq)
|
||||
- rq = bfqq->next_rq;
|
||||
+ BUG_ON(!rq);
|
||||
service_to_charge = bfq_serv_to_charge(rq, bfqq);
|
||||
|
||||
- if (service_to_charge > bfq_bfqq_budget_left(bfqq)) {
|
||||
- /*
|
||||
- * This may happen if the next rq is chosen in fifo order
|
||||
- * instead of sector order. The budget is properly
|
||||
- * dimensioned to be always sufficient to serve the next
|
||||
- * request only if it is chosen in sector order. The reason
|
||||
- * is that it would be quite inefficient and little useful
|
||||
- * to always make sure that the budget is large enough to
|
||||
- * serve even the possible next rq in fifo order.
|
||||
- * In fact, requests are seldom served in fifo order.
|
||||
- *
|
||||
- * Expire the queue for budget exhaustion, and make sure
|
||||
- * that the next act_budget is enough to serve the next
|
||||
- * request, even if it comes from the fifo expired path.
|
||||
- */
|
||||
- bfqq->next_rq = rq;
|
||||
- /*
|
||||
- * Since this dispatch is failed, make sure that
|
||||
- * a new one will be performed
|
||||
- */
|
||||
- if (!bfqd->rq_in_driver)
|
||||
- bfq_schedule_dispatch(bfqd);
|
||||
- BUG_ON(bfqq->entity.budget < bfqq->entity.service);
|
||||
- goto expire;
|
||||
- }
|
||||
+ BUG_ON(service_to_charge > bfq_bfqq_budget_left(bfqq));
|
||||
|
||||
BUG_ON(bfqq->entity.budget < bfqq->entity.service);
|
||||
- /* Finally, insert request into driver dispatch list. */
|
||||
+
|
||||
bfq_bfqq_served(bfqq, service_to_charge);
|
||||
|
||||
BUG_ON(bfqq->entity.budget < bfqq->entity.service);
|
||||
@@ -3805,7 +3833,8 @@ static int bfq_dispatch_requests(struct request_queue *q, int force)
|
||||
* Task holds one reference to the queue, dropped when task exits. Each rq
|
||||
* in-flight on this queue also holds a reference, dropped when rq is freed.
|
||||
*
|
||||
- * Queue lock must be held here.
|
||||
+ * Queue lock must be held here. Recall not to use bfqq after calling
|
||||
+ * this function on it.
|
||||
*/
|
||||
static void bfq_put_queue(struct bfq_queue *bfqq)
|
||||
{
|
||||
@@ -3874,7 +3903,7 @@ static void bfq_exit_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq)
|
||||
|
||||
bfq_put_cooperator(bfqq);
|
||||
|
||||
- bfq_put_queue(bfqq);
|
||||
+ bfq_put_queue(bfqq); /* release process reference */
|
||||
}
|
||||
|
||||
static void bfq_init_icq(struct io_cq *icq)
|
||||
@@ -3973,6 +4002,7 @@ static void bfq_check_ioprio_change(struct bfq_io_cq *bic, struct bio *bio)
|
||||
|
||||
bfqq = bic_to_bfqq(bic, false);
|
||||
if (bfqq) {
|
||||
+ /* release process reference on this queue */
|
||||
bfq_put_queue(bfqq);
|
||||
bfqq = bfq_get_queue(bfqd, bio, BLK_RW_ASYNC, bic);
|
||||
bic_set_bfqq(bic, bfqq, false);
|
||||
@@ -4093,14 +4123,20 @@ static struct bfq_queue *bfq_get_queue(struct bfq_data *bfqd,
|
||||
* prune it.
|
||||
*/
|
||||
if (async_bfqq) {
|
||||
- bfqq->ref++;
|
||||
+ bfqq->ref++; /*
|
||||
+ * Extra group reference, w.r.t. sync
|
||||
+ * queue. This extra reference is removed
|
||||
+ * only if bfqq->bfqg disappears, to
|
||||
+ * guarantee that this queue is not freed
|
||||
+ * until its group goes away.
|
||||
+ */
|
||||
bfq_log_bfqq(bfqd, bfqq, "get_queue, bfqq not in async: %p, %d",
|
||||
bfqq, bfqq->ref);
|
||||
*async_bfqq = bfqq;
|
||||
}
|
||||
|
||||
out:
|
||||
- bfqq->ref++;
|
||||
+ bfqq->ref++; /* get a process reference to this queue */
|
||||
bfq_log_bfqq(bfqd, bfqq, "get_queue, at end: %p, %d", bfqq, bfqq->ref);
|
||||
rcu_read_unlock();
|
||||
return bfqq;
|
||||
@@ -4274,10 +4310,14 @@ static void bfq_insert_request(struct request_queue *q, struct request *rq)
|
||||
bfqq->allocated[rq_data_dir(rq)]--;
|
||||
new_bfqq->ref++;
|
||||
bfq_clear_bfqq_just_created(bfqq);
|
||||
- bfq_put_queue(bfqq);
|
||||
if (bic_to_bfqq(RQ_BIC(rq), 1) == bfqq)
|
||||
bfq_merge_bfqqs(bfqd, RQ_BIC(rq),
|
||||
bfqq, new_bfqq);
|
||||
+ /*
|
||||
+ * rq is about to be enqueued into new_bfqq,
|
||||
+ * release rq reference on bfqq
|
||||
+ */
|
||||
+ bfq_put_queue(bfqq);
|
||||
rq->elv.priv[1] = new_bfqq;
|
||||
bfqq = new_bfqq;
|
||||
}
|
||||
@@ -4697,9 +4737,8 @@ static void bfq_shutdown_timer_wq(struct bfq_data *bfqd)
|
||||
cancel_work_sync(&bfqd->unplug_work);
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_BFQ_GROUP_IOSCHED
|
||||
static void __bfq_put_async_bfqq(struct bfq_data *bfqd,
|
||||
- struct bfq_queue **bfqq_ptr)
|
||||
+ struct bfq_queue **bfqq_ptr)
|
||||
{
|
||||
struct bfq_group *root_group = bfqd->root_group;
|
||||
struct bfq_queue *bfqq = *bfqq_ptr;
|
||||
@@ -4730,7 +4769,6 @@ static void bfq_put_async_queues(struct bfq_data *bfqd, struct bfq_group *bfqg)
|
||||
|
||||
__bfq_put_async_bfqq(bfqd, &bfqg->async_idle_bfqq);
|
||||
}
|
||||
-#endif
|
||||
|
||||
static void bfq_exit_queue(struct elevator_queue *e)
|
||||
{
|
||||
@@ -4755,6 +4793,7 @@ static void bfq_exit_queue(struct elevator_queue *e)
|
||||
#ifdef CONFIG_BFQ_GROUP_IOSCHED
|
||||
blkcg_deactivate_policy(q, &blkcg_policy_bfq);
|
||||
#else
|
||||
+ bfq_put_async_queues(bfqd, bfqd->root_group);
|
||||
kfree(bfqd->root_group);
|
||||
#endif
|
||||
|
||||
@@ -5229,7 +5268,7 @@ static struct blkcg_policy blkcg_policy_bfq = {
|
||||
static int __init bfq_init(void)
|
||||
{
|
||||
int ret;
|
||||
- char msg[60] = "BFQ I/O-scheduler: v8r7";
|
||||
+ char msg[60] = "BFQ I/O-scheduler: v8r10";
|
||||
|
||||
#ifdef CONFIG_BFQ_GROUP_IOSCHED
|
||||
ret = blkcg_policy_register(&blkcg_policy_bfq);
|
||||
@@ -5255,7 +5294,7 @@ static int __init bfq_init(void)
|
||||
* be run for a long time.
|
||||
*/
|
||||
T_slow[0] = msecs_to_jiffies(3500); /* actually 4 sec */
|
||||
- T_slow[1] = msecs_to_jiffies(1000); /* actually 1.5 sec */
|
||||
+ T_slow[1] = msecs_to_jiffies(6000); /* actually 6.5 sec */
|
||||
T_fast[0] = msecs_to_jiffies(7000); /* actually 8 sec */
|
||||
T_fast[1] = msecs_to_jiffies(2500); /* actually 3 sec */
|
||||
|
||||
diff --git a/block/bfq-sched.c b/block/bfq-sched.c
|
||||
index 797bce7..70aac56 100644
|
||||
--- a/block/bfq-sched.c
|
||||
+++ b/block/bfq-sched.c
|
||||
@@ -154,7 +154,13 @@ static bool bfq_update_next_in_service(struct bfq_sched_data *sd,
|
||||
#define for_each_entity(entity) \
|
||||
for (; entity ; entity = entity->parent)
|
||||
|
||||
-#define for_each_entity_safe(entity, parent) \
|
||||
+/*
|
||||
+ * For each iteration, compute parent in advance, so as to be safe if
|
||||
+ * entity is deallocated during the iteration. Such a deallocation may
|
||||
+ * happen as a consequence of a bfq_put_queue that frees the bfq_queue
|
||||
+ * containing entity.
|
||||
+ */
|
||||
+#define for_each_entity_safe(entity, parent) \
|
||||
for (; entity && ({ parent = entity->parent; 1; }); entity = parent)
|
||||
|
||||
/*
|
||||
@@ -691,27 +697,31 @@ static void bfq_idle_insert(struct bfq_service_tree *st,
|
||||
}
|
||||
|
||||
/**
|
||||
- * bfq_forget_entity - remove an entity from the wfq trees.
|
||||
+ * bfq_forget_entity - do not consider entity any longer for scheduling
|
||||
* @st: the service tree.
|
||||
* @entity: the entity being removed.
|
||||
+ * @is_in_service: true if entity is currently the in-service entity.
|
||||
*
|
||||
- * Update the device status and forget everything about @entity, putting
|
||||
- * the device reference to it, if it is a queue. Entities belonging to
|
||||
- * groups are not refcounted.
|
||||
+ * Forget everything about @entity. In addition, if entity represents
|
||||
+ * a queue, and the latter is not in service, then release the service
|
||||
+ * reference to the queue (the one taken through bfq_get_entity). In
|
||||
+ * fact, in this case, there is really no more service reference to
|
||||
+ * the queue, as the latter is also outside any service tree. If,
|
||||
+ * instead, the queue is in service, then __bfq_bfqd_reset_in_service
|
||||
+ * will take care of putting the reference when the queue finally
|
||||
+ * stops being served.
|
||||
*/
|
||||
static void bfq_forget_entity(struct bfq_service_tree *st,
|
||||
- struct bfq_entity *entity)
|
||||
+ struct bfq_entity *entity,
|
||||
+ bool is_in_service)
|
||||
{
|
||||
struct bfq_queue *bfqq = bfq_entity_to_bfqq(entity);
|
||||
- struct bfq_sched_data *sd;
|
||||
-
|
||||
BUG_ON(!entity->on_st);
|
||||
|
||||
entity->on_st = false;
|
||||
st->wsum -= entity->weight;
|
||||
- if (bfqq) {
|
||||
- sd = entity->sched_data;
|
||||
- bfq_log_bfqq(bfqq->bfqd, bfqq, "forget_entity: %p %d",
|
||||
+ if (bfqq && !is_in_service) {
|
||||
+ bfq_log_bfqq(bfqq->bfqd, bfqq, "forget_entity (before): %p %d",
|
||||
bfqq, bfqq->ref);
|
||||
bfq_put_queue(bfqq);
|
||||
}
|
||||
@@ -726,7 +736,8 @@ static void bfq_put_idle_entity(struct bfq_service_tree *st,
|
||||
struct bfq_entity *entity)
|
||||
{
|
||||
bfq_idle_extract(st, entity);
|
||||
- bfq_forget_entity(st, entity);
|
||||
+ bfq_forget_entity(st, entity,
|
||||
+ entity == entity->sched_data->in_service_entity);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1082,6 +1093,12 @@ static void __bfq_activate_entity(struct bfq_entity *entity,
|
||||
*/
|
||||
entity->start = min_vstart;
|
||||
st->wsum += entity->weight;
|
||||
+ /*
|
||||
+ * entity is about to be inserted into a service tree,
|
||||
+ * and then set in service: get a reference to make
|
||||
+ * sure entity does not disappear until it is no
|
||||
+ * longer in service or scheduled for service.
|
||||
+ */
|
||||
bfq_get_entity(entity);
|
||||
|
||||
BUG_ON(entity->on_st && bfqq);
|
||||
@@ -1264,27 +1281,27 @@ static bool __bfq_deactivate_entity(struct bfq_entity *entity,
|
||||
{
|
||||
struct bfq_sched_data *sd = entity->sched_data;
|
||||
struct bfq_service_tree *st = bfq_entity_service_tree(entity);
|
||||
- bool was_in_service = entity == sd->in_service_entity;
|
||||
+ bool is_in_service = entity == sd->in_service_entity;
|
||||
|
||||
if (!entity->on_st) { /* entity never activated, or already inactive */
|
||||
BUG_ON(entity == entity->sched_data->in_service_entity);
|
||||
return false;
|
||||
}
|
||||
|
||||
- BUG_ON(was_in_service && entity->tree && entity->tree != &st->active);
|
||||
+ BUG_ON(is_in_service && entity->tree && entity->tree != &st->active);
|
||||
|
||||
- if (was_in_service)
|
||||
+ if (is_in_service)
|
||||
bfq_calc_finish(entity, entity->service);
|
||||
|
||||
if (entity->tree == &st->active)
|
||||
bfq_active_extract(st, entity);
|
||||
- else if (!was_in_service && entity->tree == &st->idle)
|
||||
+ else if (!is_in_service && entity->tree == &st->idle)
|
||||
bfq_idle_extract(st, entity);
|
||||
else if (entity->tree)
|
||||
BUG();
|
||||
|
||||
if (!ins_into_idle_tree || !bfq_gt(entity->finish, st->vtime))
|
||||
- bfq_forget_entity(st, entity);
|
||||
+ bfq_forget_entity(st, entity, is_in_service);
|
||||
else
|
||||
bfq_idle_insert(st, entity);
|
||||
|
||||
@@ -1301,7 +1318,7 @@ static void bfq_deactivate_entity(struct bfq_entity *entity,
|
||||
bool expiration)
|
||||
{
|
||||
struct bfq_sched_data *sd;
|
||||
- struct bfq_entity *parent;
|
||||
+ struct bfq_entity *parent = NULL;
|
||||
|
||||
for_each_entity_safe(entity, parent) {
|
||||
sd = entity->sched_data;
|
||||
@@ -1320,8 +1337,8 @@ static void bfq_deactivate_entity(struct bfq_entity *entity,
|
||||
|
||||
if (!__bfq_deactivate_entity(entity, ins_into_idle_tree)) {
|
||||
/*
|
||||
- * Entity is not any tree any more, so, this
|
||||
- * deactivation is a no-op, and there is
|
||||
+ * entity is not in any tree any more, so
|
||||
+ * this deactivation is a no-op, and there is
|
||||
* nothing to change for upper-level entities
|
||||
* (in case of expiration, this can never
|
||||
* happen).
|
||||
@@ -1821,14 +1838,16 @@ static struct bfq_queue *bfq_get_next_queue(struct bfq_data *bfqd)
|
||||
|
||||
static void __bfq_bfqd_reset_in_service(struct bfq_data *bfqd)
|
||||
{
|
||||
- struct bfq_entity *entity = &bfqd->in_service_queue->entity;
|
||||
+ struct bfq_queue *in_serv_bfqq = bfqd->in_service_queue;
|
||||
+ struct bfq_entity *in_serv_entity = &in_serv_bfqq->entity;
|
||||
+ struct bfq_entity *entity = in_serv_entity;
|
||||
|
||||
if (bfqd->in_service_bic) {
|
||||
put_io_context(bfqd->in_service_bic->icq.ioc);
|
||||
bfqd->in_service_bic = NULL;
|
||||
}
|
||||
|
||||
- bfq_clear_bfqq_wait_request(bfqd->in_service_queue);
|
||||
+ bfq_clear_bfqq_wait_request(in_serv_bfqq);
|
||||
hrtimer_try_to_cancel(&bfqd->idle_slice_timer);
|
||||
bfqd->in_service_queue = NULL;
|
||||
|
||||
@@ -1840,6 +1859,14 @@ static void __bfq_bfqd_reset_in_service(struct bfq_data *bfqd)
|
||||
*/
|
||||
for_each_entity(entity)
|
||||
entity->sched_data->in_service_entity = NULL;
|
||||
+
|
||||
+ /*
|
||||
+ * in_serv_entity is no longer in service, so, if it is in no
|
||||
+ * service tree either, then release the service reference to
|
||||
+ * the queue it represents (taken with bfq_get_entity).
|
||||
+ */
|
||||
+ if (!in_serv_entity->on_st)
|
||||
+ bfq_put_queue(in_serv_bfqq);
|
||||
}
|
||||
|
||||
static void bfq_deactivate_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq,
|
||||
@@ -1904,8 +1931,6 @@ static void bfq_del_bfqq_busy(struct bfq_data *bfqd, struct bfq_queue *bfqq,
|
||||
BUG_ON(bfqq->entity.budget < 0);
|
||||
|
||||
bfq_deactivate_bfqq(bfqd, bfqq, true, expiration);
|
||||
-
|
||||
- BUG_ON(bfqq->entity.budget < 0);
|
||||
}
|
||||
|
||||
/*
|
||||
diff --git a/block/bfq.h b/block/bfq.h
|
||||
index a9da002..e3855af 100644
|
||||
--- a/block/bfq.h
|
||||
+++ b/block/bfq.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * BFQ v8r7 for 4.9.0: data structures and common functions prototypes.
|
||||
+ * BFQ v8r10 for 4.9.0: data structures and common functions prototypes.
|
||||
*
|
||||
* Based on ideas and code from CFQ:
|
||||
* Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
|
||||
@@ -9,7 +9,7 @@
|
||||
*
|
||||
* Copyright (C) 2015 Paolo Valente <paolo.valente@unimore.it>
|
||||
*
|
||||
- * Copyright (C) 2016 Paolo Valente <paolo.valente@linaro.org>
|
||||
+ * Copyright (C) 2017 Paolo Valente <paolo.valente@linaro.org>
|
||||
*/
|
||||
|
||||
#ifndef _BFQ_H
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
From bc33c5df710c0aae6db396146194108634ef6f60 Mon Sep 17 00:00:00 2001
|
||||
From: "Winkler, Tomas" <tomas.winkler@intel.com>
|
||||
Date: Mon, 12 Sep 2016 16:04:19 +0300
|
||||
Subject: [PATCH] tmp/tpm_crb: fix Intel PTT hw bug during idle state
|
||||
|
||||
There is a HW bug in Skylake, and Broxton PCH Intel PTT device, where
|
||||
most of the registers in the control area except START, REQUEST, CANCEL,
|
||||
and LOC_CTRL lost retention when the device is in the idle state. Hence
|
||||
we need to bring the device to ready state before accessing the other
|
||||
registers. The fix brings device to ready state before trying to read
|
||||
command and response buffer addresses in order to remap the for access.
|
||||
|
||||
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinn@linux.intel.com>
|
||||
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinn@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
---
|
||||
drivers/char/tpm/tpm_crb.c | 47 ++++++++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 39 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
|
||||
index 8dd0f20..ff0d505 100644
|
||||
--- a/drivers/char/tpm/tpm_crb.c
|
||||
+++ b/drivers/char/tpm/tpm_crb.c
|
||||
@@ -315,6 +315,7 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
|
||||
struct list_head resources;
|
||||
struct resource io_res;
|
||||
struct device *dev = &device->dev;
|
||||
+ u32 pa_high, pa_low;
|
||||
u64 cmd_pa;
|
||||
u32 cmd_size;
|
||||
u64 rsp_pa;
|
||||
@@ -342,12 +343,27 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
|
||||
if (IS_ERR(priv->cca))
|
||||
return PTR_ERR(priv->cca);
|
||||
|
||||
- cmd_pa = ((u64) ioread32(&priv->cca->cmd_pa_high) << 32) |
|
||||
- (u64) ioread32(&priv->cca->cmd_pa_low);
|
||||
+ /*
|
||||
+ * PTT HW bug w/a: wake up the device to access
|
||||
+ * possibly not retained registers.
|
||||
+ */
|
||||
+ ret = crb_cmd_ready(dev, priv);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ pa_high = ioread32(&priv->cca->cmd_pa_high);
|
||||
+ pa_low = ioread32(&priv->cca->cmd_pa_low);
|
||||
+ cmd_pa = ((u64)pa_high << 32) | pa_low;
|
||||
cmd_size = ioread32(&priv->cca->cmd_size);
|
||||
+
|
||||
+ dev_dbg(dev, "cmd_hi = %X cmd_low = %X cmd_size %X\n",
|
||||
+ pa_high, pa_low, cmd_size);
|
||||
+
|
||||
priv->cmd = crb_map_res(dev, priv, &io_res, cmd_pa, cmd_size);
|
||||
- if (IS_ERR(priv->cmd))
|
||||
- return PTR_ERR(priv->cmd);
|
||||
+ if (IS_ERR(priv->cmd)) {
|
||||
+ ret = PTR_ERR(priv->cmd);
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
memcpy_fromio(&rsp_pa, &priv->cca->rsp_pa, 8);
|
||||
rsp_pa = le64_to_cpu(rsp_pa);
|
||||
@@ -355,7 +371,8 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
|
||||
|
||||
if (cmd_pa != rsp_pa) {
|
||||
priv->rsp = crb_map_res(dev, priv, &io_res, rsp_pa, rsp_size);
|
||||
- return PTR_ERR_OR_ZERO(priv->rsp);
|
||||
+ ret = PTR_ERR_OR_ZERO(priv->rsp);
|
||||
+ goto out;
|
||||
}
|
||||
|
||||
/* According to the PTP specification, overlapping command and response
|
||||
@@ -363,12 +380,18 @@ static int crb_map_io(struct acpi_device *device, struct crb_priv *priv,
|
||||
*/
|
||||
if (cmd_size != rsp_size) {
|
||||
dev_err(dev, FW_BUG "overlapping command and response buffer sizes are not identical");
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto out;
|
||||
}
|
||||
+
|
||||
priv->cmd_size = cmd_size;
|
||||
|
||||
priv->rsp = priv->cmd;
|
||||
- return 0;
|
||||
+
|
||||
+out:
|
||||
+ crb_go_idle(dev, priv);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int crb_acpi_add(struct acpi_device *device)
|
||||
@@ -412,7 +435,15 @@ static int crb_acpi_add(struct acpi_device *device)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
- return crb_init(device, priv);
|
||||
+ rc = crb_cmd_ready(dev, priv);
|
||||
+ if (rc)
|
||||
+ return rc;
|
||||
+
|
||||
+ rc = crb_init(device, priv);
|
||||
+ if (rc)
|
||||
+ crb_go_idle(dev, priv);
|
||||
+
|
||||
+ return rc;
|
||||
}
|
||||
|
||||
static int crb_acpi_remove(struct acpi_device *device)
|
||||
--
|
||||
2.10.2
|
||||
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
From e74f2f76c13770bb8e004475a933923e9c92723d Mon Sep 17 00:00:00 2001
|
||||
From: "Winkler, Tomas" <tomas.winkler@intel.com>
|
||||
Date: Sat, 8 Oct 2016 14:59:39 +0300
|
||||
Subject: [PATCH] tmp/tpm_crb: implement runtime pm for tpm_crb
|
||||
|
||||
Utilize runtime_pm for driving tpm crb idle states.
|
||||
The framework calls cmd_ready from the pm_runtime_resume handler
|
||||
and go idle from the pm_runtime_suspend handler.
|
||||
The TPM framework should wake the device before transmit and receive.
|
||||
In case the runtime_pm framework is not compiled in or enabled, the device
|
||||
will be in the permanent ready state.
|
||||
|
||||
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
||||
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
---
|
||||
drivers/char/tpm/tpm-interface.c | 5 +++++
|
||||
drivers/char/tpm/tpm_crb.c | 42 ++++++++++++++++++++++++++++++++++++----
|
||||
2 files changed, 43 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
|
||||
index 3a9149c..cb0e57e 100644
|
||||
--- a/drivers/char/tpm/tpm-interface.c
|
||||
+++ b/drivers/char/tpm/tpm-interface.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/freezer.h>
|
||||
+#include <linux/pm_runtime.h>
|
||||
|
||||
#include "tpm.h"
|
||||
#include "tpm_eventlog.h"
|
||||
@@ -356,6 +357,8 @@ ssize_t tpm_transmit(struct tpm_chip *chip, const u8 *buf, size_t bufsiz,
|
||||
if (!(flags & TPM_TRANSMIT_UNLOCKED))
|
||||
mutex_lock(&chip->tpm_mutex);
|
||||
|
||||
+ pm_runtime_get_sync(chip->dev.parent);
|
||||
+
|
||||
rc = chip->ops->send(chip, (u8 *) buf, count);
|
||||
if (rc < 0) {
|
||||
dev_err(&chip->dev,
|
||||
@@ -397,6 +400,8 @@ ssize_t tpm_transmit(struct tpm_chip *chip, const u8 *buf, size_t bufsiz,
|
||||
dev_err(&chip->dev,
|
||||
"tpm_transmit: tpm_recv: error %zd\n", rc);
|
||||
out:
|
||||
+ pm_runtime_put_sync(chip->dev.parent);
|
||||
+
|
||||
if (!(flags & TPM_TRANSMIT_UNLOCKED))
|
||||
mutex_unlock(&chip->tpm_mutex);
|
||||
return rc;
|
||||
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
|
||||
index f579f1a..717b6b4 100644
|
||||
--- a/drivers/char/tpm/tpm_crb.c
|
||||
+++ b/drivers/char/tpm/tpm_crb.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/module.h>
|
||||
+#include <linux/pm_runtime.h>
|
||||
#include "tpm.h"
|
||||
|
||||
#define ACPI_SIG_TPM2 "TPM2"
|
||||
@@ -149,8 +150,6 @@ static int __maybe_unused crb_cmd_ready(struct device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static SIMPLE_DEV_PM_OPS(crb_pm, tpm_pm_suspend, tpm_pm_resume);
|
||||
-
|
||||
static u8 crb_status(struct tpm_chip *chip)
|
||||
{
|
||||
struct crb_priv *priv = dev_get_drvdata(&chip->dev);
|
||||
@@ -433,11 +432,21 @@ static int crb_acpi_add(struct acpi_device *device)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
+ pm_runtime_get_noresume(dev);
|
||||
+ pm_runtime_set_active(dev);
|
||||
+ pm_runtime_enable(dev);
|
||||
+
|
||||
rc = tpm_chip_register(chip);
|
||||
- if (rc)
|
||||
+ if (rc) {
|
||||
crb_go_idle(dev, priv);
|
||||
+ pm_runtime_put_noidle(dev);
|
||||
+ pm_runtime_disable(dev);
|
||||
+ return rc;
|
||||
+ }
|
||||
|
||||
- return rc;
|
||||
+ pm_runtime_put(dev);
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static int crb_acpi_remove(struct acpi_device *device)
|
||||
@@ -447,9 +456,34 @@ static int crb_acpi_remove(struct acpi_device *device)
|
||||
|
||||
tpm_chip_unregister(chip);
|
||||
|
||||
+ pm_runtime_disable(dev);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_PM
|
||||
+static int crb_pm_runtime_suspend(struct device *dev)
|
||||
+{
|
||||
+ struct tpm_chip *chip = dev_get_drvdata(dev);
|
||||
+ struct crb_priv *priv = dev_get_drvdata(&chip->dev);
|
||||
+
|
||||
+ return crb_go_idle(dev, priv);
|
||||
+}
|
||||
+
|
||||
+static int crb_pm_runtime_resume(struct device *dev)
|
||||
+{
|
||||
+ struct tpm_chip *chip = dev_get_drvdata(dev);
|
||||
+ struct crb_priv *priv = dev_get_drvdata(&chip->dev);
|
||||
+
|
||||
+ return crb_cmd_ready(dev, priv);
|
||||
+}
|
||||
+#endif /* CONFIG_PM */
|
||||
+
|
||||
+static const struct dev_pm_ops crb_pm = {
|
||||
+ SET_SYSTEM_SLEEP_PM_OPS(tpm_pm_suspend, tpm_pm_resume)
|
||||
+ SET_RUNTIME_PM_OPS(crb_pm_runtime_suspend, crb_pm_runtime_resume, NULL)
|
||||
+};
|
||||
+
|
||||
static struct acpi_device_id crb_device_ids[] = {
|
||||
{"MSFT0101", 0},
|
||||
{"", 0},
|
||||
--
|
||||
2.10.2
|
||||
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
From ba5287b6ef6a2ee91dc6cc0829649cecf7b70253 Mon Sep 17 00:00:00 2001
|
||||
From: "Winkler, Tomas" <tomas.winkler@intel.com>
|
||||
Date: Thu, 15 Sep 2016 10:27:38 +0300
|
||||
Subject: [PATCH] tpm/tpm_crb: implement tpm crb idle state
|
||||
|
||||
The register TPM_CRB_CTRL_REQ_x contains bits goIdle and cmdReady for
|
||||
SW to indicate that the device can enter or should exit the idle state.
|
||||
|
||||
The legacy ACPI-start (SMI + DMA) based devices do not support these
|
||||
bits and the idle state management is not exposed to the host SW.
|
||||
Thus, this functionality only is enabled only for a CRB start (MMIO)
|
||||
based devices.
|
||||
|
||||
Based on Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
original patch:
|
||||
'tpm_crb: implement power tpm crb power management'
|
||||
|
||||
To keep the implementation local to the hw we don't use wait_for_tpm_stat
|
||||
for polling the TPM_CRB_CTRL_REQ.
|
||||
|
||||
[jarkko.sakkinen@linux.intel.com: removed cmdReady debug trace on a
|
||||
success case due the heavy amount of log traffic it causes.]
|
||||
|
||||
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
||||
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
---
|
||||
drivers/char/tpm/tpm_crb.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
|
||||
index a7c870a..8dd0f20 100644
|
||||
--- a/drivers/char/tpm/tpm_crb.c
|
||||
+++ b/drivers/char/tpm/tpm_crb.c
|
||||
@@ -83,6 +83,72 @@ struct crb_priv {
|
||||
u32 cmd_size;
|
||||
};
|
||||
|
||||
+/**
|
||||
+ * crb_go_idle - request tpm crb device to go the idle state
|
||||
+ *
|
||||
+ * @dev: crb device
|
||||
+ * @priv: crb private data
|
||||
+ *
|
||||
+ * Write CRB_CTRL_REQ_GO_IDLE to TPM_CRB_CTRL_REQ
|
||||
+ * The device should respond within TIMEOUT_C by clearing the bit.
|
||||
+ * Anyhow, we do not wait here as a consequent CMD_READY request
|
||||
+ * will be handled correctly even if idle was not completed.
|
||||
+ *
|
||||
+ * The function does nothing for devices with ACPI-start method.
|
||||
+ *
|
||||
+ * Return: 0 always
|
||||
+ */
|
||||
+static int __maybe_unused crb_go_idle(struct device *dev, struct crb_priv *priv)
|
||||
+{
|
||||
+ if (priv->flags & CRB_FL_ACPI_START)
|
||||
+ return 0;
|
||||
+
|
||||
+ iowrite32(CRB_CTRL_REQ_GO_IDLE, &priv->cca->req);
|
||||
+ /* we don't really care when this settles */
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ * crb_cmd_ready - request tpm crb device to enter ready state
|
||||
+ *
|
||||
+ * @dev: crb device
|
||||
+ * @priv: crb private data
|
||||
+ *
|
||||
+ * Write CRB_CTRL_REQ_CMD_READY to TPM_CRB_CTRL_REQ
|
||||
+ * and poll till the device acknowledge it by clearing the bit.
|
||||
+ * The device should respond within TIMEOUT_C.
|
||||
+ *
|
||||
+ * The function does nothing for devices with ACPI-start method
|
||||
+ *
|
||||
+ * Return: 0 on success -ETIME on timeout;
|
||||
+ */
|
||||
+static int __maybe_unused crb_cmd_ready(struct device *dev,
|
||||
+ struct crb_priv *priv)
|
||||
+{
|
||||
+ ktime_t stop, start;
|
||||
+
|
||||
+ if (priv->flags & CRB_FL_ACPI_START)
|
||||
+ return 0;
|
||||
+
|
||||
+ iowrite32(CRB_CTRL_REQ_CMD_READY, &priv->cca->req);
|
||||
+
|
||||
+ start = ktime_get();
|
||||
+ stop = ktime_add(start, ms_to_ktime(TPM2_TIMEOUT_C));
|
||||
+ do {
|
||||
+ if (!(ioread32(&priv->cca->req) & CRB_CTRL_REQ_CMD_READY))
|
||||
+ return 0;
|
||||
+ usleep_range(50, 100);
|
||||
+ } while (ktime_before(ktime_get(), stop));
|
||||
+
|
||||
+ if (ioread32(&priv->cca->req) & CRB_CTRL_REQ_CMD_READY) {
|
||||
+ dev_warn(dev, "cmdReady timed out\n");
|
||||
+ return -ETIME;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static SIMPLE_DEV_PM_OPS(crb_pm, tpm_pm_suspend, tpm_pm_resume);
|
||||
|
||||
static u8 crb_status(struct tpm_chip *chip)
|
||||
--
|
||||
2.10.2
|
||||
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
From c58bd34cec4c05f8e3362a79ae94de9f405c39b5 Mon Sep 17 00:00:00 2001
|
||||
From: "Winkler, Tomas" <tomas.winkler@intel.com>
|
||||
Date: Mon, 12 Sep 2016 16:04:20 +0300
|
||||
Subject: [PATCH] tpm/tpm_crb: open code the crb_init into acpi_add
|
||||
|
||||
This is preparation step for implementing tpm crb
|
||||
runtime pm. We need to have tpm chip allocated
|
||||
and populated before we access the runtime handlers.
|
||||
|
||||
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
||||
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
|
||||
---
|
||||
drivers/char/tpm/tpm_crb.c | 26 ++++++++++----------------
|
||||
1 file changed, 10 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm_crb.c b/drivers/char/tpm/tpm_crb.c
|
||||
index ff0d505..f579f1a 100644
|
||||
--- a/drivers/char/tpm/tpm_crb.c
|
||||
+++ b/drivers/char/tpm/tpm_crb.c
|
||||
@@ -262,21 +262,6 @@ static const struct tpm_class_ops tpm_crb = {
|
||||
.req_complete_val = CRB_DRV_STS_COMPLETE,
|
||||
};
|
||||
|
||||
-static int crb_init(struct acpi_device *device, struct crb_priv *priv)
|
||||
-{
|
||||
- struct tpm_chip *chip;
|
||||
-
|
||||
- chip = tpmm_chip_alloc(&device->dev, &tpm_crb);
|
||||
- if (IS_ERR(chip))
|
||||
- return PTR_ERR(chip);
|
||||
-
|
||||
- dev_set_drvdata(&chip->dev, priv);
|
||||
- chip->acpi_dev_handle = device->handle;
|
||||
- chip->flags = TPM_CHIP_FLAG_TPM2;
|
||||
-
|
||||
- return tpm_chip_register(chip);
|
||||
-}
|
||||
-
|
||||
static int crb_check_resource(struct acpi_resource *ares, void *data)
|
||||
{
|
||||
struct resource *io_res = data;
|
||||
@@ -398,6 +383,7 @@ static int crb_acpi_add(struct acpi_device *device)
|
||||
{
|
||||
struct acpi_table_tpm2 *buf;
|
||||
struct crb_priv *priv;
|
||||
+ struct tpm_chip *chip;
|
||||
struct device *dev = &device->dev;
|
||||
acpi_status status;
|
||||
u32 sm;
|
||||
@@ -435,11 +421,19 @@ static int crb_acpi_add(struct acpi_device *device)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
+ chip = tpmm_chip_alloc(dev, &tpm_crb);
|
||||
+ if (IS_ERR(chip))
|
||||
+ return PTR_ERR(chip);
|
||||
+
|
||||
+ dev_set_drvdata(&chip->dev, priv);
|
||||
+ chip->acpi_dev_handle = device->handle;
|
||||
+ chip->flags = TPM_CHIP_FLAG_TPM2;
|
||||
+
|
||||
rc = crb_cmd_ready(dev, priv);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
- rc = crb_init(device, priv);
|
||||
+ rc = tpm_chip_register(chip);
|
||||
if (rc)
|
||||
crb_go_idle(dev, priv);
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -8,13 +8,14 @@ Signed-off-by: Thomas Backlund <tmb@mageia.org>
|
||||
drivers/md/dm-raid.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- linux-2.6.38.2-mga2/drivers/md/dm-raid.c.orig 2011-03-15 03:20:32.000000000 +0200
|
||||
+++ linux-2.6.38.2-mga2/drivers/md/dm-raid.c 2011-04-02 21:52:21.331302590 +0300
|
||||
@@ -693,5 +693,7 @@ MODULE_DESCRIPTION(DM_NAME " raid4/5/6 t
|
||||
--- linux/drivers/md/dm-raid.c.orig
|
||||
+++ linux/drivers/md/dm-raid.c
|
||||
@@ -3689,6 +3689,8 @@ MODULE_ALIAS("dm-raid10");
|
||||
MODULE_ALIAS("dm-raid4");
|
||||
MODULE_ALIAS("dm-raid5");
|
||||
MODULE_ALIAS("dm-raid6");
|
||||
+MODULE_ALIAS("dm-raid45");
|
||||
+MODULE_ALIAS("dm-raid4-5");
|
||||
MODULE_AUTHOR("Neil Brown <dm-devel@redhat.com>");
|
||||
MODULE_AUTHOR("Heinz Mauelshagen <dm-devel@redhat.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
+114
-94
@@ -1,9 +1,10 @@
|
||||
|
||||
fs/aufs/Kconfig | 2 +-
|
||||
fs/dcache.c | 1 +
|
||||
fs/dcache.c | 2 ++
|
||||
fs/exec.c | 1 +
|
||||
fs/fcntl.c | 1 +
|
||||
fs/file_table.c | 4 ++++
|
||||
fs/inode.c | 1 +
|
||||
fs/namespace.c | 2 ++
|
||||
fs/notify/group.c | 4 ++++
|
||||
fs/notify/mark.c | 4 ++++
|
||||
@@ -15,11 +16,11 @@
|
||||
security/commoncap.c | 2 ++
|
||||
security/device_cgroup.c | 2 ++
|
||||
security/security.c | 10 ++++++++++
|
||||
16 files changed, 40 insertions(+), 1 deletion(-)
|
||||
17 files changed, 42 insertions(+), 1 deletion(-)
|
||||
|
||||
diff -Nurp linux-4.4.3-aufs/fs/aufs/Kconfig linux-4.4.3-aufs-mod/fs/aufs/Kconfig
|
||||
--- linux-4.4.3-aufs/fs/aufs/Kconfig 2016-03-02 17:59:37.360498681 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/aufs/Kconfig 2016-03-03 09:50:41.232631276 +0200
|
||||
diff -Nurp linux-4.9-aufs/fs/aufs/Kconfig linux-4.9-aufs-mod/fs/aufs/Kconfig
|
||||
--- linux-4.9-aufs/fs/aufs/Kconfig 2016-12-31 00:31:52.367789380 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/aufs/Kconfig 2016-12-31 00:32:35.153785422 +0200
|
||||
@@ -1,5 +1,5 @@
|
||||
config AUFS_FS
|
||||
- bool "Aufs (Advanced multi layered unification filesystem) support"
|
||||
@@ -27,9 +28,9 @@ diff -Nurp linux-4.4.3-aufs/fs/aufs/Kconfig linux-4.4.3-aufs-mod/fs/aufs/Kconfig
|
||||
help
|
||||
Aufs is a stackable unification filesystem such as Unionfs,
|
||||
which unifies several directories and provides a merged single
|
||||
diff -Nurp linux-4.4.3-aufs/fs/dcache.c linux-4.4.3-aufs-mod/fs/dcache.c
|
||||
--- linux-4.4.3-aufs/fs/dcache.c 2016-03-02 17:59:37.376498796 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/dcache.c 2016-03-03 09:50:34.633586562 +0200
|
||||
diff -Nurp linux-4.9-aufs/fs/dcache.c linux-4.9-aufs-mod/fs/dcache.c
|
||||
--- linux-4.9-aufs/fs/dcache.c 2016-12-31 00:31:52.379789379 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/dcache.c 2016-12-31 01:49:12.324360147 +0200
|
||||
@@ -1272,6 +1272,7 @@ rename_retry:
|
||||
seq = 1;
|
||||
goto again;
|
||||
@@ -38,10 +39,18 @@ diff -Nurp linux-4.4.3-aufs/fs/dcache.c linux-4.4.3-aufs-mod/fs/dcache.c
|
||||
|
||||
/*
|
||||
* Search for at least 1 mount point in the dentry's subdirs.
|
||||
diff -Nurp linux-4.4.3-aufs/fs/exec.c linux-4.4.3-aufs-mod/fs/exec.c
|
||||
--- linux-4.4.3-aufs/fs/exec.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/exec.c 2016-03-03 09:50:34.633586562 +0200
|
||||
@@ -103,6 +103,7 @@ bool path_noexec(const struct path *path
|
||||
@@ -2855,6 +2856,7 @@ void d_exchange(struct dentry *dentry1,
|
||||
|
||||
write_sequnlock(&rename_lock);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(d_exchange);
|
||||
|
||||
/**
|
||||
* d_ancestor - search for an ancestor
|
||||
diff -Nurp linux-4.9-aufs/fs/exec.c linux-4.9-aufs-mod/fs/exec.c
|
||||
--- linux-4.9-aufs/fs/exec.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/exec.c 2016-12-31 00:32:35.153785422 +0200
|
||||
@@ -104,6 +104,7 @@ bool path_noexec(const struct path *path
|
||||
return (path->mnt->mnt_flags & MNT_NOEXEC) ||
|
||||
(path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC);
|
||||
}
|
||||
@@ -49,10 +58,10 @@ diff -Nurp linux-4.4.3-aufs/fs/exec.c linux-4.4.3-aufs-mod/fs/exec.c
|
||||
|
||||
#ifdef CONFIG_USELIB
|
||||
/*
|
||||
diff -Nurp linux-4.4.3-aufs/fs/fcntl.c linux-4.4.3-aufs-mod/fs/fcntl.c
|
||||
--- linux-4.4.3-aufs/fs/fcntl.c 2016-03-02 17:59:37.376498796 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/fcntl.c 2016-03-03 09:50:34.633586562 +0200
|
||||
@@ -81,6 +81,7 @@ int setfl(int fd, struct file * filp, un
|
||||
diff -Nurp linux-4.9-aufs/fs/fcntl.c linux-4.9-aufs-mod/fs/fcntl.c
|
||||
--- linux-4.9-aufs/fs/fcntl.c 2016-12-31 00:31:52.379789379 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/fcntl.c 2016-12-31 00:32:35.154785422 +0200
|
||||
@@ -82,6 +82,7 @@ int setfl(int fd, struct file * filp, un
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
@@ -60,9 +69,9 @@ diff -Nurp linux-4.4.3-aufs/fs/fcntl.c linux-4.4.3-aufs-mod/fs/fcntl.c
|
||||
|
||||
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
|
||||
int force)
|
||||
diff -Nurp linux-4.4.3-aufs/fs/file_table.c linux-4.4.3-aufs-mod/fs/file_table.c
|
||||
--- linux-4.4.3-aufs/fs/file_table.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/file_table.c 2016-03-03 09:50:34.633586562 +0200
|
||||
diff -Nurp linux-4.9-aufs/fs/file_table.c linux-4.9-aufs-mod/fs/file_table.c
|
||||
--- linux-4.9-aufs/fs/file_table.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/file_table.c 2016-12-31 00:32:35.154785422 +0200
|
||||
@@ -147,6 +147,7 @@ over:
|
||||
}
|
||||
return ERR_PTR(-ENFILE);
|
||||
@@ -95,10 +104,21 @@ diff -Nurp linux-4.4.3-aufs/fs/file_table.c linux-4.4.3-aufs-mod/fs/file_table.c
|
||||
|
||||
void __init files_init(void)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/fs/namespace.c linux-4.4.3-aufs-mod/fs/namespace.c
|
||||
--- linux-4.4.3-aufs/fs/namespace.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/namespace.c 2016-03-03 09:50:34.634586569 +0200
|
||||
@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *m
|
||||
diff -Nurp linux-4.9-aufs/fs/inode.c linux-4.9-aufs-mod/fs/inode.c
|
||||
--- linux-4.9-aufs/fs/inode.c 2016-12-31 00:31:52.379789379 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/inode.c 2016-12-31 00:32:35.154785422 +0200
|
||||
@@ -1651,6 +1651,7 @@ int update_time(struct inode *inode, str
|
||||
|
||||
return update_time(inode, time, flags);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(update_time);
|
||||
|
||||
/**
|
||||
* touch_atime - update the access time
|
||||
diff -Nurp linux-4.9-aufs/fs/namespace.c linux-4.9-aufs-mod/fs/namespace.c
|
||||
--- linux-4.9-aufs/fs/namespace.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/namespace.c 2016-12-31 00:32:35.154785422 +0200
|
||||
@@ -466,6 +466,7 @@ void __mnt_drop_write(struct vfsmount *m
|
||||
mnt_dec_writers(real_mount(mnt));
|
||||
preempt_enable();
|
||||
}
|
||||
@@ -106,7 +126,7 @@ diff -Nurp linux-4.4.3-aufs/fs/namespace.c linux-4.4.3-aufs-mod/fs/namespace.c
|
||||
|
||||
/**
|
||||
* mnt_drop_write - give up write access to a mount
|
||||
@@ -1803,6 +1804,7 @@ int iterate_mounts(int (*f)(struct vfsmo
|
||||
@@ -1823,6 +1824,7 @@ int iterate_mounts(int (*f)(struct vfsmo
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -114,9 +134,9 @@ diff -Nurp linux-4.4.3-aufs/fs/namespace.c linux-4.4.3-aufs-mod/fs/namespace.c
|
||||
|
||||
static void cleanup_group_ids(struct mount *mnt, struct mount *end)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/fs/notify/group.c linux-4.4.3-aufs-mod/fs/notify/group.c
|
||||
--- linux-4.4.3-aufs/fs/notify/group.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/notify/group.c 2016-03-03 09:50:34.634586569 +0200
|
||||
diff -Nurp linux-4.9-aufs/fs/notify/group.c linux-4.9-aufs-mod/fs/notify/group.c
|
||||
--- linux-4.9-aufs/fs/notify/group.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/notify/group.c 2016-12-31 00:32:35.155785422 +0200
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <linux/srcu.h>
|
||||
#include <linux/rculist.h>
|
||||
@@ -125,7 +145,7 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/group.c linux-4.4.3-aufs-mod/fs/notify/gro
|
||||
|
||||
#include <linux/fsnotify_backend.h>
|
||||
#include "fsnotify.h"
|
||||
@@ -72,6 +73,7 @@ void fsnotify_get_group(struct fsnotify_
|
||||
@@ -100,6 +101,7 @@ void fsnotify_get_group(struct fsnotify_
|
||||
{
|
||||
atomic_inc(&group->refcnt);
|
||||
}
|
||||
@@ -133,7 +153,7 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/group.c linux-4.4.3-aufs-mod/fs/notify/gro
|
||||
|
||||
/*
|
||||
* Drop a reference to a group. Free it if it's through.
|
||||
@@ -81,6 +83,7 @@ void fsnotify_put_group(struct fsnotify_
|
||||
@@ -109,6 +111,7 @@ void fsnotify_put_group(struct fsnotify_
|
||||
if (atomic_dec_and_test(&group->refcnt))
|
||||
fsnotify_final_destroy_group(group);
|
||||
}
|
||||
@@ -141,7 +161,7 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/group.c linux-4.4.3-aufs-mod/fs/notify/gro
|
||||
|
||||
/*
|
||||
* Create a new fsnotify_group and hold a reference for the group returned.
|
||||
@@ -109,6 +112,7 @@ struct fsnotify_group *fsnotify_alloc_gr
|
||||
@@ -137,6 +140,7 @@ struct fsnotify_group *fsnotify_alloc_gr
|
||||
|
||||
return group;
|
||||
}
|
||||
@@ -149,10 +169,10 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/group.c linux-4.4.3-aufs-mod/fs/notify/gro
|
||||
|
||||
int fsnotify_fasync(int fd, struct file *file, int on)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/fs/notify/mark.c linux-4.4.3-aufs-mod/fs/notify/mark.c
|
||||
--- linux-4.4.3-aufs/fs/notify/mark.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/notify/mark.c 2016-03-03 09:50:34.634586569 +0200
|
||||
@@ -109,6 +109,7 @@ void fsnotify_put_mark(struct fsnotify_m
|
||||
diff -Nurp linux-4.9-aufs/fs/notify/mark.c linux-4.9-aufs-mod/fs/notify/mark.c
|
||||
--- linux-4.9-aufs/fs/notify/mark.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/notify/mark.c 2016-12-31 00:32:35.155785422 +0200
|
||||
@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_m
|
||||
mark->free_mark(mark);
|
||||
}
|
||||
}
|
||||
@@ -160,7 +180,7 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/mark.c linux-4.4.3-aufs-mod/fs/notify/mark
|
||||
|
||||
/* Calculate mask of events for a list of marks */
|
||||
u32 fsnotify_recalc_mask(struct hlist_head *head)
|
||||
@@ -208,6 +209,7 @@ void fsnotify_destroy_mark(struct fsnoti
|
||||
@@ -230,6 +231,7 @@ void fsnotify_destroy_mark(struct fsnoti
|
||||
mutex_unlock(&group->mark_mutex);
|
||||
fsnotify_free_mark(mark);
|
||||
}
|
||||
@@ -168,7 +188,7 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/mark.c linux-4.4.3-aufs-mod/fs/notify/mark
|
||||
|
||||
void fsnotify_destroy_marks(struct hlist_head *head, spinlock_t *lock)
|
||||
{
|
||||
@@ -392,6 +394,7 @@ err:
|
||||
@@ -415,6 +417,7 @@ err:
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -176,26 +196,26 @@ diff -Nurp linux-4.4.3-aufs/fs/notify/mark.c linux-4.4.3-aufs-mod/fs/notify/mark
|
||||
|
||||
int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
|
||||
struct inode *inode, struct vfsmount *mnt, int allow_dups)
|
||||
@@ -492,6 +495,7 @@ void fsnotify_init_mark(struct fsnotify_
|
||||
atomic_set(&mark->refcnt, 1);
|
||||
mark->free_mark = free_mark;
|
||||
@@ -521,6 +524,7 @@ void fsnotify_duplicate_mark(struct fsno
|
||||
new->mask = old->mask;
|
||||
new->free_mark = old->free_mark;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(fsnotify_init_mark);
|
||||
|
||||
static int fsnotify_mark_destroy(void *ignored)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/fs/open.c linux-4.4.3-aufs-mod/fs/open.c
|
||||
--- linux-4.4.3-aufs/fs/open.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/open.c 2016-03-03 09:50:34.634586569 +0200
|
||||
/*
|
||||
* Nothing fancy, just initialize lists and locks and counters.
|
||||
diff -Nurp linux-4.9-aufs/fs/open.c linux-4.9-aufs-mod/fs/open.c
|
||||
--- linux-4.9-aufs/fs/open.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/open.c 2016-12-31 00:32:35.155785422 +0200
|
||||
@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, l
|
||||
mutex_unlock(&dentry->d_inode->i_mutex);
|
||||
inode_unlock(dentry->d_inode);
|
||||
return ret;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(do_truncate);
|
||||
|
||||
long vfs_truncate(struct path *path, loff_t length)
|
||||
long vfs_truncate(const struct path *path, loff_t length)
|
||||
{
|
||||
@@ -678,6 +679,7 @@ int open_check_o_direct(struct file *f)
|
||||
@@ -695,6 +696,7 @@ int open_check_o_direct(struct file *f)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -203,10 +223,10 @@ diff -Nurp linux-4.4.3-aufs/fs/open.c linux-4.4.3-aufs-mod/fs/open.c
|
||||
|
||||
static int do_dentry_open(struct file *f,
|
||||
struct inode *inode,
|
||||
diff -Nurp linux-4.4.3-aufs/fs/read_write.c linux-4.4.3-aufs-mod/fs/read_write.c
|
||||
--- linux-4.4.3-aufs/fs/read_write.c 2016-03-02 17:59:37.377498803 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/read_write.c 2016-03-03 09:50:34.634586569 +0200
|
||||
@@ -504,6 +504,7 @@ vfs_readf_t vfs_readf(struct file *file)
|
||||
diff -Nurp linux-4.9-aufs/fs/read_write.c linux-4.9-aufs-mod/fs/read_write.c
|
||||
--- linux-4.9-aufs/fs/read_write.c 2016-12-31 00:31:52.380789379 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/read_write.c 2016-12-31 00:32:35.155785422 +0200
|
||||
@@ -525,6 +525,7 @@ vfs_readf_t vfs_readf(struct file *file)
|
||||
return new_sync_read;
|
||||
return ERR_PTR(-ENOSYS);
|
||||
}
|
||||
@@ -214,7 +234,7 @@ diff -Nurp linux-4.4.3-aufs/fs/read_write.c linux-4.4.3-aufs-mod/fs/read_write.c
|
||||
|
||||
vfs_writef_t vfs_writef(struct file *file)
|
||||
{
|
||||
@@ -515,6 +516,7 @@ vfs_writef_t vfs_writef(struct file *fil
|
||||
@@ -536,6 +537,7 @@ vfs_writef_t vfs_writef(struct file *fil
|
||||
return new_sync_write;
|
||||
return ERR_PTR(-ENOSYS);
|
||||
}
|
||||
@@ -222,10 +242,10 @@ diff -Nurp linux-4.4.3-aufs/fs/read_write.c linux-4.4.3-aufs-mod/fs/read_write.c
|
||||
|
||||
ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/fs/splice.c linux-4.4.3-aufs-mod/fs/splice.c
|
||||
--- linux-4.4.3-aufs/fs/splice.c 2016-03-02 17:59:37.377498803 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/splice.c 2016-03-03 09:50:34.635586575 +0200
|
||||
@@ -1123,6 +1123,7 @@ long do_splice_from(struct pipe_inode_in
|
||||
diff -Nurp linux-4.9-aufs/fs/splice.c linux-4.9-aufs-mod/fs/splice.c
|
||||
--- linux-4.9-aufs/fs/splice.c 2016-12-31 00:31:52.380789379 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/splice.c 2016-12-31 00:32:35.156785422 +0200
|
||||
@@ -868,6 +868,7 @@ long do_splice_from(struct pipe_inode_in
|
||||
|
||||
return splice_write(pipe, out, ppos, len, flags);
|
||||
}
|
||||
@@ -233,7 +253,7 @@ diff -Nurp linux-4.4.3-aufs/fs/splice.c linux-4.4.3-aufs-mod/fs/splice.c
|
||||
|
||||
/*
|
||||
* Attempt to initiate a splice from a file to a pipe.
|
||||
@@ -1149,6 +1150,7 @@ long do_splice_to(struct file *in, loff_
|
||||
@@ -897,6 +898,7 @@ long do_splice_to(struct file *in, loff_
|
||||
|
||||
return splice_read(in, ppos, pipe, len, flags);
|
||||
}
|
||||
@@ -241,29 +261,29 @@ diff -Nurp linux-4.4.3-aufs/fs/splice.c linux-4.4.3-aufs-mod/fs/splice.c
|
||||
|
||||
/**
|
||||
* splice_direct_to_actor - splices data directly between two non-pipes
|
||||
diff -Nurp linux-4.4.3-aufs/fs/xattr.c linux-4.4.3-aufs-mod/fs/xattr.c
|
||||
--- linux-4.4.3-aufs/fs/xattr.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/fs/xattr.c 2016-03-03 09:50:34.635586575 +0200
|
||||
@@ -207,6 +207,7 @@ vfs_getxattr_alloc(struct dentry *dentry
|
||||
diff -Nurp linux-4.9-aufs/fs/xattr.c linux-4.9-aufs-mod/fs/xattr.c
|
||||
--- linux-4.9-aufs/fs/xattr.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/fs/xattr.c 2016-12-31 00:32:35.156785422 +0200
|
||||
@@ -296,6 +296,7 @@ vfs_getxattr_alloc(struct dentry *dentry
|
||||
*xattr_value = value;
|
||||
return error;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(vfs_getxattr_alloc);
|
||||
|
||||
/* Compare an extended attribute value with the given value */
|
||||
int vfs_xattr_cmp(struct dentry *dentry, const char *xattr_name,
|
||||
diff -Nurp linux-4.4.3-aufs/kernel/task_work.c linux-4.4.3-aufs-mod/kernel/task_work.c
|
||||
--- linux-4.4.3-aufs/kernel/task_work.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/kernel/task_work.c 2016-03-03 09:50:34.635586575 +0200
|
||||
@@ -118,3 +118,4 @@ void task_work_run(void)
|
||||
ssize_t
|
||||
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
|
||||
diff -Nurp linux-4.9-aufs/kernel/task_work.c linux-4.9-aufs-mod/kernel/task_work.c
|
||||
--- linux-4.9-aufs/kernel/task_work.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/kernel/task_work.c 2016-12-31 00:32:35.156785422 +0200
|
||||
@@ -119,3 +119,4 @@ void task_work_run(void)
|
||||
} while (work);
|
||||
}
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(task_work_run);
|
||||
diff -Nurp linux-4.4.3-aufs/security/commoncap.c linux-4.4.3-aufs-mod/security/commoncap.c
|
||||
--- linux-4.4.3-aufs/security/commoncap.c 2016-03-02 17:42:59.463713410 +0200
|
||||
+++ linux-4.4.3-aufs-mod/security/commoncap.c 2016-03-03 09:50:34.635586575 +0200
|
||||
@@ -1058,12 +1058,14 @@ int cap_mmap_addr(unsigned long addr)
|
||||
diff -Nurp linux-4.9-aufs/security/commoncap.c linux-4.9-aufs-mod/security/commoncap.c
|
||||
--- linux-4.9-aufs/security/commoncap.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/security/commoncap.c 2016-12-31 00:32:35.156785422 +0200
|
||||
@@ -1061,12 +1061,14 @@ int cap_mmap_addr(unsigned long addr)
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@@ -278,9 +298,9 @@ diff -Nurp linux-4.4.3-aufs/security/commoncap.c linux-4.4.3-aufs-mod/security/c
|
||||
|
||||
#ifdef CONFIG_SECURITY
|
||||
|
||||
diff -Nurp linux-4.4.3-aufs/security/device_cgroup.c linux-4.4.3-aufs-mod/security/device_cgroup.c
|
||||
--- linux-4.4.3-aufs/security/device_cgroup.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/security/device_cgroup.c 2016-03-03 09:50:34.635586575 +0200
|
||||
diff -Nurp linux-4.9-aufs/security/device_cgroup.c linux-4.9-aufs-mod/security/device_cgroup.c
|
||||
--- linux-4.9-aufs/security/device_cgroup.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/security/device_cgroup.c 2016-12-31 00:32:35.156785422 +0200
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <linux/device_cgroup.h>
|
||||
#include <linux/cgroup.h>
|
||||
@@ -297,58 +317,58 @@ diff -Nurp linux-4.4.3-aufs/security/device_cgroup.c linux-4.4.3-aufs-mod/securi
|
||||
|
||||
int devcgroup_inode_mknod(int mode, dev_t dev)
|
||||
{
|
||||
diff -Nurp linux-4.4.3-aufs/security/security.c linux-4.4.3-aufs-mod/security/security.c
|
||||
--- linux-4.4.3-aufs/security/security.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ linux-4.4.3-aufs-mod/security/security.c 2016-03-03 09:50:34.636586582 +0200
|
||||
@@ -433,6 +433,7 @@ int security_path_rmdir(struct path *dir
|
||||
diff -Nurp linux-4.9-aufs/security/security.c linux-4.9-aufs-mod/security/security.c
|
||||
--- linux-4.9-aufs/security/security.c 2016-12-11 21:17:54.000000000 +0200
|
||||
+++ linux-4.9-aufs-mod/security/security.c 2016-12-31 00:32:35.157785422 +0200
|
||||
@@ -443,6 +443,7 @@ int security_path_rmdir(const struct pat
|
||||
return 0;
|
||||
return call_int_hook(path_rmdir, 0, dir, dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_rmdir);
|
||||
|
||||
int security_path_unlink(struct path *dir, struct dentry *dentry)
|
||||
int security_path_unlink(const struct path *dir, struct dentry *dentry)
|
||||
{
|
||||
@@ -449,6 +450,7 @@ int security_path_symlink(struct path *d
|
||||
@@ -459,6 +460,7 @@ int security_path_symlink(const struct p
|
||||
return 0;
|
||||
return call_int_hook(path_symlink, 0, dir, dentry, old_name);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_symlink);
|
||||
|
||||
int security_path_link(struct dentry *old_dentry, struct path *new_dir,
|
||||
int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
|
||||
struct dentry *new_dentry)
|
||||
@@ -457,6 +459,7 @@ int security_path_link(struct dentry *ol
|
||||
@@ -467,6 +469,7 @@ int security_path_link(struct dentry *ol
|
||||
return 0;
|
||||
return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_link);
|
||||
|
||||
int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
|
||||
struct path *new_dir, struct dentry *new_dentry,
|
||||
@@ -484,6 +487,7 @@ int security_path_truncate(struct path *
|
||||
int security_path_rename(const struct path *old_dir, struct dentry *old_dentry,
|
||||
const struct path *new_dir, struct dentry *new_dentry,
|
||||
@@ -494,6 +497,7 @@ int security_path_truncate(const struct
|
||||
return 0;
|
||||
return call_int_hook(path_truncate, 0, path);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_truncate);
|
||||
|
||||
int security_path_chmod(struct path *path, umode_t mode)
|
||||
int security_path_chmod(const struct path *path, umode_t mode)
|
||||
{
|
||||
@@ -491,6 +495,7 @@ int security_path_chmod(struct path *pat
|
||||
@@ -501,6 +505,7 @@ int security_path_chmod(const struct pat
|
||||
return 0;
|
||||
return call_int_hook(path_chmod, 0, path, mode);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_chmod);
|
||||
|
||||
int security_path_chown(struct path *path, kuid_t uid, kgid_t gid)
|
||||
int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
|
||||
{
|
||||
@@ -498,6 +503,7 @@ int security_path_chown(struct path *pat
|
||||
@@ -508,6 +513,7 @@ int security_path_chown(const struct pat
|
||||
return 0;
|
||||
return call_int_hook(path_chown, 0, path, uid, gid);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(security_path_chown);
|
||||
|
||||
int security_path_chroot(struct path *path)
|
||||
int security_path_chroot(const struct path *path)
|
||||
{
|
||||
@@ -583,6 +589,7 @@ int security_inode_readlink(struct dentr
|
||||
@@ -593,6 +599,7 @@ int security_inode_readlink(struct dentr
|
||||
return 0;
|
||||
return call_int_hook(inode_readlink, 0, dentry);
|
||||
}
|
||||
@@ -356,7 +376,7 @@ diff -Nurp linux-4.4.3-aufs/security/security.c linux-4.4.3-aufs-mod/security/se
|
||||
|
||||
int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
|
||||
bool rcu)
|
||||
@@ -598,6 +605,7 @@ int security_inode_permission(struct ino
|
||||
@@ -608,6 +615,7 @@ int security_inode_permission(struct ino
|
||||
return 0;
|
||||
return call_int_hook(inode_permission, 0, inode, mask);
|
||||
}
|
||||
@@ -364,7 +384,7 @@ diff -Nurp linux-4.4.3-aufs/security/security.c linux-4.4.3-aufs-mod/security/se
|
||||
|
||||
int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
{
|
||||
@@ -736,6 +744,7 @@ int security_file_permission(struct file
|
||||
@@ -779,6 +787,7 @@ int security_file_permission(struct file
|
||||
|
||||
return fsnotify_perm(file, mask);
|
||||
}
|
||||
@@ -372,7 +392,7 @@ diff -Nurp linux-4.4.3-aufs/security/security.c linux-4.4.3-aufs-mod/security/se
|
||||
|
||||
int security_file_alloc(struct file *file)
|
||||
{
|
||||
@@ -795,6 +804,7 @@ int security_mmap_file(struct file *file
|
||||
@@ -838,6 +847,7 @@ int security_mmap_file(struct file *file
|
||||
return ret;
|
||||
return ima_file_mmap(file, prot);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user