diff options
author | Michael Weber <xmw@gentoo.org> | 2014-07-22 00:13:11 +0000 |
---|---|---|
committer | Michael Weber <xmw@gentoo.org> | 2014-07-22 00:13:11 +0000 |
commit | f7a43e5853faba1d02a8b14fde0572d33082d4e7 (patch) | |
tree | f002b25918816ec297ac65f0332b013b87bb872c /sys-power | |
parent | Restore elogviewer-0.6.2-r2 due to user request. Bug #515654 (diff) | |
download | historical-f7a43e5853faba1d02a8b14fde0572d33082d4e7.tar.gz historical-f7a43e5853faba1d02a8b14fde0572d33082d4e7.tar.bz2 historical-f7a43e5853faba1d02a8b14fde0572d33082d4e7.zip |
Version bump (bug 513692), remove old ebuilds, patch correct patch.
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0x62EEF090
Diffstat (limited to 'sys-power')
18 files changed, 313 insertions, 2421 deletions
diff --git a/sys-power/phc-intel/ChangeLog b/sys-power/phc-intel/ChangeLog index 010ef9811716..a01d0b959055 100644 --- a/sys-power/phc-intel/ChangeLog +++ b/sys-power/phc-intel/ChangeLog @@ -1,6 +1,28 @@ # ChangeLog for sys-power/phc-intel # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/ChangeLog,v 1.16 2014/04/14 00:27:54 xmw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/ChangeLog,v 1.17 2014/07/22 00:13:05 xmw Exp $ + +*phc-intel-0.3.2.12.14-r1 (22 Jul 2014) +*phc-intel-0.3.2.12.15.1 (22 Jul 2014) + + 22 Jul 2014; Michael Weber <xmw@gentoo.org> + +files/phc-intel-0.3.2-rev12-trailing-space-3.5.patch, + +files/phc-intel-0.3.2-rev12-trailing-space-misc.patch, + +files/phc-intel-0.3.2-rev14-trailing-space-3.13.patch, + +files/phc-intel-0.3.2-rev14-trailing-space-3.14.patch, + +files/phc-intel-0.3.2-rev15-trailing-space-3.15.patch, + +files/phc-intel-0.3.2-rev15-trailing-space-3.5.patch, + +phc-intel-0.3.2.12.14-r1.ebuild, +phc-intel-0.3.2.12.15.1.ebuild, + -files/phc-intel-0.3.2.12.1-r5-2.6.35.patch, + -files/phc-intel-0.3.2.12.1-r5-2.6.36.patch, + -files/phc-intel-0.3.2.12.1-r5-2.6.37.patch, + -files/phc-intel-0.3.2.12.1-r5-3.7.patch, + -files/phc-intel-pack-rev12-trailing-space-r1.patch, + -files/phc-intel-pack-rev14-trailing-space-3.13.patch, + -files/phc-intel-pack-rev14-trailing-space-3.14.patch, + -phc-intel-0.3.199.11_pre.ebuild, -phc-intel-0.3.2.12.1-r5.ebuild, + -phc-intel-0.3.2.12.12.ebuild, -phc-intel-0.3.2.12.14.ebuild: + Version bump (bug 513692), remove old ebuilds, patch correct patch. *phc-intel-0.3.2.12.14 (14 Apr 2014) diff --git a/sys-power/phc-intel/Manifest b/sys-power/phc-intel/Manifest index 338579981bc9..cd9fba19a054 100644 --- a/sys-power/phc-intel/Manifest +++ b/sys-power/phc-intel/Manifest @@ -1,29 +1,26 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 -AUX phc-intel-0.3.2.12.1-r5-2.6.35.patch 16120 SHA256 7072bc44d6fdc3c1e0443f52d0dc0195c3e0fca7a2db48fb4fb8a177d0299941 SHA512 f38578e61ce0bb22fe544296988dbb3177cb41b4cfd4091cc0120a67bcbdf7c97fa6e6c2136e901e816e43de8360cbc92476144f41bd54a6cbe501b7ce3843b6 WHIRLPOOL 675f42497a45b94e169f5520de71705d42216b00537477bfe92c7b549dcd05a65c4e8190dc3faa27ee3539e34a522daecc6962193cad17d65403a4e544d13dd0 -AUX phc-intel-0.3.2.12.1-r5-2.6.36.patch 15987 SHA256 3658a7e3e8f7a4a50f44a38c6e146dd5d24a5ded67d70cc93292c43c8cca3fa9 SHA512 4651dc2830e745c6fc4b0f4b6a49fa74eaed45b010b5c502d6c6d39218023b5a3a162a3630ac187b486f667e3f3d5c8d31168c71c7a333785c6738b64ad89167 WHIRLPOOL 325ae6e1b338d275b0ceaef06c61f2b0d1abc0b82ee373217c117dbc35fdc071aa2f822f07f17629e1fea2fed27e4df1871fb78df2ac14027bd4c197b2b9ff00 -AUX phc-intel-0.3.2.12.1-r5-2.6.37.patch 15972 SHA256 2e214b9664b4df4c3453520f8d91a55056e61a71aec493206e948897a6dc6285 SHA512 46e4020614338e802d67544bceea9fef55d06ccbb1759c23c737066622613b7b915a24a4b26b6fea209ca8d8bfc1c44af6765ba55309cc1ff5d340d31941f8f7 WHIRLPOOL c57a3fe8cb6171c2624f9152b44848950134ad6644bb3bfce47c5e3b1f99dc8b63d528fcffd42fd8c860560ea93a8edda94096393935719bf771cd8b3631a899 -AUX phc-intel-0.3.2.12.1-r5-3.7.patch 16200 SHA256 881e096e4dc74832529d32ddb55caf4c4c1c1168fac3f9e8729b4b7b9fea8176 SHA512 9c79b58428a44e073bc61fe2b6429056a27fdf1a3b1f2ba4ab29118b22d4491211f24bb049a5eaec733e77455367bac028e4e1ae4a6bd31ad99329db6f02cd85 WHIRLPOOL 579de36768e5283bd0e7378aa79e5ecd50cc48bc59a0a6b53ab0ea9f8454f44873495849ddf3f8a25adc21a13683f7c29cbd0ced9c5caee4270bc8be599d0e46 -AUX phc-intel-pack-rev12-trailing-space-r1.patch 35401 SHA256 fc38432f3c30017234a56bf5696f99c57b7432cf973322a5733ca1296d4311e2 SHA512 b364dd06f1711eda412042734f5e796b209cb1334a47fee72094df33de30f51673c279760fab0250b8177b5f3a6a618246ef59e6b2a5fa1b75c67d0f99d72ed7 WHIRLPOOL e64f744561107420e52f9015071b64156b24083b46e98efe88575d138c11709e1945f3faa85248becf8f4b7b7ededc030669674be31d8a0373da107622fe4b3f -AUX phc-intel-pack-rev14-trailing-space-3.13.patch 1332 SHA256 7943a288c6e3975e6c968aaa15a5da9e4b8f9699d7181d521f6b914fabf7bddf SHA512 ca7ac55fc1d2e95e32237f52f9968a23ac832ebd52c484cf09f38f962201589e372099f936cec76f8faaf5ba793164b760b34f84a2e840e997241aff3a370bba WHIRLPOOL e153d44e8a5ec2bb5f98b4a06f651a899ddddb7c88f4250e63b29cc1e8ffb022653dc2823d2cb686935c36ee87c8cffd3c790c2870b2d6188616a4289012f23f -AUX phc-intel-pack-rev14-trailing-space-3.14.patch 1255 SHA256 56f53835d33012bbc2cdeed9deb8e31c668d6e366ca3f7646b33618f73c23b1b SHA512 ce75f0e2d3925ba0549cd2a825b88a6179858cd87319b7b49b72d14d07bf92f7705a8d1d08b0289f09abe775997c8f36258859bf4918bfbcdc3551a3e43af0a6 WHIRLPOOL e4bfec8724823a6c3d22be27a9babdf179d9bc216fcff52d8ee704c187c227161cfa897dbfb3603225e265a19aa1bc3f680f37f2fe0d5d704dc4be748ebfd310 -DIST phc-intel-0.3.2.10.tar.bz2 20680 SHA256 8483e071ad2644c339539ac5298c7a31a12212fd9a68baa1f6766dad146510f5 -DIST phc-intel-0.3.2.12.1.tar.bz2 14412 SHA256 4f66989d424d328b205873da1b0363e75f27d7912e0e93c1cad3407c17be8264 SHA512 f9a63300fe1d7b42d1167c3b6d1f5b75cb707d8dac26d2d91f40466a26afedf3dccb76a58bb4764233ade6c309cdd554f869cdaeac04bf521607644afb709427 WHIRLPOOL dd064a2f5a67fc2aed96aa32bce4e040daf8468d2a215dbb08e11b00de039e7ac6179ea756a94035478a885a202f13517ec45a8dd8dfcd072436a0c8509e2fd0 -DIST phc-intel-pack-rev11.tar.bz2 76485 SHA256 38f4bd923228ef61315a0739f32504692d7f1809494bdc369658222f6f873479 SHA512 2bb718cc78219db8698f671ecfcc895cfd5be66d7301c56e91d24a534d308121a8a76cbd1259022e8e524b359eee34b7965da952254b26f9cb6a0bd81ff88981 WHIRLPOOL 8d40a2f4319764f15b413621ff30d39b1667281fe08a570b18e32f53197b421c85c0f0a62b99e52c9ccdac887cbcf41366790aab1b86eb79f12799455185d481 -DIST phc-intel-pack-rev12.tar.bz2 77624 SHA256 96dd605e8c2062e87435afc7f2199419e3d3b1596e180462dcf2f704534ba710 SHA512 b3ce4ee3940d05e4e58ffa766e9d33518e6bee3bd0ea19bda36bc114bb0f23a0f284f22b43acb88801610cd639e2c4ec6594b4f160bc7cafd0c2242fc268bdea WHIRLPOOL a5a2cc4943003c1ebada10c7a89a67642bf9dbf42698b889af6d875016390952e70ff9bc23ea0d93c45d487df424f45836cb4e5c7c4b584756d85fcb951ef6fa +AUX phc-intel-0.3.2-rev12-trailing-space-3.5.patch 1536 SHA256 a84bab62cb7e44a099666b1425ceccaf148d03cf7954a6a33a5f03c6709dfbb3 SHA512 a5831bacecf78ddd84d052f3976a5a28eed44d21a70af3521f34d23d2e84e42922f1fabd742936adfca3517fa3038876ef3fa7c45719be5c91236a4825557ba1 WHIRLPOOL 994ef1cdec2af280daadd1ce18078c92a09a8af3cb183c0274a4e4d9d3d0d9cb7b79f719b1edfbad6c8bb0149bdadea1131b869e4613b569318e61771d2a76e5 +AUX phc-intel-0.3.2-rev12-trailing-space-misc.patch 33960 SHA256 77191cb8fa415a8f9349de9f2ff0b8f072e8c16ae326c354c214e0be3a1cde8c SHA512 13f0b0da6eafefacfd617edaf5ff3d05dc0b5de3884ddd05459fcbc6ebde7f3c3671f8ce0be426bcc304460447a900e3948e6acc838c515f43f033cf6ffc08d0 WHIRLPOOL 0f46385ccdfe0a06cedf01f3d21e3e042412d757bbf89ae40780bc49252cbcd6839d6523a999231ff7eb4ec8138fed97f4c221e30698d8ed40f6056f98c4d7a7 +AUX phc-intel-0.3.2-rev14-trailing-space-3.13.patch 1557 SHA256 f1449476c332e3c23b0bf4f12be8b9e324ad875eaa4eb4d65b43d746c0650006 SHA512 92a37dca6d703015db43f730d728bc39eaa43378b41a1cef8e2a3adb332c949bec78889099c8af24c4da835fd426b766291dd5d84d8567192853f5839c401036 WHIRLPOOL 0e72b5a4b8f5eb2f20505c2075a9311272178c87e564a85acbb76300a90b19a39d4dea9a9496b246dc507ec08fc557fea2c99a0f1ea7c3c0b2362011812c533a +AUX phc-intel-0.3.2-rev14-trailing-space-3.14.patch 1557 SHA256 3f35feb053376fb2c223eb7087ccaadfdd92bd328bde0c62aed7719898337b0c SHA512 444864f1c13d0039861e9baafb8d4e8a2c304fadd9af6f18c499f29d371557ddbb9f7194dc952029c818fce81022d0a0c31faec698c213ba4cc69739b62827e0 WHIRLPOOL c79dffab3375c098223718121f87bf8b5a5d2fed2945219bc2082b4aeb344652a552b956dd3c9371fbd39a40a95611d9a9e0386b2e294f8dfe2b2192f90b8abf +AUX phc-intel-0.3.2-rev15-trailing-space-3.15.patch 1561 SHA256 a46c52cc8f3ca07a620382c9fc15b25411c55afcfc96f04c91475f2f01448f9e SHA512 1d9c34a5ff3a7853de5d3fc893e21c7ecc4351b29eae4d5e81eccc596f1492556110bb25f68654b32e4af912cf6aa5ca64d988d838ee63f16d3729a8b3782746 WHIRLPOOL b7b0e4cb623627cff6c1732e215f5e530f269c498cf4908eb4ca83538785497363a7bd2372f78fd80c6191edcd0241d4bca2f744debf3687a342b4193622ec3c +AUX phc-intel-0.3.2-rev15-trailing-space-3.5.patch 1456 SHA256 5cdd09065aeb907833cbfa0dc0e141bc5c77f4f6fa463d698e7c49da31164d4a SHA512 d8da3d7d53ec13cdd3b21e3ebb4aeec3502f2e75571eeaea39a59b4825b3be6043b275fb89bbdae4778e415c22cc80639af04674fd3975f498a6adc926b39ce8 WHIRLPOOL 1c63ba4c805c4dc429859232b0d6488f1502f286f085fb8ae03287123992e8d7805a14f17ebd79a687a9c8f5978e5f57e4f3be2b6a2e7394fb54ffa5346bd7c4 +DIST phc-intel-0.3.2.10.tar.bz2 20680 SHA256 8483e071ad2644c339539ac5298c7a31a12212fd9a68baa1f6766dad146510f5 SHA512 4b6ab643ca313114bd722a9a50d303b16fbf6840be76040481cc309a264c333ce321c8b5c9b9cc203955ea56da401d517c1ff85af1fe99a0ebbad2a0e2f94b06 WHIRLPOOL 2f957448f7ba424491c9bd264124ca248e2501be1327e3cb3de3c8e57d1b201016f75a89d721d02b02dd916906c86a76eb05ae67393d31df12c14b98cde91e6d DIST phc-intel-pack-rev14.tar.bz2 84789 SHA256 c41d901198901c5937052c8e603a9e6d2a1589ddfa3d980698d125dd639e62b6 SHA512 09dd9e692b7b7d0b8bddb931bc0cef54eb3a4a4c3666ece953d7feef5e50a11b4de7c7e21a57ed12b043885515c6420dea144275d02b070a540c6b26d57c5139 WHIRLPOOL 7200716c22356398d6866b01e9ad9cbde1d849c27b9d8b8c155868508f2db7745453cf99026b2f5fb1fc5e614def963e3b57d229c177e1de54cacabb39e5405e -EBUILD phc-intel-0.3.199.11_pre.ebuild 1824 SHA256 5101722f7e01ecf7b8b9931c2fc4934fe1262116dbd101205203e8743a2263d7 SHA512 c8d37f5cbd9b2684a4fd55940675caf6833d07dbc34c1e567d3fbee8879d50759f4c49304af464174af0e65580f34c5ed35f866ef4027bbdf4b8149460e7c0c8 WHIRLPOOL 0665ffd2b9a6562e5c6f8129aa8e5603977912b70c5144e9f0ec8f3e8286fe7647542b98594d3221092ee008b92477b319734b4c8daa7aa0b57875d259ebc4b4 +DIST phc-intel-pack-rev15.1.tar.bz2 97762 SHA256 5154295f2cfc0e263510d71041a2d1d9a0d2e7a0c67730c9f80ba1011bbde8a4 SHA512 e0163f315343bb34dde57cb806d99b6ea6586b54827142a49532d862cbe02689d581e221ebd6466d1992107e4d98456989402ba4172e85b9e9f24405f27d28f1 WHIRLPOOL 5c02326541d0773cff668919d0d4809f3b79fd3bff6149c62d136760d440e5338b2a9e00a236f25bcb6dead4a65f74e4f1d3763a38bb996ddef315664758b621 EBUILD phc-intel-0.3.2.10.ebuild 1079 SHA256 19ed93eab1feeb9cd3aa214ba76ff5834cff06cb821676842574e6075f8a92c4 SHA512 038fa33588b9c2c57184f6978b36315841697d2b8fc91d4307336408623813d04bbef9fe17a940ef627b84bbcfb008111b823a11243af83b90c6928756b98551 WHIRLPOOL 670fd1c97f6dab85e7814b36c4b1d4b0f90ac6db0bba01d943f2d9d7b680f8e38aef84e5b6aa9d037f71d29b7cac955fd2d953815e7fdda4fe7ce96fd4488166 -EBUILD phc-intel-0.3.2.12.1-r5.ebuild 1943 SHA256 10f761f6fc644b782f6249accfb06c2c48ceac0fe4ff2ab51c882ce16cb756aa SHA512 f2219d28b581042078689e4a5f853087f5deadf7215bd82eced4b631950a139b3eb0ab0cd09419e27c5bc3ecd8e7b4bea2598fa860852bca1d59962ec55b8363 WHIRLPOOL 321eb7e007171991c8df80a2fabc8f0480de646d9fa1266eb7900a122400d9816558b565bb002ffe88836e4ef8e9f74b6cf83d0c3611431c7ae6631087ab639b -EBUILD phc-intel-0.3.2.12.12.ebuild 1917 SHA256 2baa4523790a68f4b99a28e9ea8076c4494eb5cd0aa20661cfeb6ac499d6d4b7 SHA512 abdd19c93b03968e79914a2bffab226424d77a0031d01b56246f07bb29324f4d1a87933b9698d6646ca1e526ed4717dbe426752a7100bf158633d88ff734e463 WHIRLPOOL 9e81021784da993b66ffe1c78c4883e5e7ae30c6167dbef5ca27bd3dfe61aee19e5f03ae2fa42948182c9e18aedc796512a001eacf5540756451f323a1fcd607 -EBUILD phc-intel-0.3.2.12.14.ebuild 2055 SHA256 6cc2d6dc5742bf14ac94760c465a8fe42b6d5deb26bb5faa81dde4d7deef2e50 SHA512 5d2f2221f6c2660ec8bea2d963d349930f7b04bfb6957ae1001c5f99fd539dc23bed17bf061c207fde39e2f296b0aae694d3d2cfcbb0df112eaf922c98575911 WHIRLPOOL bf7c2e9b6a187b420ecb617786872490ffaaeb743e089228e04438d867a1d9ec5da3c3351153b7d375e9c59dcb818836b28fd7e2629f2944339c088eb6bf4380 -MISC ChangeLog 4235 SHA256 31f1578b45e79681391c7b8464a7a37d2f29d36c029400cf7a1c480e2626581c SHA512 eb53695a382f05d812634cc1b492e7d94b511e64e5b417e41fcfaa1544fb253dc2de7db223f34270f663db0116e238c200a2d331e8a39e72ca3444790139d0bb WHIRLPOOL 8aa6c7533b51593c5c1d422b1546e09868442cc2bf0a056a449ca666333ddaead8d8eb1ce29f478e73a66f1fd3bbacf694667c22b1ab88d87abfa313b6cd348f +EBUILD phc-intel-0.3.2.12.14-r1.ebuild 2124 SHA256 5578fc8b4877dd0ad4713a924c7c9f2033edf5b963abb09fd17c510da06f7677 SHA512 c1f795d07a2bde8d52b7f4bef758c353a9a3d9ad489e363e36105cf471123d44bc294717612934badcf473b131c199bde9957c05d31026d11948728cfcf1f566 WHIRLPOOL 9b7c901fa066663ebb9039bf62e42aceeb39e4ee86c74eee150d57cdcfa6f97f57a812a9143818480df92488b18d241a99c3840968da4ffc1936aa2aabf93d5c +EBUILD phc-intel-0.3.2.12.15.1.ebuild 2191 SHA256 db2405ea1e6393e070e505385114e9e90e3cac75a141546924f37d01cbdbf00a SHA512 1d7b10ecbbdd617ab6e4466cfe4af95838ae8d31639529768c529b981396b1a1b09e571e177d0e4907f27202e69ae8be1207f64a3657a23f1bef9d5beb45da45 WHIRLPOOL 7e0888269f05b05697352d7bbdf8c3f0c4a1da4d058d7ce18e997d02818ebb1ff55f1a4f777be347b71500ec20044bd3a965b2299ab22c31f58b0d5563468adc +MISC ChangeLog 5334 SHA256 a0fc0d2b9b995e76a8d7ee3dd9f4b056de09b00c6ec97efc2e581eeb682f6d31 SHA512 a936ad41f26b704f0e74ca07afe87b14678748e2b6cfb8df306692af3b9f667c01cf6dd4c86a8de9717d49d7c685ddd810b448cae3fc8161f53b851a4b5105dc WHIRLPOOL e6f729f10da6d741c4f8868e14e668095e9446e368fbf8e752c1e6e715188cc5a5a99eef086848d780a1cc5cc1d59d43f8388001e21c9da0fa054650bbc45b8a MISC metadata.xml 223 SHA256 89097f936927d56068988263e382edb683f359b27293955708e9ade4d256220d SHA512 c9f6a48b2aa05afdf73b8bd824c65480d76e54b659ca39928398c66f764d34faf186255d8aea034737424a962cf35151b610d078a01f8193b027c63e1e3c51b5 WHIRLPOOL 1ce20c98a7e177b8f510ef41f3935b0db5e04b2ecf465a683b2f2515f6a3043c33e6e9efc87f5aaaf59b2ed9be376d9d16bc8beff66b11aaa50ea899bfdc1f62 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.22 (GNU/Linux) +Version: GnuPG v2 -iF4EAREIAAYFAlNLK5MACgkQknrdDGLu8JD0PAEAlWNgPGnfW29rYUxYcq66uT6T -N9+PALlNyCNZQR+ncAoA/jWAvFPjV1G2vDtEQU1gicuew7BY+lX2TOfHKPjORVxz -=0X27 +iL4EAREIAGYFAlPNrJZfFIAAAAAALgAoaXNzdWVyLWZwckBub3RhdGlvbnMub3Bl +bnBncC5maWZ0aGhvcnNlbWFuLm5ldDY3QjA4MzdGODg1NUMxMjIzNUQ0MDgxNzky +N0FERDBDNjJFRUYwOTAACgkQknrdDGLu8JDtIwD/cBFExcd0U3EjZ1b6egQz6I25 +UiWiitcli6EVPNis3xMA/0GmYAx+A55vB87qImGpzP34HGrdCgCWE//KvxXSWWNM +=sIq8 -----END PGP SIGNATURE----- diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2-rev12-trailing-space-3.5.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev12-trailing-space-3.5.patch new file mode 100644 index 000000000000..d9aafbd1cdfe --- /dev/null +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev12-trailing-space-3.5.patch @@ -0,0 +1,54 @@ +Remove trailing white spaces from /proc output. + +Signed-off-by: Michael Weber <xmw@gentoo.org> +--- phc-intel-pack-rev11/inc/3.5/linux-phc-0.3.2.patch ++++ phc-intel-pack-rev11/inc/3.5/linux-phc-0.3.2.patch +@@ -71,7 +71,7 @@ + } + + return 0; +-@@ -714,12 +726,474 @@ ++@@ -714,12 +726,479 @@ + data->resume = 1; + + return 0; +@@ -152,6 +152,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -181,6 +182,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -207,6 +209,7 @@ + + fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u ", fid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -235,6 +238,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -266,6 +270,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; diff --git a/sys-power/phc-intel/files/phc-intel-pack-rev12-trailing-space-r1.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev12-trailing-space-misc.patch index d6b9d4a2f329..d20fb73a4fd6 100644 --- a/sys-power/phc-intel/files/phc-intel-pack-rev12-trailing-space-r1.patch +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev12-trailing-space-misc.patch @@ -1021,57 +1021,6 @@ Signed-off-by: Michael Weber <xmw@gentoo.org> + count += sprintf(&buf[count], "\n"); + + return count; ---- phc-intel-pack-rev11/inc/3.5/linux-phc-0.3.2.patch -+++ phc-intel-pack-rev11/inc/3.5/linux-phc-0.3.2.patch -@@ -71,7 +71,7 @@ - } - - return 0; --@@ -714,12 +726,474 @@ -+@@ -714,12 +726,479 @@ - data->resume = 1; - - return 0; -@@ -152,6 +152,7 @@ - + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); - + count += sprintf(&buf[count], "%u ", vid); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -181,6 +182,7 @@ - + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); - + count += sprintf(&buf[count], "%u ", vid); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -207,6 +209,7 @@ - + fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); - + count += sprintf(&buf[count], "%u ", fid); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -235,6 +238,7 @@ - + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); - + count += sprintf(&buf[count], "%u:%u ", fid, vid); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -266,6 +270,7 @@ - + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); - + count += sprintf(&buf[count], "%u:%u ", fid, vid); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; --- phc-intel-pack-rev11/inc/3.7.5/linux-phc-0.3.2.patch +++ phc-intel-pack-rev11/inc/3.7.5/linux-phc-0.3.2.patch @@ -120,7 +120,7 @@ diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.13.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.13.patch new file mode 100644 index 000000000000..4e1e4dfc8543 --- /dev/null +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.13.patch @@ -0,0 +1,51 @@ +--- phc-intel-pack-rev14/inc/3.13/linux-phc-0.3.2.patch ++++ phc-intel-pack-rev14/inc/3.13/linux-phc-0.3.2.patch +@@ -197,7 +197,7 @@ + static void __init acpi_cpufreq_boost_init(void) + { + if (boot_cpu_has(X86_FEATURE_CPB) || boot_cpu_has(X86_FEATURE_IDA)) { +-@@ -956,6 +1050,480 @@ ++@@ -956,6 +1050,485 @@ + } + } + +@@ -273,6 +273,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -302,6 +303,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -328,6 +330,7 @@ + + fid = extract_fid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", fid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -356,6 +359,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -387,6 +391,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.14.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.14.patch new file mode 100644 index 000000000000..19c1b546fb7d --- /dev/null +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev14-trailing-space-3.14.patch @@ -0,0 +1,51 @@ +--- phc-intel-pack-rev14/inc/3.14/linux-phc-0.3.2.patch ++++ phc-intel-pack-rev14/inc/3.14/linux-phc-0.3.2.patch +@@ -198,7 +198,7 @@ + static void __init acpi_cpufreq_boost_init(void) + { + if (boot_cpu_has(X86_FEATURE_CPB) || boot_cpu_has(X86_FEATURE_IDA)) { +-@@ -929,6 +1022,481 @@ ++@@ -929,6 +1022,486 @@ + } + } + +@@ -274,6 +274,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -303,6 +304,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -329,6 +331,7 @@ + + fid = extract_fid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", fid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -357,6 +360,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -388,6 +392,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.15.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.15.patch new file mode 100644 index 000000000000..e1db916f7192 --- /dev/null +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.15.patch @@ -0,0 +1,51 @@ +--- phc-intel-pack-rev15.1/inc/3.15/linux-phc-0.3.2.patch ++++ phc-intel-pack-rev15.1/inc/3.15/linux-phc-0.3.2.patch +@@ -198,7 +198,7 @@ + static void __init acpi_cpufreq_boost_init(void) + { + if (boot_cpu_has(X86_FEATURE_CPB) || boot_cpu_has(X86_FEATURE_IDA)) { +-@@ -929,6 +1022,481 @@ ++@@ -929,6 +1022,486 @@ + } + } + +@@ -274,6 +274,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -303,6 +304,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -329,6 +331,7 @@ + + fid = extract_fid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u ", fid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -357,6 +360,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].driver_data].control); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -388,6 +392,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].driver_data]); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.5.patch b/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.5.patch new file mode 100644 index 000000000000..01bf10bba48b --- /dev/null +++ b/sys-power/phc-intel/files/phc-intel-0.3.2-rev15-trailing-space-3.5.patch @@ -0,0 +1,51 @@ +--- phc-intel-pack-rev15.1/inc/3.5/linux-phc-0.3.2.patch ++++ phc-intel-pack-rev15.1/inc/3.5/linux-phc-0.3.2.patch +@@ -55,7 +55,7 @@ + kfree(data->freq_table); + kfree(data); + } +-@@ -716,8 +728,470 @@ ++@@ -716,8 +728,475 @@ + return 0; + } + +@@ -134,6 +134,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -163,6 +164,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); + + count += sprintf(&buf[count], "%u ", vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -189,6 +191,7 @@ + + fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u ", fid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -217,6 +220,7 @@ + + vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; +@@ -248,6 +252,7 @@ + + vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); + + count += sprintf(&buf[count], "%u:%u ", fid, vid); + + } +++ if (count) count--; + + count += sprintf(&buf[count], "\n"); + + + + return count; diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.35.patch b/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.35.patch deleted file mode 100644 index 3a80b057955d..000000000000 --- a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.35.patch +++ /dev/null @@ -1,531 +0,0 @@ ---- /tmp/acpi-cpufreq.c.orig 2010-08-07 09:25:45.510440771 +0200 -+++ phc-intel-0.3.2-12-1/phc-intel.c -@@ -25,6 +25,10 @@ - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -+/* This file has been patched with Linux PHC: www.linux-phc.org -+* Patch version: linux-phc-0.3.2 -+*/ -+ - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/init.h> -@@ -62,12 +66,17 @@ - }; - - #define INTEL_MSR_RANGE (0xffff) -+#define INTEL_MSR_VID_MASK (0x00ff) -+#define INTEL_MSR_FID_MASK (0xff00) -+#define INTEL_MSR_FID_SHIFT (0x8) -+#define PHC_VERSION_STRING "0.3.2:2" - - struct acpi_cpufreq_data { - struct acpi_processor_performance *acpi_data; - struct cpufreq_frequency_table *freq_table; - unsigned int resume; - unsigned int cpu_feature; -+ acpi_integer *original_controls; - }; - - static DEFINE_PER_CPU(struct acpi_cpufreq_data *, acfreq_data); -@@ -103,13 +112,14 @@ - static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) - { - int i; -+ u32 fid; - struct acpi_processor_performance *perf; - -- msr &= INTEL_MSR_RANGE; -+ fid = msr & INTEL_MSR_FID_MASK; - perf = data->acpi_data; - - for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -- if (msr == perf->states[data->freq_table[i].index].status) -+ if (fid == (perf->states[data->freq_table[i].index].status & INTEL_MSR_FID_MASK)) - return data->freq_table[i].frequency; - } - return data->freq_table[0].frequency; -@@ -704,6 +714,8 @@ - per_cpu(acfreq_data, policy->cpu) = NULL; - acpi_processor_unregister_performance(data->acpi_data, - policy->cpu); -+ if (data->original_controls) -+ kfree(data->original_controls); - kfree(data); - } - -@@ -721,8 +733,472 @@ - return 0; - } - -+ -+/* sysfs interface to change operating points voltages */ -+ -+static unsigned int extract_fid_from_control(unsigned int control) -+{ -+ return ((control & INTEL_MSR_FID_MASK) >> INTEL_MSR_FID_SHIFT); -+} -+ -+static unsigned int extract_vid_from_control(unsigned int control) -+{ -+ return (control & INTEL_MSR_VID_MASK); -+} -+ -+ -+static bool check_cpu_control_capability(struct acpi_cpufreq_data *data) { -+ /* check if the cpu we are running on is capable of setting new control data -+ * -+ */ -+ if (unlikely(data == NULL || -+ data->acpi_data == NULL || -+ data->freq_table == NULL || -+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) { -+ return false; -+ } else { -+ return true; -+ }; -+} -+ -+ -+static ssize_t check_origial_table (struct acpi_cpufreq_data *data) -+{ -+ -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int state_index; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ if (data->original_controls == NULL) { -+ // Backup original control values -+ data->original_controls = kcalloc(acpi_data->state_count, -+ sizeof(acpi_integer), GFP_KERNEL); -+ if (data->original_controls == NULL) { -+ printk("failed to allocate memory for original control values\n"); -+ return -ENOMEM; -+ } -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ data->original_controls[state_index] = acpi_data->states[state_index].control; -+ } -+ } -+ return 0; -+} -+ -+static ssize_t show_freq_attr_vids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_vids(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_fids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's frequeny id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", fid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_controls(struct cpufreq_policy *policy, char *buf) -+ /* display phc's controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ if (count) -+ count += sprintf(&buf[count], " "); -+ count += sprintf(&buf[count], "%u:%u ", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_controls(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(data->original_controls[freq_table[i].index]); -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u:%u ", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+ -+static ssize_t store_freq_attr_vids(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the voltage id's for the related frequency -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int freq_index; -+ unsigned int state_index; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_control; -+ unsigned int original_control; -+ const char *curr_buf = buf; -+ char *next_buf; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ /* for each value taken from the sysfs interfalce (phc_vids) get entrys and convert them to unsigned long integers*/ -+ for (freq_index = 0; freq_table[freq_index].frequency != CPUFREQ_TABLE_END; freq_index++) { -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if (next_buf == curr_buf) { -+ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) { //end of line? -+ curr_buf++; -+ break; -+ } -+ //if we didn't got end of line but there is nothing more to read something went wrong... -+ printk("failed to parse vid value at %i (%s)\n", freq_index, curr_buf); -+ return -EINVAL; -+ } -+ -+ state_index = freq_table[freq_index].index; -+ original_control = data->original_controls[state_index]; -+ original_vid = original_control & INTEL_MSR_VID_MASK; -+ -+ /* before we store the values we do some checks to prevent -+ * users to set up values higher than the default one -+ */ -+ if (new_vid <= original_vid) { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ dprintk("setting control at %i to %x (default is %x)\n", -+ freq_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ freq_index, new_vid, original_vid); -+ } -+ -+ curr_buf = next_buf; -+ /* jump over value seperators (space or comma). -+ * There could be more than one space or comma character -+ * to separate two values so we better do it using a loop. -+ */ -+ while ((curr_buf - buf < count) && ((*curr_buf == ' ') || (*curr_buf == ','))) { -+ curr_buf++; -+ } -+ } -+ -+ /* set new voltage for current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ -+ return curr_buf - buf; -+} -+ -+static ssize_t store_freq_attr_controls(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the controls (frequency id's and related voltage id's) -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ const char *curr_buf; -+ unsigned int op_count; -+ unsigned int state_index; -+ int isok; -+ char *next_buf; -+ ssize_t retval; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_fid; -+ unsigned int old_fid; -+ unsigned int original_control; -+ unsigned int old_control; -+ unsigned int new_control; -+ int found; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ op_count = 0; -+ curr_buf = buf; -+ next_buf = NULL; -+ isok = 1; -+ -+ while ( (isok) && (curr_buf != NULL) ) -+ { -+ op_count++; -+ // Parse fid -+ new_fid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ // Parse separator between frequency and voltage -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if (*curr_buf==':') -+ { -+ curr_buf++; -+ // Parse vid -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ found = 0; -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ old_control = acpi_data->states[state_index].control; -+ old_fid = extract_fid_from_control(old_control); -+ if (new_fid == old_fid) -+ { -+ found = 1; -+ original_control = data->original_controls[state_index]; -+ original_vid = extract_vid_from_control(original_control); -+ if (new_vid <= original_vid) -+ { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ dprintk("setting control at %i to %x (default is %x)\n", -+ state_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ state_index, new_vid, original_vid); -+ } -+ } -+ } -+ -+ if (found == 0) -+ { -+ printk("operating point # %u not found (FID = %u)\n", op_count, new_fid); -+ isok = 0; -+ } -+ -+ // Parse seprator before next operating point, if any -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if ((*curr_buf == ',') || (*curr_buf == ' ')) -+ curr_buf++; -+ else -+ curr_buf = NULL; -+ } -+ else -+ { -+ printk("failed to parse VID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse FID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ -+ if (isok) -+ { -+ retval = count; -+ /* set new voltage at current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ } -+ else -+ { -+ retval = -EINVAL; -+ } -+ -+ return retval; -+} -+ -+static ssize_t show_freq_attr_phc_version(struct cpufreq_policy *policy, char *buf) -+ /* print out the phc version string set at the beginning of that file -+ */ -+{ -+ ssize_t count = 0; -+ count += sprintf(&buf[count], "%s\n", PHC_VERSION_STRING); -+ return count; -+} -+ -+ -+ -+static struct freq_attr cpufreq_freq_attr_phc_version = -+{ -+ /*display phc's version string*/ -+ .attr = { .name = "phc_version", .mode = 0444, .owner = THIS_MODULE }, -+ .show = show_freq_attr_phc_version, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_vids = -+{ -+ /*display phc's voltage id's for the cpu*/ -+ .attr = { .name = "phc_vids", .mode = 0644, .owner = THIS_MODULE }, -+ .show = show_freq_attr_vids, -+ .store = store_freq_attr_vids, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_vids = -+{ -+ /*display acpi's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_default_vids", .mode = 0444, .owner = THIS_MODULE }, -+ .show = show_freq_attr_default_vids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_fids = -+{ -+ /*display phc's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_fids", .mode = 0444, .owner = THIS_MODULE }, -+ .show = show_freq_attr_fids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_controls = -+{ -+ /*display phc's current voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_controls", .mode = 0644, .owner = THIS_MODULE }, -+ .show = show_freq_attr_controls, -+ .store = store_freq_attr_controls, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_controls = -+{ -+ /*display acpi's default voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_default_controls", .mode = 0444, .owner = THIS_MODULE }, -+ .show = show_freq_attr_default_controls, -+ .store = NULL, -+}; -+ - static struct freq_attr *acpi_cpufreq_attr[] = { -- &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_phc_version, -+ &cpufreq_freq_attr_vids, -+ &cpufreq_freq_attr_default_vids, -+ &cpufreq_freq_attr_fids, -+ &cpufreq_freq_attr_controls, -+ &cpufreq_freq_attr_default_controls, - NULL, - }; - diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.36.patch b/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.36.patch deleted file mode 100644 index f952cbc0d540..000000000000 --- a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.36.patch +++ /dev/null @@ -1,531 +0,0 @@ ---- /tmp/acpi-cpufreq.c.orig 2010-08-07 09:25:45.510440771 +0200 -+++ phc-intel-0.3.2-12-1/phc-intel.c -@@ -25,6 +25,10 @@ - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -+/* This file has been patched with Linux PHC: www.linux-phc.org -+* Patch version: linux-phc-0.3.2 -+*/ -+ - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/init.h> -@@ -62,12 +66,17 @@ - }; - - #define INTEL_MSR_RANGE (0xffff) -+#define INTEL_MSR_VID_MASK (0x00ff) -+#define INTEL_MSR_FID_MASK (0xff00) -+#define INTEL_MSR_FID_SHIFT (0x8) -+#define PHC_VERSION_STRING "0.3.2:2" - - struct acpi_cpufreq_data { - struct acpi_processor_performance *acpi_data; - struct cpufreq_frequency_table *freq_table; - unsigned int resume; - unsigned int cpu_feature; -+ acpi_integer *original_controls; - }; - - static DEFINE_PER_CPU(struct acpi_cpufreq_data *, acfreq_data); -@@ -103,13 +112,14 @@ - static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) - { - int i; -+ u32 fid; - struct acpi_processor_performance *perf; - -- msr &= INTEL_MSR_RANGE; -+ fid = msr & INTEL_MSR_FID_MASK; - perf = data->acpi_data; - - for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -- if (msr == perf->states[data->freq_table[i].index].status) -+ if (fid == (perf->states[data->freq_table[i].index].status & INTEL_MSR_FID_MASK)) - return data->freq_table[i].frequency; - } - return data->freq_table[0].frequency; -@@ -704,6 +714,8 @@ - per_cpu(acfreq_data, policy->cpu) = NULL; - acpi_processor_unregister_performance(data->acpi_data, - policy->cpu); -+ if (data->original_controls) -+ kfree(data->original_controls); - kfree(data); - } - -@@ -721,8 +733,472 @@ - return 0; - } - -+ -+/* sysfs interface to change operating points voltages */ -+ -+static unsigned int extract_fid_from_control(unsigned int control) -+{ -+ return ((control & INTEL_MSR_FID_MASK) >> INTEL_MSR_FID_SHIFT); -+} -+ -+static unsigned int extract_vid_from_control(unsigned int control) -+{ -+ return (control & INTEL_MSR_VID_MASK); -+} -+ -+ -+static bool check_cpu_control_capability(struct acpi_cpufreq_data *data) { -+ /* check if the cpu we are running on is capable of setting new control data -+ * -+ */ -+ if (unlikely(data == NULL || -+ data->acpi_data == NULL || -+ data->freq_table == NULL || -+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) { -+ return false; -+ } else { -+ return true; -+ }; -+} -+ -+ -+static ssize_t check_origial_table (struct acpi_cpufreq_data *data) -+{ -+ -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int state_index; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ if (data->original_controls == NULL) { -+ // Backup original control values -+ data->original_controls = kcalloc(acpi_data->state_count, -+ sizeof(acpi_integer), GFP_KERNEL); -+ if (data->original_controls == NULL) { -+ printk("failed to allocate memory for original control values\n"); -+ return -ENOMEM; -+ } -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ data->original_controls[state_index] = acpi_data->states[state_index].control; -+ } -+ } -+ return 0; -+} -+ -+static ssize_t show_freq_attr_vids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_vids(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_fids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's frequeny id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", fid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_controls(struct cpufreq_policy *policy, char *buf) -+ /* display phc's controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ if (count) -+ count += sprintf(&buf[count], " "); -+ count += sprintf(&buf[count], "%u:%u", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_controls(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(data->original_controls[freq_table[i].index]); -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u:%u ", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+ -+static ssize_t store_freq_attr_vids(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the voltage id's for the related frequency -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int freq_index; -+ unsigned int state_index; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_control; -+ unsigned int original_control; -+ const char *curr_buf = buf; -+ char *next_buf; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ /* for each value taken from the sysfs interfalce (phc_vids) get entrys and convert them to unsigned long integers*/ -+ for (freq_index = 0; freq_table[freq_index].frequency != CPUFREQ_TABLE_END; freq_index++) { -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if (next_buf == curr_buf) { -+ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) { //end of line? -+ curr_buf++; -+ break; -+ } -+ //if we didn't got end of line but there is nothing more to read something went wrong... -+ printk("failed to parse vid value at %i (%s)\n", freq_index, curr_buf); -+ return -EINVAL; -+ } -+ -+ state_index = freq_table[freq_index].index; -+ original_control = data->original_controls[state_index]; -+ original_vid = original_control & INTEL_MSR_VID_MASK; -+ -+ /* before we store the values we do some checks to prevent -+ * users to set up values higher than the default one -+ */ -+ if (new_vid <= original_vid) { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ dprintk("setting control at %i to %x (default is %x)\n", -+ freq_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ freq_index, new_vid, original_vid); -+ } -+ -+ curr_buf = next_buf; -+ /* jump over value seperators (space or comma). -+ * There could be more than one space or comma character -+ * to separate two values so we better do it using a loop. -+ */ -+ while ((curr_buf - buf < count) && ((*curr_buf == ' ') || (*curr_buf == ','))) { -+ curr_buf++; -+ } -+ } -+ -+ /* set new voltage for current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ -+ return curr_buf - buf; -+} -+ -+static ssize_t store_freq_attr_controls(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the controls (frequency id's and related voltage id's) -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ const char *curr_buf; -+ unsigned int op_count; -+ unsigned int state_index; -+ int isok; -+ char *next_buf; -+ ssize_t retval; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_fid; -+ unsigned int old_fid; -+ unsigned int original_control; -+ unsigned int old_control; -+ unsigned int new_control; -+ int found; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ op_count = 0; -+ curr_buf = buf; -+ next_buf = NULL; -+ isok = 1; -+ -+ while ( (isok) && (curr_buf != NULL) ) -+ { -+ op_count++; -+ // Parse fid -+ new_fid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ // Parse separator between frequency and voltage -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if (*curr_buf==':') -+ { -+ curr_buf++; -+ // Parse vid -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ found = 0; -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ old_control = acpi_data->states[state_index].control; -+ old_fid = extract_fid_from_control(old_control); -+ if (new_fid == old_fid) -+ { -+ found = 1; -+ original_control = data->original_controls[state_index]; -+ original_vid = extract_vid_from_control(original_control); -+ if (new_vid <= original_vid) -+ { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ dprintk("setting control at %i to %x (default is %x)\n", -+ state_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ state_index, new_vid, original_vid); -+ } -+ } -+ } -+ -+ if (found == 0) -+ { -+ printk("operating point # %u not found (FID = %u)\n", op_count, new_fid); -+ isok = 0; -+ } -+ -+ // Parse seprator before next operating point, if any -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if ((*curr_buf == ',') || (*curr_buf == ' ')) -+ curr_buf++; -+ else -+ curr_buf = NULL; -+ } -+ else -+ { -+ printk("failed to parse VID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse FID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ -+ if (isok) -+ { -+ retval = count; -+ /* set new voltage at current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ } -+ else -+ { -+ retval = -EINVAL; -+ } -+ -+ return retval; -+} -+ -+static ssize_t show_freq_attr_phc_version(struct cpufreq_policy *policy, char *buf) -+ /* print out the phc version string set at the beginning of that file -+ */ -+{ -+ ssize_t count = 0; -+ count += sprintf(&buf[count], "%s\n", PHC_VERSION_STRING); -+ return count; -+} -+ -+ -+ -+static struct freq_attr cpufreq_freq_attr_phc_version = -+{ -+ /*display phc's version string*/ -+ .attr = { .name = "phc_version", .mode = 0444 }, -+ .show = show_freq_attr_phc_version, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_vids = -+{ -+ /*display phc's voltage id's for the cpu*/ -+ .attr = { .name = "phc_vids", .mode = 0644 }, -+ .show = show_freq_attr_vids, -+ .store = store_freq_attr_vids, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_vids = -+{ -+ /*display acpi's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_default_vids", .mode = 0444 }, -+ .show = show_freq_attr_default_vids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_fids = -+{ -+ /*display phc's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_fids", .mode = 0444 }, -+ .show = show_freq_attr_fids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_controls = -+{ -+ /*display phc's current voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_controls", .mode = 0644 }, -+ .show = show_freq_attr_controls, -+ .store = store_freq_attr_controls, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_controls = -+{ -+ /*display acpi's default voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_default_controls", .mode = 0444 }, -+ .show = show_freq_attr_default_controls, -+ .store = NULL, -+}; -+ - static struct freq_attr *acpi_cpufreq_attr[] = { -- &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_phc_version, -+ &cpufreq_freq_attr_vids, -+ &cpufreq_freq_attr_default_vids, -+ &cpufreq_freq_attr_fids, -+ &cpufreq_freq_attr_controls, -+ &cpufreq_freq_attr_default_controls, - NULL, - }; - diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.37.patch b/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.37.patch deleted file mode 100644 index 233c322be5a8..000000000000 --- a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-2.6.37.patch +++ /dev/null @@ -1,530 +0,0 @@ ---- linux-2.6.37-gentoo/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c -+++ phc-intel-0.3.2-12-1/phc-intel.c -@@ -25,6 +25,10 @@ - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -+/* This file has been patched with Linux PHC: www.linux-phc.org -+* Patch version: linux-phc-0.3.2 -+*/ -+ - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/init.h> -@@ -61,12 +65,17 @@ - }; - - #define INTEL_MSR_RANGE (0xffff) -+#define INTEL_MSR_VID_MASK (0x00ff) -+#define INTEL_MSR_FID_MASK (0xff00) -+#define INTEL_MSR_FID_SHIFT (0x8) -+#define PHC_VERSION_STRING "0.3.2:2" - - struct acpi_cpufreq_data { - struct acpi_processor_performance *acpi_data; - struct cpufreq_frequency_table *freq_table; - unsigned int resume; - unsigned int cpu_feature; -+ acpi_integer *original_controls; - }; - - static DEFINE_PER_CPU(struct acpi_cpufreq_data *, acfreq_data); -@@ -102,13 +111,14 @@ - static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) - { - int i; -+ u32 fid; - struct acpi_processor_performance *perf; - -- msr &= INTEL_MSR_RANGE; -+ fid = msr & INTEL_MSR_FID_MASK; - perf = data->acpi_data; - - for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -- if (msr == perf->states[data->freq_table[i].index].status) -+ if (fid == (perf->states[data->freq_table[i].index].status & INTEL_MSR_FID_MASK)) - return data->freq_table[i].frequency; - } - return data->freq_table[0].frequency; -@@ -701,6 +711,8 @@ - per_cpu(acfreq_data, policy->cpu) = NULL; - acpi_processor_unregister_performance(data->acpi_data, - policy->cpu); -+ if (data->original_controls) -+ kfree(data->original_controls); - kfree(data->freq_table); - kfree(data); - } -@@ -719,8 +731,472 @@ - return 0; - } - -+/* sysfs interface to change operating points voltages */ -+ -+static unsigned int extract_fid_from_control(unsigned int control) -+{ -+ return ((control & INTEL_MSR_FID_MASK) >> INTEL_MSR_FID_SHIFT); -+} -+ -+static unsigned int extract_vid_from_control(unsigned int control) -+{ -+ return (control & INTEL_MSR_VID_MASK); -+} -+ -+ -+static bool check_cpu_control_capability(struct acpi_cpufreq_data *data) { -+ /* check if the cpu we are running on is capable of setting new control data -+ * -+ */ -+ if (unlikely(data == NULL || -+ data->acpi_data == NULL || -+ data->freq_table == NULL || -+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) { -+ return false; -+ } else { -+ return true; -+ }; -+} -+ -+ -+static ssize_t check_origial_table (struct acpi_cpufreq_data *data) -+{ -+ -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int state_index; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ if (data->original_controls == NULL) { -+ // Backup original control values -+ data->original_controls = kcalloc(acpi_data->state_count, -+ sizeof(acpi_integer), GFP_KERNEL); -+ if (data->original_controls == NULL) { -+ printk("failed to allocate memory for original control values\n"); -+ return -ENOMEM; -+ } -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ data->original_controls[state_index] = acpi_data->states[state_index].control; -+ } -+ } -+ return 0; -+} -+ -+static ssize_t show_freq_attr_vids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_vids(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_fids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's frequeny id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", fid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_controls(struct cpufreq_policy *policy, char *buf) -+ /* display phc's controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ if (count) -+ count += sprintf(&buf[count], " "); -+ count += sprintf(&buf[count], "%u:%u", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_controls(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(data->original_controls[freq_table[i].index]); -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u:%u ", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+ -+static ssize_t store_freq_attr_vids(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the voltage id's for the related frequency -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int freq_index; -+ unsigned int state_index; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_control; -+ unsigned int original_control; -+ const char *curr_buf = buf; -+ char *next_buf; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ /* for each value taken from the sysfs interfalce (phc_vids) get entrys and convert them to unsigned long integers*/ -+ for (freq_index = 0; freq_table[freq_index].frequency != CPUFREQ_TABLE_END; freq_index++) { -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if (next_buf == curr_buf) { -+ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) { //end of line? -+ curr_buf++; -+ break; -+ } -+ //if we didn't got end of line but there is nothing more to read something went wrong... -+ printk("failed to parse vid value at %i (%s)\n", freq_index, curr_buf); -+ return -EINVAL; -+ } -+ -+ state_index = freq_table[freq_index].index; -+ original_control = data->original_controls[state_index]; -+ original_vid = original_control & INTEL_MSR_VID_MASK; -+ -+ /* before we store the values we do some checks to prevent -+ * users to set up values higher than the default one -+ */ -+ if (new_vid <= original_vid) { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ pr_debug("setting control at %i to %x (default is %x)\n", -+ freq_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ pr_debug("skipping vid at %i, %u is greater than default %u\n", -+ freq_index, new_vid, original_vid); -+ } -+ -+ curr_buf = next_buf; -+ /* jump over value seperators (space or comma). -+ * There could be more than one space or comma character -+ * to separate two values so we better do it using a loop. -+ */ -+ while ((curr_buf - buf < count) && ((*curr_buf == ' ') || (*curr_buf == ','))) { -+ curr_buf++; -+ } -+ } -+ -+ /* set new voltage for current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ -+ return curr_buf - buf; -+} -+ -+static ssize_t store_freq_attr_controls(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the controls (frequency id's and related voltage id's) -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ const char *curr_buf; -+ unsigned int op_count; -+ unsigned int state_index; -+ int isok; -+ char *next_buf; -+ ssize_t retval; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_fid; -+ unsigned int old_fid; -+ unsigned int original_control; -+ unsigned int old_control; -+ unsigned int new_control; -+ int found; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ op_count = 0; -+ curr_buf = buf; -+ next_buf = NULL; -+ isok = 1; -+ -+ while ( (isok) && (curr_buf != NULL) ) -+ { -+ op_count++; -+ // Parse fid -+ new_fid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ // Parse separator between frequency and voltage -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if (*curr_buf==':') -+ { -+ curr_buf++; -+ // Parse vid -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ found = 0; -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ old_control = acpi_data->states[state_index].control; -+ old_fid = extract_fid_from_control(old_control); -+ if (new_fid == old_fid) -+ { -+ found = 1; -+ original_control = data->original_controls[state_index]; -+ original_vid = extract_vid_from_control(original_control); -+ if (new_vid <= original_vid) -+ { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ pr_debug("setting control at %i to %x (default is %x)\n", -+ state_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ state_index, new_vid, original_vid); -+ } -+ } -+ } -+ -+ if (found == 0) -+ { -+ printk("operating point # %u not found (FID = %u)\n", op_count, new_fid); -+ isok = 0; -+ } -+ -+ // Parse seprator before next operating point, if any -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if ((*curr_buf == ',') || (*curr_buf == ' ')) -+ curr_buf++; -+ else -+ curr_buf = NULL; -+ } -+ else -+ { -+ printk("failed to parse VID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse FID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ -+ if (isok) -+ { -+ retval = count; -+ /* set new voltage at current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ } -+ else -+ { -+ retval = -EINVAL; -+ } -+ -+ return retval; -+} -+ -+static ssize_t show_freq_attr_phc_version(struct cpufreq_policy *policy, char *buf) -+ /* print out the phc version string set at the beginning of that file -+ */ -+{ -+ ssize_t count = 0; -+ count += sprintf(&buf[count], "%s\n", PHC_VERSION_STRING); -+ return count; -+} -+ -+ -+ -+static struct freq_attr cpufreq_freq_attr_phc_version = -+{ -+ /*display phc's version string*/ -+ .attr = { .name = "phc_version", .mode = 0444 }, -+ .show = show_freq_attr_phc_version, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_vids = -+{ -+ /*display phc's voltage id's for the cpu*/ -+ .attr = { .name = "phc_vids", .mode = 0644 }, -+ .show = show_freq_attr_vids, -+ .store = store_freq_attr_vids, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_vids = -+{ -+ /*display acpi's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_default_vids", .mode = 0444 }, -+ .show = show_freq_attr_default_vids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_fids = -+{ -+ /*display phc's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_fids", .mode = 0444 }, -+ .show = show_freq_attr_fids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_controls = -+{ -+ /*display phc's current voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_controls", .mode = 0644 }, -+ .show = show_freq_attr_controls, -+ .store = store_freq_attr_controls, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_controls = -+{ -+ /*display acpi's default voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_default_controls", .mode = 0444 }, -+ .show = show_freq_attr_default_controls, -+ .store = NULL, -+}; -+ -+ - static struct freq_attr *acpi_cpufreq_attr[] = { - &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_phc_version, -+ &cpufreq_freq_attr_vids, -+ &cpufreq_freq_attr_default_vids, -+ &cpufreq_freq_attr_fids, -+ &cpufreq_freq_attr_controls, -+ &cpufreq_freq_attr_default_controls, - NULL, - }; - diff --git a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-3.7.patch b/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-3.7.patch deleted file mode 100644 index 5f06f54136ba..000000000000 --- a/sys-power/phc-intel/files/phc-intel-0.3.2.12.1-r5-3.7.patch +++ /dev/null @@ -1,536 +0,0 @@ ---- hc-intel-0.3.2-12-1/phc-intel.c -+++ hc-intel-0.3.2-12-1/phc-intel.c -@@ -25,6 +25,10 @@ - * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - */ - -+/* This file has been patched with Linux PHC: www.linux-phc.org -+* Patch version: linux-phc-0.3.2 -+*/ -+ - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/init.h> -@@ -61,6 +65,10 @@ enum { - }; - - #define INTEL_MSR_RANGE (0xffff) -+#define INTEL_MSR_VID_MASK (0x00ff) -+#define INTEL_MSR_FID_MASK (0xff00) -+#define INTEL_MSR_FID_SHIFT (0x8) -+#define PHC_VERSION_STRING "0.3.2:2" - #define AMD_MSR_RANGE (0x7) - - #define MSR_K7_HWCR_CPB_DIS (1ULL << 25) -@@ -70,6 +78,7 @@ struct acpi_cpufreq_data { - struct cpufreq_frequency_table *freq_table; - unsigned int resume; - unsigned int cpu_feature; -+ acpi_integer *original_controls; - }; - - static DEFINE_PER_CPU(struct acpi_cpufreq_data *, acfreq_data); -@@ -222,17 +231,18 @@ static unsigned extract_io(u32 value, st - static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data) - { - int i; -+ u32 fid; - struct acpi_processor_performance *perf; - - if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) - msr &= AMD_MSR_RANGE; - else -- msr &= INTEL_MSR_RANGE; -+ fid = msr & INTEL_MSR_FID_MASK; - - perf = data->acpi_data; - - for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -- if (msr == perf->states[data->freq_table[i].index].status) -+ if (fid == (perf->states[data->freq_table[i].index].status & INTEL_MSR_FID_MASK)) - return data->freq_table[i].frequency; - } - return data->freq_table[0].frequency; -@@ -868,6 +878,8 @@ static int acpi_cpufreq_cpu_init(struct - return result; - - err_freqfree: -+ if (data->original_controls) -+ kfree(data->original_controls); - kfree(data->freq_table); - err_unreg: - acpi_processor_unregister_performance(perf, cpu); -@@ -907,8 +919,473 @@ static int acpi_cpufreq_resume(struct cp - return 0; - } - -+/* sysfs interface to change operating points voltages */ -+ -+static unsigned int extract_fid_from_control(unsigned int control) -+{ -+ return ((control & INTEL_MSR_FID_MASK) >> INTEL_MSR_FID_SHIFT); -+} -+ -+static unsigned int extract_vid_from_control(unsigned int control) -+{ -+ return (control & INTEL_MSR_VID_MASK); -+} -+ -+ -+static bool check_cpu_control_capability(struct acpi_cpufreq_data *data) { -+ /* check if the cpu we are running on is capable of setting new control data -+ * -+ */ -+ if (unlikely(data == NULL || -+ data->acpi_data == NULL || -+ data->freq_table == NULL || -+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) { -+ return false; -+ } else { -+ return true; -+ }; -+} -+ -+ -+static ssize_t check_origial_table (struct acpi_cpufreq_data *data) -+{ -+ -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int state_index; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ if (data->original_controls == NULL) { -+ // Backup original control values -+ data->original_controls = kcalloc(acpi_data->state_count, -+ sizeof(acpi_integer), GFP_KERNEL); -+ if (data->original_controls == NULL) { -+ printk("failed to allocate memory for original control values\n"); -+ return -ENOMEM; -+ } -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ data->original_controls[state_index] = acpi_data->states[state_index].control; -+ } -+ } -+ return 0; -+} -+ -+static ssize_t show_freq_attr_vids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_vids(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default voltage id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u ", vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_fids(struct cpufreq_policy *policy, char *buf) -+ /* display phc's frequeny id's -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ count += sprintf(&buf[count], "%u ", fid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_controls(struct cpufreq_policy *policy, char *buf) -+ /* display phc's controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(acpi_data->states[freq_table[i].index].control); -+ vid = extract_vid_from_control(acpi_data->states[freq_table[i].index].control); -+ if (count) -+ count += sprintf(&buf[count], " "); -+ count += sprintf(&buf[count], "%u:%u", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+static ssize_t show_freq_attr_default_controls(struct cpufreq_policy *policy, char *buf) -+ /* display acpi's default controls for the cpu (frequency id's and related voltage id's) -+ * -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int i; -+ unsigned int fid; -+ unsigned int vid; -+ ssize_t count = 0; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ freq_table = data->freq_table; -+ -+ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { -+ fid = extract_fid_from_control(data->original_controls[freq_table[i].index]); -+ vid = extract_vid_from_control(data->original_controls[freq_table[i].index]); -+ count += sprintf(&buf[count], "%u:%u ", fid, vid); -+ } -+ count += sprintf(&buf[count], "\n"); -+ -+ return count; -+} -+ -+ -+static ssize_t store_freq_attr_vids(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the voltage id's for the related frequency -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ unsigned int freq_index; -+ unsigned int state_index; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_control; -+ unsigned int original_control; -+ const char *curr_buf = buf; -+ char *next_buf; -+ ssize_t retval; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ /* for each value taken from the sysfs interfalce (phc_vids) get entrys and convert them to unsigned long integers*/ -+ for (freq_index = 0; freq_table[freq_index].frequency != CPUFREQ_TABLE_END; freq_index++) { -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if (next_buf == curr_buf) { -+ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) { //end of line? -+ curr_buf++; -+ break; -+ } -+ //if we didn't got end of line but there is nothing more to read something went wrong... -+ printk("failed to parse vid value at %i (%s)\n", freq_index, curr_buf); -+ return -EINVAL; -+ } -+ -+ state_index = freq_table[freq_index].index; -+ original_control = data->original_controls[state_index]; -+ original_vid = original_control & INTEL_MSR_VID_MASK; -+ -+ /* before we store the values we do some checks to prevent -+ * users to set up values higher than the default one -+ */ -+ if (new_vid <= original_vid) { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ pr_debug("setting control at %i to %x (default is %x)\n", -+ freq_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ pr_debug("skipping vid at %i, %u is greater than default %u\n", -+ freq_index, new_vid, original_vid); -+ } -+ -+ curr_buf = next_buf; -+ /* jump over value seperators (space or comma). -+ * There could be more than one space or comma character -+ * to separate two values so we better do it using a loop. -+ */ -+ while ((curr_buf - buf < count) && ((*curr_buf == ' ') || (*curr_buf == ','))) { -+ curr_buf++; -+ } -+ } -+ -+ /* set new voltage for current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ -+ return curr_buf - buf; -+} -+ -+static ssize_t store_freq_attr_controls(struct cpufreq_policy *policy, const char *buf, size_t count) -+ /* store the controls (frequency id's and related voltage id's) -+ * We are going to do some sanity checks here to prevent users -+ * from setting higher voltages than the default one. -+ */ -+{ -+ struct acpi_cpufreq_data *data = per_cpu(acfreq_data, policy->cpu); -+ struct acpi_processor_performance *acpi_data; -+ struct cpufreq_frequency_table *freq_table; -+ const char *curr_buf; -+ unsigned int op_count; -+ unsigned int state_index; -+ int isok; -+ char *next_buf; -+ ssize_t retval; -+ unsigned int new_vid; -+ unsigned int original_vid; -+ unsigned int new_fid; -+ unsigned int old_fid; -+ unsigned int original_control; -+ unsigned int old_control; -+ unsigned int new_control; -+ int found; -+ -+ if (!check_cpu_control_capability(data)) return -ENODEV; -+ -+ retval = check_origial_table(data); -+ if (0 != retval) -+ return retval; -+ -+ acpi_data = data->acpi_data; -+ freq_table = data->freq_table; -+ -+ op_count = 0; -+ curr_buf = buf; -+ next_buf = NULL; -+ isok = 1; -+ -+ while ( (isok) && (curr_buf != NULL) ) -+ { -+ op_count++; -+ // Parse fid -+ new_fid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ // Parse separator between frequency and voltage -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if (*curr_buf==':') -+ { -+ curr_buf++; -+ // Parse vid -+ new_vid = simple_strtoul(curr_buf, &next_buf, 10); -+ if ((next_buf != curr_buf) && (next_buf != NULL)) -+ { -+ found = 0; -+ for (state_index = 0; state_index < acpi_data->state_count; state_index++) { -+ old_control = acpi_data->states[state_index].control; -+ old_fid = extract_fid_from_control(old_control); -+ if (new_fid == old_fid) -+ { -+ found = 1; -+ original_control = data->original_controls[state_index]; -+ original_vid = extract_vid_from_control(original_control); -+ if (new_vid <= original_vid) -+ { -+ new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid; -+ pr_debug("setting control at %i to %x (default is %x)\n", -+ state_index, new_control, original_control); -+ acpi_data->states[state_index].control = new_control; -+ -+ } else { -+ printk("skipping vid at %i, %u is greater than default %u\n", -+ state_index, new_vid, original_vid); -+ } -+ } -+ } -+ -+ if (found == 0) -+ { -+ printk("operating point # %u not found (FID = %u)\n", op_count, new_fid); -+ isok = 0; -+ } -+ -+ // Parse seprator before next operating point, if any -+ curr_buf = next_buf; -+ next_buf = NULL; -+ if ((*curr_buf == ',') || (*curr_buf == ' ')) -+ curr_buf++; -+ else -+ curr_buf = NULL; -+ } -+ else -+ { -+ printk("failed to parse VID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ else -+ { -+ printk("failed to parse FID of operating point # %u (%s)\n", op_count, curr_buf); -+ isok = 0; -+ } -+ } -+ -+ if (isok) -+ { -+ retval = count; -+ /* set new voltage at current frequency */ -+ data->resume = 1; -+ acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L); -+ } -+ else -+ { -+ retval = -EINVAL; -+ } -+ -+ return retval; -+} -+ -+static ssize_t show_freq_attr_phc_version(struct cpufreq_policy *policy, char *buf) -+ /* print out the phc version string set at the beginning of that file -+ */ -+{ -+ ssize_t count = 0; -+ count += sprintf(&buf[count], "%s\n", PHC_VERSION_STRING); -+ return count; -+} -+ -+ -+ -+static struct freq_attr cpufreq_freq_attr_phc_version = -+{ -+ /*display phc's version string*/ -+ .attr = { .name = "phc_version", .mode = 0444 }, -+ .show = show_freq_attr_phc_version, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_vids = -+{ -+ /*display phc's voltage id's for the cpu*/ -+ .attr = { .name = "phc_vids", .mode = 0644 }, -+ .show = show_freq_attr_vids, -+ .store = store_freq_attr_vids, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_vids = -+{ -+ /*display acpi's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_default_vids", .mode = 0444 }, -+ .show = show_freq_attr_default_vids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_fids = -+{ -+ /*display phc's default frequency id's for the cpu*/ -+ .attr = { .name = "phc_fids", .mode = 0444 }, -+ .show = show_freq_attr_fids, -+ .store = NULL, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_controls = -+{ -+ /*display phc's current voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_controls", .mode = 0644 }, -+ .show = show_freq_attr_controls, -+ .store = store_freq_attr_controls, -+}; -+ -+static struct freq_attr cpufreq_freq_attr_default_controls = -+{ -+ /*display acpi's default voltage/frequency controls for the cpu*/ -+ .attr = { .name = "phc_default_controls", .mode = 0444 }, -+ .show = show_freq_attr_default_controls, -+ .store = NULL, -+}; -+ -+ -+ - static struct freq_attr *acpi_cpufreq_attr[] = { - &cpufreq_freq_attr_scaling_available_freqs, -+ &cpufreq_freq_attr_phc_version, -+ &cpufreq_freq_attr_vids, -+ &cpufreq_freq_attr_default_vids, -+ &cpufreq_freq_attr_fids, -+ &cpufreq_freq_attr_controls, -+ &cpufreq_freq_attr_default_controls, - NULL, /* this is a placeholder for cpb, do not remove */ - NULL, - }; diff --git a/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.13.patch b/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.13.patch deleted file mode 100644 index ac9ecd7c2987..000000000000 --- a/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.13.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- phc-intel-pack-rev14/inc/3.13/linux-phc-0.4.0.patch.orig 2014-04-14 02:18:58.464488475 +0200 -+++ phc-intel-pack-rev14/inc/3.13/linux-phc-0.4.0.patch 2014-04-14 02:21:12.018581946 +0200 -@@ -225,7 +225,7 @@ - static void __init acpi_cpufreq_boost_init(void) - { - if (boot_cpu_has(X86_FEATURE_CPB) || boot_cpu_has(X86_FEATURE_IDA)) { --@@ -956,6 +1064,587 @@ -+@@ -956,6 +1064,591 @@ - } - } - -@@ -355,6 +355,7 @@ - + //add seperating space - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); //add line break - + return count; - + -@@ -382,6 +383,7 @@ - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } - + -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); //add NewLine - + return count; - +} -@@ -631,6 +633,7 @@ - + //add seperating space - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -660,6 +663,7 @@ - + count += sprintf(&buf[count], "%u", vid); - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; diff --git a/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.14.patch b/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.14.patch deleted file mode 100644 index f89b57052983..000000000000 --- a/sys-power/phc-intel/files/phc-intel-pack-rev14-trailing-space-3.14.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- phc-intel-pack-rev14/inc/3.14/linux-phc-0.4.0.patch -+++ phc-intel-pack-rev14/inc/3.14/linux-phc-0.4.0.patch -@@ -226,7 +226,7 @@ - static void __init acpi_cpufreq_boost_init(void) - { - if (boot_cpu_has(X86_FEATURE_CPB) || boot_cpu_has(X86_FEATURE_IDA)) { --@@ -929,6 +1036,588 @@ -+@@ -929,6 +1036,592 @@ - } - } - -@@ -356,6 +356,7 @@ - + //add seperating space - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); //add line break - + return count; - + -@@ -383,6 +384,7 @@ - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } - + -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); //add NewLine - + return count; - +} -@@ -632,6 +634,7 @@ - + //add seperating space - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; -@@ -661,6 +664,7 @@ - + count += sprintf(&buf[count], "%u", vid); - + if(freq_table[i+1].frequency != CPUFREQ_TABLE_END) count += sprintf(&buf[count], " "); - + } -++ if (count) count--; - + count += sprintf(&buf[count], "\n"); - + - + return count; diff --git a/sys-power/phc-intel/phc-intel-0.3.199.11_pre.ebuild b/sys-power/phc-intel/phc-intel-0.3.199.11_pre.ebuild deleted file mode 100644 index 3dfd094d689c..000000000000 --- a/sys-power/phc-intel/phc-intel-0.3.199.11_pre.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.199.11_pre.ebuild,v 1.2 2013/09/05 22:38:45 xmw Exp $ - -EAPI=5 - -inherit linux-info linux-mod eutils - -DESCRIPTION="Processor Hardware Control for Intel CPUs" -HOMEPAGE="http://www.linux-phc.org/ - http://www.linux-phc.org/forum/viewtopic.php?f=7&t=267" -#no automatic filenames here, sorry -SRC_URI="http://www.linux-phc.org/forum/download/file.php?id=147 -> phc-intel-pack-rev11.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="" -IUSE="" - -CONFIG_CHECK="~!X86_ACPI_CPUFREQ" -ERROR_X86_ACPI_CPUFREQ="CONFIG_X86_ACPI_CPUFREQ has to be configured to Module to enable the replacement of acpi-cpufreq with phc-intel." - -MODULE_NAMES="phc-intel(misc:)" -BUILD_PARAMS="KERNELSRC=\"${KERNEL_DIR}\" -j1" -BUILD_TARGETS="all" - -S=${WORKDIR}/${A/.tar.bz2} - -pkg_setup() { - if kernel_is lt 2 6 27 ; then - eerror "Your kernel version is no longer supported by this version of ${PN}." - eerror "Please use a previous version of ${PN} or a newer kernel." - die - fi - if kernel_is gt 3 11 ; then - eerror "Your kernel version is not yet supported by this version of ${PN}." - eerror "Please use a newer version of ${PN} or an older kernel." - die - fi - linux-mod_pkg_setup -} - -src_prepare() { - epatch "${FILESDIR}"/phc-intel-pack-rev11-trailing-space.patch - - sed -e '/^all:/s:prepare::' \ - -i Makefile || die - - local my_sub=arch/x86/kernel/cpu - if kernel_is gt 2 6 39 ; then - my_sub=drivers - fi - cp -v "${KERNEL_DIR}"/${my_sub}/cpufreq/{acpi-cpufreq.c,mperf.h} . || die - - if kernel_is lt 3 0 ; then - epatch inc/${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}/linux-phc-0.4.0.patch - else - epatch inc/${KV_MAJOR}.${KV_MINOR}/linux-phc-0.4.0.patch - fi - - mv acpi-cpufreq.c phc-intel.c || die -} diff --git a/sys-power/phc-intel/phc-intel-0.3.2.12.1-r5.ebuild b/sys-power/phc-intel/phc-intel-0.3.2.12.1-r5.ebuild deleted file mode 100644 index feaa2e6529e9..000000000000 --- a/sys-power/phc-intel/phc-intel-0.3.2.12.1-r5.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.2.12.1-r5.ebuild,v 1.2 2013/09/05 13:08:45 xmw Exp $ - -EAPI=2 - -inherit linux-info linux-mod versionator eutils - -DESCRIPTION="Processor Hardware Control for Intel CPUs" -HOMEPAGE="http://www.linux-phc.org/" -SRC_URI="http://www.linux-phc.org/forum/download/file.php?id=94 -> ${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -S=${WORKDIR}/${PN}-$(replace_version_separator 3 '-' $(replace_version_separator 4 '-')) - -CONFIG_CHECK="~!X86_ACPI_CPUFREQ" -ERROR_X86_ACPI_CPUFREQ="CONFIG_X86_ACPI_CPUFREQ has to be configured to Module to enable the replacement of acpi-cpufreq with phc-intel." - -MODULE_NAMES="phc-intel(misc:)" -BUILD_PARAMS="KERNELSRC=\"${KERNEL_DIR}\" -j1" -BUILD_TARGETS="all" - -pkg_setup() { - if kernel_is lt 2 6 33 ; then - eerror "Your kernel version is no longer supported by this version of ${PN}." - eerror "Please use a previous version of ${PN} or a newer kernel." - die - fi - if kernel_is gt 3 10 ; then - eerror "Your kernel version is not supported by this version of ${PN}." - eerror "Please use a newer version for kernels 3.11 and above." - die - fi - linux-mod_pkg_setup -} - -src_prepare() { - sed -e '/^all:/s:prepare::' \ - -e '/error Only support for 2.6 series kernels/d' \ - -i Makefile || die - - local my_sub=arch/x86/kernel/cpu - if kernel_is gt 2 6 39 ; then - my_sub=drivers - fi - cp -v "${KERNEL_DIR}"/${my_sub}/cpufreq/acpi-cpufreq.c phc-intel.c || die - cp -v "${KERNEL_DIR}"/${my_sub}/cpufreq/mperf.h . || die - - if kernel_is eq 2 6 35 || kernel_is eq 2 6 36 ; then - epatch "${FILESDIR}"/${PF}-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.patch - elif kernel_is lt 3 7 ; then - epatch "${FILESDIR}"/${PF}-2.6.37.patch - else - epatch "${FILESDIR}"/${PF}-3.7.patch - fi -} - -src_install() { - linux-mod_src_install - dodoc README || die -} diff --git a/sys-power/phc-intel/phc-intel-0.3.2.12.14.ebuild b/sys-power/phc-intel/phc-intel-0.3.2.12.14-r1.ebuild index 57328fa030c9..e1e9b64d4047 100644 --- a/sys-power/phc-intel/phc-intel-0.3.2.12.14.ebuild +++ b/sys-power/phc-intel/phc-intel-0.3.2.12.14-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.2.12.14.ebuild,v 1.1 2014/04/14 00:27:54 xmw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.2.12.14-r1.ebuild,v 1.1 2014/07/22 00:13:05 xmw Exp $ EAPI=5 @@ -41,9 +41,11 @@ pkg_setup() { } src_prepare() { - epatch "${FILESDIR}"/phc-intel-pack-rev12-trailing-space-r1.patch - epatch "${FILESDIR}"/phc-intel-pack-rev14-trailing-space-3.13.patch - epatch "${FILESDIR}"/phc-intel-pack-rev14-trailing-space-3.14.patch + epatch \ + "${FILESDIR}"/phc-intel-0.3.2-rev12-trailing-space-misc.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev12-trailing-space-3.5.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev14-trailing-space-3.13.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev14-trailing-space-3.14.patch sed -e '/^all:/s:prepare::' \ -i Makefile || die diff --git a/sys-power/phc-intel/phc-intel-0.3.2.12.12.ebuild b/sys-power/phc-intel/phc-intel-0.3.2.12.15.1.ebuild index 8f5c37758749..b261f5f78ccf 100644 --- a/sys-power/phc-intel/phc-intel-0.3.2.12.12.ebuild +++ b/sys-power/phc-intel/phc-intel-0.3.2.12.15.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.2.12.12.ebuild,v 1.2 2014/03/20 22:58:28 xmw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-power/phc-intel/phc-intel-0.3.2.12.15.1.ebuild,v 1.1 2014/07/22 00:13:05 xmw Exp $ EAPI=5 @@ -10,7 +10,7 @@ DESCRIPTION="Processor Hardware Control for Intel CPUs" HOMEPAGE="http://www.linux-phc.org/ http://www.linux-phc.org/forum/viewtopic.php?f=7&t=267" #no automatic filenames here, sorry -SRC_URI="http://www.linux-phc.org/forum/download/file.php?id=149 -> phc-intel-pack-rev12.tar.bz2" +SRC_URI="http://www.linux-phc.org/forum/download/file.php?id=161 -> phc-intel-pack-rev15.1.tar.bz2" LICENSE="GPL-2" SLOT="0" @@ -32,7 +32,7 @@ pkg_setup() { eerror "Please use a previous version of ${PN} or a newer kernel." die fi - if kernel_is gt 3 12 ; then + if kernel_is gt 3 15 ; then eerror "Your kernel version is not yet supported by this version of ${PN}." eerror "Please use a newer version of ${PN} or an older kernel." die @@ -41,7 +41,12 @@ pkg_setup() { } src_prepare() { - epatch "${FILESDIR}"/phc-intel-pack-rev12-trailing-space-r1.patch + epatch \ + "${FILESDIR}"/phc-intel-0.3.2-rev12-trailing-space-misc.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev15-trailing-space-3.5.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev14-trailing-space-3.13.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev14-trailing-space-3.14.patch \ + "${FILESDIR}"/phc-intel-0.3.2-rev15-trailing-space-3.15.patch sed -e '/^all:/s:prepare::' \ -i Makefile || die |