mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-05-08 12:30:44 +02:00
sys-kernel/compat-drivers: add v3.8 with a sane set of patches
This commit is contained in:
parent
d2f9c2c6ef
commit
404dd32816
15 changed files with 700 additions and 2 deletions
|
|
@ -1,14 +1,28 @@
|
|||
AUX 3.8-grsec/00-read-only.patch 604 SHA256 1b4109d2cb389e622252738390bd56a665f968c428accd905e6debcdf9c4e679 SHA512 34bd0312909701251317dfbc2b2ebd080f8d5e3dff18e3e0c80a48dbd6697d2877fe7e8a0fa52151f76a97a05368ebb4091166e4432dcaa3ce63469c2b830441 WHIRLPOOL 590b93713ffc2e59ce04b1c7b3a34f502eec32b25f01c45f8adab91cc1621c701a38ed0136ac5d052fe93d9d5738c0facf969189721b332a058db118835908bf
|
||||
AUX 3.8-grsec/01-read-only.patch 271 SHA256 f389b6d40b0c5512af8b3c024c69aed69830ca22d53403f19be0a8834ee4573c SHA512 9d2f878aeb6ebe8c3d74aa038e3fec14829ac709c2f65b9c7fe6482dd1c15432cf73a40638059ccee9350d6305989b60883903fcd0c7545ec38c1d22e006c9c2 WHIRLPOOL 111a64490618524af32c56c9631d0ff7f29ae4ebc692422df63cf6eaae0a42c06d4be7186c3049b3f3827de9535e8c0b14f6c5fecf9d956dc1e92236a053e545
|
||||
AUX 3.8-grsec/02-read-only-ath.patch 8178 SHA256 2a779d9a72fdf6c26620733f2b7fd12e65cd50969e9689cf1cf48a26f6bbfad9 SHA512 288d359778430d9b84fb9c66afce8473142270646fea3dd53471b16b8b7a2ecf78c28d4dfdc27a914b2c7d2561cb5d2ac267e71f50ec315b2b984ad3b59dfec7 WHIRLPOOL 8e50052ad0dd875e086795fd787c1ab83c434ccb1c6bd2b0ff8eaef4392b9a26681a02a52c343a05fa655198d51d643ed4dd9cdd0f4f1415504219598d0fa95d
|
||||
AUX 3.8-grsec/03-read-only-memory.patch 251 SHA256 927886f135b9e122a51d607d99837eef047b9fa50a4f2dfea9ee4ce6076192b1 SHA512 9f1efc869370655ffba01463d71c72f7a7e3b677f455fb4893f1e9898dd2896008da1f87b66d2803542a80fc073fcb3d94abcbf626bf7240d3235293b13e1c35 WHIRLPOOL e5dbf45e9552824a3ebb3bd96e55ec77d559b5eed8aba383b907902b7115031c7fcbdf57b94d920cb66230eb492d151f957c09a883c255c83139ca63438b2848
|
||||
AUX 3.8-grsec/04-read-only-brcm80211.patch 337 SHA256 752991b5f486c0dea194be247e473e9d9d2626f3e392246d3d1da44d4864478f SHA512 494f37fc79dd1c11ab6c51d95a7521d8276f2c4d41dfcabb491c3a7d0b79ff9b2512feeef9d166da9e6297ebf2778a3f773cb52d72a325cf151f78b2e28cfb97 WHIRLPOOL 4f96dced0f32328769ddb74e74ffb6e003c68d8054331c635971658909009079ebb810839a857474dae3b5ce12e2c6d5641646462027dafad974791e0b9e5944
|
||||
AUX 3.8-grsec/05-read-only-i915.patch 473 SHA256 bfb3cdf6d8793ce328b16f6808c062d72863ea40be9f3cd942a831548e3bdb22 SHA512 2ef16324332c257e326d48fce34a65f095236f518990b6fff0aa3022893d40668acce156085bf77b669629a40696db9098bb8504614bf60d2720bf78364f9a33 WHIRLPOOL 23d44a4f3b2b0937e5b0769354a8a01ab7f4c19b0c38f85bcd2715a9fdf10b5755a1a54dfcb048dcd0badca7c99321ce91bf9c7cf23a7e3bcba54b28ac472612
|
||||
AUX 3.8-grsec/06-read-only-radeon.patch 1974 SHA256 7227c0ed3bdc8ce4c130b263a4ef3ed8b44db33a3961bb9ef9110a94dc8cf549 SHA512 c58cce6f8996ef3ac25d93c680db0f0ef3a555b9e9ad97a39d1e339135a7f449c039582d21d50fbe13cb0b9cd23c2a9fc1ff80143e4f681ebf3161377383f5dc WHIRLPOOL 9a6ab2740ca49b814c06dcd0a4533c1f33d4913470df7ac2884ed6f1a747b2c29b3899ad0b53190c832a307fea0cfb990e2068685b9205fd37a9d6ca3e4ae5a8
|
||||
AUX 3.8-grsec/07-read-only-wl1251.patch 296 SHA256 7d89a83529b7ae522a06c0a38959515b6de72fcc9412d9fa83ce744d803c438b SHA512 54fe4cc8b8f5088aa0b27fd0cf38d8795507ead26e7c8ad96b54e2d2b9d65ed6c76f29ee3359f7dee50883138511c34a4c2e2f22384aadc034f7dd46061b3307 WHIRLPOOL 4d4b53e6520c34284f6794b7afecdab36b2e5d97e12a9237e83c52fb23eee1facee829ed140e8d9b13e98e201e9e8a2cf2aa32853e9728504bd16cd3a01927e7
|
||||
AUX 3.8-grsec/08-read-only-ti.patch 327 SHA256 804cfe5f58fe4927933e64a45aa2c0b407675c22d8d80f75fe89904f7fa9a595 SHA512 387ffd8a7636d7055b65a3e2c2cb799bc514e270d24a44982da5c1bdae7160e96e7f829fc2de7323e2228f1cfd6e4517327d2c18b6df42f062a570aa5b5fcb21 WHIRLPOOL 546e75ed0970d82a6b343a82421c9368b1dc5410c4795f82cf3812845bd8d7c9f909b7955213144cd0727d62ea606af216c8dc552739bba818513ceded0ae339
|
||||
AUX 3.8-grsec/09-read-only-nouveau.patch 1166 SHA256 683a3c3eac7f2620f11383b14de4ee5d5f06278976111099059864d8b8657ad0 SHA512 94839b1cc7bf7dfa9f1945bb21fa93524ab3c8448f41a1d767f1bc256991f4afa948f51a40bf901fe8732bff04d44161bd7468dcc4ddf7ff4974057200fa457d WHIRLPOOL 21b5179f06379116a72608036b63b7117e20d872481af5db4821bf76027f6771faa735f937bf39218332978b6e5847b6ad05c053e2a83e852e3d55836cff2c41
|
||||
AUX 4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch 559 SHA256 2c9222e0c6aaafabac091766c7e0a71442f0e9521ec1c65fc7024fbca60a3354 SHA512 9bf0b852a4ffc66afc12fc60c3fc683d689a45ff5e18470db68f25f001e14fc09c813aa01fec2b4583af1c19141e748a10c7dfd6022d727cb8cf245f6c33a2ff WHIRLPOOL 2efd4c3f2d58a833be803df6034e01d3601cb1891921fe2031c50a241a3f5e8a9e8d54aa0b29566fcc6b2bac71d48e504a3f88585a1049884e0a5986724048a1
|
||||
AUX 4004_zd1211rw-2.6.28.patch 1412 SHA256 6696295acb2a8d12a33208525cba9ce8bd2971c9c0adaabb31debfa9ec15c7be SHA512 2aa73fa8e87cb06220b589f528ba25fcec818a14a98a8d5f1173b12c287ee85e48981a48bbce772aa7fc24a33a833df2eb5bc7af0d569ea8c839090c481566ec WHIRLPOOL 4245c75995d7579b9fcc0aa1412b4f9bc4a3a924076aca24b466658740a99b0592c293420c39a616a6241ec4dce213496bf4317b73fd4b94ab1dcefbe5130382
|
||||
AUX ath_regd_optional.patch 906 SHA256 ebf117d071363e854505c18aef8c9af2652fd4a7b9cc5efe961cf5efb410dbd7 SHA512 dddc5e428f7d2a372ac17cce913c397ac408e20eb17af55633ea8984d6e69e8f7fe134436a4176606740d64fd66579c6a30a358cac393cb22f9a09d10f66e9d3 WHIRLPOOL b46164a1444d74f22d0e4f1e02ed556b52f87d5132871698ab93abd2076656e4ecadb7dc914d571df15a9bd18169ebaef67d4539a7919f1e2ffdd3df3b60cd90
|
||||
AUX compat-drivers-3.7_rc1_p6-grsec-warnings.patch 1261 SHA256 d960b976fe4e82beb2ceba3cc3eccdd064f54d9cc269f2b08d351c5a7fb528f7 SHA512 044020bacf79790f5ce10c0373f05568dfca2456f0087b3a04e5162b7602fb97371923acc6987d8732a64373ad77a4df65dae90f55e2bd7b20757f0b32d6af8c WHIRLPOOL d4b61222a97d496516575ff1bee4b9bec0d86fe9115a4ea4789b994fb1890444c568f866b4289f2ecaf9a399aec7453588aa6a842e7c48bce61320d48cd2eb86
|
||||
AUX compat-drivers-3.7_rc1_p6-grsec.patch 356575 SHA256 aefac7264cd36791af4194a4c9ed5a5a90a68d51c3ef1ba1af280c263ad394e2 SHA512 6aa48f042efac4c9a94ca7592f548e6dc5b8796c56a1827239b9d2e357ba23d14373b986e4cd789aedf07ce0a02eca2bdd3304a0bef751b8914367c9dc1b7fff WHIRLPOOL 986b202f601b4efb894ed8b0ab39f099af14b61deb687f670c83c3a587947e83b1180910d79bb701a6c5c92607ab529f6be229f840844cb08efaef165a83123f
|
||||
AUX compat-drivers-3.8-ath6kl.patch 1261 SHA256 d960b976fe4e82beb2ceba3cc3eccdd064f54d9cc269f2b08d351c5a7fb528f7 SHA512 044020bacf79790f5ce10c0373f05568dfca2456f0087b3a04e5162b7602fb97371923acc6987d8732a64373ad77a4df65dae90f55e2bd7b20757f0b32d6af8c WHIRLPOOL d4b61222a97d496516575ff1bee4b9bec0d86fe9115a4ea4789b994fb1890444c568f866b4289f2ecaf9a399aec7453588aa6a842e7c48bce61320d48cd2eb86
|
||||
AUX compat-drivers-3.8-bt_tty.patch 1295 SHA256 e1307946a4ed6185b1850d95f3920ff747e584e6b23dad95220c8b0809fe6de1 SHA512 a4f5e68cb2e7e8972c9271d9519c688fe26cf0ba35b925ecd2270668d4ac8d22a25137596a07cc106cca53afe31e7771d77151b4e4361c22d3332ae5920062ee WHIRLPOOL ff3fe54d241411d5885e002571226247933d8e5d85e5786c2ffeb0ab6637b5c692c362beae5f85b0454ff01454f3277b11f339aeef0d9da4cb71d4356cc9101e
|
||||
AUX ipw2200-inject.3.4.6.patch 4173 SHA256 0b649bd7b6d2bf22667edc96949b5ab92cc7fb5c543b4385c17c5e0f47fe4109 SHA512 ebee3efda7b94898ea18a89f57c515d5237ef3c2a1eaf0bd13949ec4663a600eadede4655178355ac3f5b8ddc2eccc2cceb88eba0281ed3f614ada186a041463 WHIRLPOOL 15d94b3176719d006363f4d42a11c505643fdead8d521ccfb149cf5eee8851488aa006d4f8c750ffb5e81b23ff03d275e5fde781505e508467ff76303e612570
|
||||
AUX leds-disable-strict-3.6.6.patch 799 SHA256 e1b5947608d9c53263efd76aed404eb7e4107d81669faeb484f5d680e4cfb570 SHA512 6373efc6697b4589c15c3cd2cfd8f3faa06fe90eeeb4fa9acaf187ecc682fac394444949dd26c2dde71c0f45aedb1198374764b580b824ddc6bc1e937273b5f1 WHIRLPOOL 40bdef714aa0ff4069bb50abf434dff88610d97f570b80f36622d29a43301bf013a90e90cb7f3f8044c2bf53a09154b1033a6f53b1edf186513452fdb681d55f
|
||||
AUX leds-disable-strict-3.7_rc1_p6.patch 799 SHA256 e1b5947608d9c53263efd76aed404eb7e4107d81669faeb484f5d680e4cfb570 SHA512 6373efc6697b4589c15c3cd2cfd8f3faa06fe90eeeb4fa9acaf187ecc682fac394444949dd26c2dde71c0f45aedb1198374764b580b824ddc6bc1e937273b5f1 WHIRLPOOL 40bdef714aa0ff4069bb50abf434dff88610d97f570b80f36622d29a43301bf013a90e90cb7f3f8044c2bf53a09154b1033a6f53b1edf186513452fdb681d55f
|
||||
DIST compat-drivers-3.7-rc1-6.tar.gz 7877572 SHA256 688406f3d9a84246dc0d57b93b5335c9b0f276cc216e3dc7032ad6152bfff873 SHA512 1a6a747a325b19f03cfb28036232ee9186010a0cb78e753d2358d8932d81322516878df97c13e56cec6472515d30c5b99816f44c6331fc58a261cae4ab33ad43 WHIRLPOOL c33025583834726f1f2988d8eaab8c716b117d74b427b035000ae5d5b35310be486ac76fcdb0589effae6036b5a3058ae0859384e4e6c9466b659f9848036ac1
|
||||
DIST compat-drivers-3.8-rc5-1-u.tar.xz 5299080 SHA256 0952e211e7352bbb4b236853c751ab4ffffebf4923517316f9579e644e0eabc8 SHA512 bc80b129d709aaf7eb76d6ec388d4b76ce60eb9a61101eae8ad6a43c09097d927651f462810735f56e53b035f3b7ce3c422a2894ca4ccca234bba9c61850877c WHIRLPOOL f31192ad24b81f55d7bcf1b03ddc70b6e9d20acd8f106ab7edcfd8a461d44270d1deb1d87451f540e050c04bef2ec20524d75777357a7ebc56ef76baa7257d21
|
||||
DIST compat-drivers-3.8-rc7-1-u.tar.xz 5301132 SHA256 b53ddac5b0423d72d3945235637cbbb4559b5b527bd74d4cc9dd9e098efad4c6 SHA512 ee8f72d2acfb0aa41e90268fc68f1c42d87a7e14597f7866dd9c96a00dd8ea318b92a5b25e499d65e00b617600baa09cfc639379465e306f54f73689c3fc93c1 WHIRLPOOL 98a0b602e67f6f305f4795b8a53ad87bcabd282aa45d5e74c5c1add07084fb97fbac1d651e59e6f6a4838a4084f5d5418d59a7d49441613f91df33172b480582
|
||||
EBUILD compat-drivers-3.7_rc1_p6-r1.ebuild 6976 SHA256 82a760ef9a1448e865dd2936ab3a9824da2c2f6195bce0dec091a9c569a36f18 SHA512 dc907bea77600697458d478418fc719b046ec4e3d09443891ab7235ba40e256b5ac57f7a9355ac67ab25eca4c01e4502a4cda0667a961165549cc4c6758b4249 WHIRLPOOL 7d2361bbd4f6417f934fe7763a5d33a49da18d3a17be53d85fe422c6ce0888b889a136407edae05d10e855ac61d711800bf763a7ebe15e92f2871299b1bc51ed
|
||||
EBUILD compat-drivers-3.7_rc1_p6.ebuild 7446 SHA256 1b80374769f13fb010ab0d288b5b03ff8a1eb3edde602f09cb8e242debda222d SHA512 0020e15c77d0b3692d3ffb38cd4268b245acb8f9995612f978c41df30b98eecb7d2dc989b7ea82fb5f589eb9abfb7c4b694217fafdad1db818c9b6b521edd9d1 WHIRLPOOL 967238ad9352b14ae10c6c47d71e4fd6aa44a2ec205f161b9c74f8a1112306b2ecad6c0bff2b11c5eec54c526629639e64073204c742555731ab2e94eb047130
|
||||
EBUILD compat-drivers-3.8_rc5.ebuild 6868 SHA256 5c9d8912bed6a553e855b305e6cc39dc15f983bade5b7763441b05999b241cfa SHA512 0c41ee5aa982194775f1a837cdb168564e9ec094676b2bbfff54465bbe3f296210f79eae2b8330d1c1fcbf7249d002d9a2b20c171e6b89f305768e8bf5dd54e5 WHIRLPOOL 2d38c9bc1491377d1f80d580292548d787c5370af29114e4845016a589649a30fdfee1d10fb7b4d2f1f3d37c7581f7a3ef4bfa51e623b7e784f33e62c41bdda2
|
||||
MISC metadata.xml 3316 SHA256 4d31b4636c4f5d4e0609c4b7fdae35beb532c8ed7277ecdbbe1a3b026b5a8d55 SHA512 b6364283961c5fc7948c5cde8f2a674adef64ba49112d0b7089b89b7a57ba184daf2a3a8243df6b457f4ecbdca226c61ed1bd1a3ece2d840f0129d42aba4e074 WHIRLPOOL 5acca098ba7ecbf7b50cc846a6b5e31b5471eb84b89ad71ddc4c30e41ff82e046af0378880b8cb060aecd5fab5dad24c71a39da8e518568f8ca4495ffdab9e56
|
||||
EBUILD compat-drivers-3.8_rc7.ebuild 7159 SHA256 4570a3d28d1787eb7e7ccdba41629ec311430d3c0801f53b643ba438cc19216d SHA512 919925a704f9e25ee59140c2e52b24af889ac85eae7f63b923c68faca90ecea860180e91687b26553aba8b0d5457cc7e506ddb9413fcf0841dcb7838448d53c8 WHIRLPOOL 5ca17d0e915d1c478ca9036e2d87240a43a7dbffa8e4a228305af0a6a36afbbb3b75ba4a931b2981b2035acc8467b365133e7c9c51e6a6ebeacd8f5a6484d32a
|
||||
MISC metadata.xml 3542 SHA256 644b2f777a31515bdf4f60dc8a73b1b4f713b6568793095a7cded840385cb356 SHA512 8a6b6a8f13ad183d5dc17991a0b9f4919ec955b009190ef7b2cbfb0d718c4e61e99b23a782b80ee4441516b0bf4025341c578330302c1a1c5486aa4ed1c61078 WHIRLPOOL 911eb253abf84ab62d36afcec8c1c74213d8295a13b71811ae5aed06df48e7efaea4dc2252b967c62cb26e659a9f8209b4e45b41777c52097c4d34a0b1eb25ff
|
||||
|
|
|
|||
184
sys-kernel/compat-drivers/compat-drivers-3.8_rc7.ebuild
Normal file
184
sys-kernel/compat-drivers/compat-drivers-3.8_rc7.ebuild
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
# USE_EXPAND categories
|
||||
CPD_USE_EXPAND="wifi ethernet various"
|
||||
# These are officially supported
|
||||
CPD_USE_EXPAND_wifi="ath5k ath9k ath9k_ap ath9k_htc ath6kl b43 brcmsmac brcmfmac carl9170 rt2x00 wil6210 wl1251 wl12xx zd1211rw"
|
||||
# This might work (not officially supported)
|
||||
CPD_USE_EXPAND_wifi+=" wl18xx"
|
||||
# This might work (added by pentoo)
|
||||
CPD_USE_EXPAND_wifi+=" b44"
|
||||
|
||||
# These are officially supported
|
||||
CPD_USE_EXPAND_ethernet="alx atl1 atl1c atl1e atl2"
|
||||
# This might work (not officially supported)
|
||||
CPD_USE_EXPAND_ethernet+=" atlxx"
|
||||
|
||||
# These are officially supported
|
||||
CPD_USE_EXPAND_various="i915"
|
||||
# This might work (not officially supported)
|
||||
CPD_USE_EXPAND_various+=" bt drm"
|
||||
# This might work (added by pentoo)
|
||||
CPD_USE_EXPAND_various+=" staging usbnet"
|
||||
|
||||
inherit linux-mod linux-info versionator eutils compat-drivers-3.8
|
||||
|
||||
# upstream versioning, ex.: 3.7-rc1-6
|
||||
UPSTREAM_PVR="${PV//_/-}" && UPSTREAM_PVR="${UPSTREAM_PVR/-p/-}"
|
||||
# ex.: 3.7-rc1
|
||||
UPSTREAM_PV=${UPSTREAM_PVR%-*}
|
||||
|
||||
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
|
||||
HOMEPAGE="http://backports.wiki.kernel.org"
|
||||
SRC_URI="mirror://kernel/linux/kernel/projects/backports/stable/v${UPSTREAM_PVR}/${PN}-${UPSTREAM_PVR}-1-u.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
|
||||
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
|
||||
|
||||
DEPEND="!net-wireless/compat-wireless-builder
|
||||
!net-wireless/compat-wireless"
|
||||
RDEPEND="${DEPEND}
|
||||
>=sys-kernel/linux-firmware-20110219
|
||||
virtual/udev"
|
||||
|
||||
S="${WORKDIR}/${PN}-${UPSTREAM_PVR}-1-u"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
CONFIG_CHECK="!DYNAMIC_FTRACE"
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~NET_SCHED"
|
||||
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
|
||||
linux-mod_pkg_setup
|
||||
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat drivers to be installed"
|
||||
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat drivers you are trying to install contains older modules than your kernel. Failing before downgrading your system."
|
||||
|
||||
#these things are not optional
|
||||
linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !"
|
||||
linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !"
|
||||
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
|
||||
|
||||
if use compat_drivers_wifi_b43; then
|
||||
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
|
||||
fi
|
||||
if use compat_drivers_wifi_b44; then
|
||||
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# use pax_kernel && epatch "${FILESDIR}"/${PN}-3.7_rc1_p6-grsec.patch
|
||||
# use pax_kernel && epatch "${FILESDIR}"/${PN}-3.8-grsec-readonly.patch
|
||||
if use pax_kernel; then
|
||||
for gpatch in "${FILESDIR}"/3.8-grsec/*; do
|
||||
epatch "${gpatch}"
|
||||
done
|
||||
fi
|
||||
# upstream might want to see this
|
||||
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.8-bt_tty.patch
|
||||
# use pax_kernel && epatch "${FILESDIR}"/${PN}-3.7_rc1_p6-grsec-warnings.patch
|
||||
|
||||
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
|
||||
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
|
||||
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
|
||||
|
||||
# CONFIG_CFG80211_REG_DEBUG=y
|
||||
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
|
||||
|
||||
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
|
||||
if use atheros_obey_crda; then
|
||||
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
|
||||
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
|
||||
ewarn "world roaming on the device until crda provides a valid regdomain."
|
||||
ewarn "Short version, this is not a way to break the law, this will automatically"
|
||||
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
|
||||
epatch "${FILESDIR}"/ath_regd_optional.patch
|
||||
fi
|
||||
|
||||
if use injection; then
|
||||
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
|
||||
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
|
||||
# epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
|
||||
# epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
|
||||
epatch "${FILESDIR}"/ipw2200-inject.3.4.6.patch
|
||||
fi
|
||||
if use noleds; then
|
||||
sed -ir 's/^\(export CONFIG_.*_LEDS=\)y$/\1n/' config.mk
|
||||
epatch "${FILESDIR}/leds-disable-strict-${PV}.patch"
|
||||
fi
|
||||
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
|
||||
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
|
||||
if use full-debug; then
|
||||
if use debug-driver ; then
|
||||
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
|
||||
else
|
||||
ewarn "Enabling full-debug includes debug-driver."
|
||||
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
|
||||
fi
|
||||
fi
|
||||
|
||||
#avoid annoying ACCESS DENIED sandbox errors
|
||||
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
|
||||
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
|
||||
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
addpredict "${KERNEL_DIR}"
|
||||
set_arch_to_kernel
|
||||
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
for file in $(find -name \*.ko); do
|
||||
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
|
||||
doins "${file}"
|
||||
done
|
||||
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
|
||||
scripts/madwifi-unload scripts/athload scripts/iwl-load \
|
||||
scripts/b43enable scripts/unload.sh
|
||||
|
||||
dodir /usr/lib/compat-wireless
|
||||
exeinto /usr/lib/compat-wireless
|
||||
doexe scripts/modlib.sh
|
||||
|
||||
dodoc README.md
|
||||
dodir /$(get_libdir)/udev/rules.d/
|
||||
insinto /$(get_libdir)/udev/rules.d/
|
||||
doins udev/50-compat_firmware.rules
|
||||
exeinto /$(get_libdir)/udev/
|
||||
doexe udev/compat_firmware.sh
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
update_depmod
|
||||
update_moduledb
|
||||
|
||||
if use !livecd; then
|
||||
if use loadmodules; then
|
||||
einfo "Attempting to unload modules..."
|
||||
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
|
||||
einfo "Triggering automatic reload of needed modules..."
|
||||
/sbin/udevadm trigger
|
||||
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
|
||||
einfo "If you experience any issues reboot is the simplest course of action."
|
||||
fi
|
||||
fi
|
||||
if use !loadmodules; then
|
||||
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
|
||||
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
|
||||
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
remove_moduledb
|
||||
}
|
||||
23
sys-kernel/compat-drivers/files/3.8-grsec/00-read-only.patch
Normal file
23
sys-kernel/compat-drivers/files/3.8-grsec/00-read-only.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
--- ./include/net/bluetooth/bluetooth.h
|
||||
+++ ./include/net/bluetooth/bluetooth.h
|
||||
@@ -206,7 +206,7 @@
|
||||
struct file_operations fops;
|
||||
int (* custom_seq_show)(struct seq_file *, void *);
|
||||
#endif
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
int bt_sock_register(int proto, const struct net_proto_family *ops);
|
||||
int bt_sock_unregister(int proto);
|
||||
--- ./include/net/mac80211.h
|
||||
+++ ./include/net/mac80211.h
|
||||
@@ -2652,7 +2652,7 @@
|
||||
struct ieee80211_chanctx_conf *ctx);
|
||||
|
||||
void (*restart_complete)(struct ieee80211_hw *hw);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
/**
|
||||
* ieee80211_alloc_hw - Allocate a new hardware device
|
||||
|
||||
12
sys-kernel/compat-drivers/files/3.8-grsec/01-read-only.patch
Normal file
12
sys-kernel/compat-drivers/files/3.8-grsec/01-read-only.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
How/why does this even work?
|
||||
--- ./net/wireless/core.h
|
||||
+++ ./net/wireless/core.h
|
||||
@@ -28,7 +28,7 @@
|
||||
struct mutex mtx;
|
||||
|
||||
/* rfkill support */
|
||||
- struct rfkill_ops rfkill_ops;
|
||||
+ rfkill_ops_no_const rfkill_ops;
|
||||
struct rfkill *rfkill;
|
||||
struct work_struct rfkill_sync;
|
||||
|
||||
240
sys-kernel/compat-drivers/files/3.8-grsec/02-read-only-ath.patch
Normal file
240
sys-kernel/compat-drivers/files/3.8-grsec/02-read-only-ath.patch
Normal file
|
|
@ -0,0 +1,240 @@
|
|||
--- ./drivers/net/wireless/ath/ath.h
|
||||
+++ ./drivers/net/wireless/ath/ath.h
|
||||
@@ -119,6 +119,7 @@ struct ath_ops {
|
||||
void (*write_flush) (void *);
|
||||
u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
|
||||
};
|
||||
+typedef struct ath_ops __no_const ath_ops_no_const;
|
||||
|
||||
struct ath_common;
|
||||
struct ath_bus_ops;
|
||||
--- ./drivers/net/wireless/ath/ath9k/ar9002_mac.c
|
||||
+++ ./drivers/net/wireless/ath/ath9k/ar9002_mac.c
|
||||
@@ -184,8 +184,8 @@ ar9002_set_txdesc(struct ath_hw *ah, voi
|
||||
ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
|
||||
ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
|
||||
|
||||
- ACCESS_ONCE(ads->ds_link) = i->link;
|
||||
- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0];
|
||||
+ ACCESS_ONCE_RW(ads->ds_link) = i->link;
|
||||
+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0];
|
||||
|
||||
ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore);
|
||||
ctl6 = SM(i->keytype, AR_EncrType);
|
||||
@@ -199,26 +199,26 @@ ar9002_set_txdesc(struct ath_hw *ah, voi
|
||||
|
||||
if ((i->is_first || i->is_last) &&
|
||||
i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) {
|
||||
- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0)
|
||||
| set11nTries(i->rates, 1)
|
||||
| set11nTries(i->rates, 2)
|
||||
| set11nTries(i->rates, 3)
|
||||
| (i->dur_update ? AR_DurUpdateEna : 0)
|
||||
| SM(0, AR_BurstDur);
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0)
|
||||
| set11nRate(i->rates, 1)
|
||||
| set11nRate(i->rates, 2)
|
||||
| set11nRate(i->rates, 3);
|
||||
} else {
|
||||
- ACCESS_ONCE(ads->ds_ctl2) = 0;
|
||||
- ACCESS_ONCE(ads->ds_ctl3) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0;
|
||||
}
|
||||
|
||||
if (!i->is_first) {
|
||||
- ACCESS_ONCE(ads->ds_ctl0) = 0;
|
||||
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
|
||||
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ ar9002_set_txdesc(struct ath_hw *ah, voi
|
||||
break;
|
||||
}
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
|
||||
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
|
||||
| SM(i->txpower, AR_XmitPower)
|
||||
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
|
||||
@@ -253,19 +253,19 @@ ar9002_set_txdesc(struct ath_hw *ah, voi
|
||||
| (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable :
|
||||
(i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0));
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
|
||||
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
|
||||
|
||||
if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST)
|
||||
return;
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
|
||||
| set11nPktDurRTSCTS(i->rates, 1);
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
|
||||
| set11nPktDurRTSCTS(i->rates, 3);
|
||||
|
||||
- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
|
||||
| set11nRateFlags(i->rates, 1)
|
||||
| set11nRateFlags(i->rates, 2)
|
||||
| set11nRateFlags(i->rates, 3)
|
||||
--- ./drivers/net/wireless/ath/ath9k/ar9003_mac.c
|
||||
+++ ./drivers/net/wireless/ath/ath9k/ar9003_mac.c
|
||||
@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, voi
|
||||
(i->qcu << AR_TxQcuNum_S) | desc_len;
|
||||
|
||||
checksum += val;
|
||||
- ACCESS_ONCE(ads->info) = val;
|
||||
+ ACCESS_ONCE_RW(ads->info) = val;
|
||||
|
||||
checksum += i->link;
|
||||
- ACCESS_ONCE(ads->link) = i->link;
|
||||
+ ACCESS_ONCE_RW(ads->link) = i->link;
|
||||
|
||||
checksum += i->buf_addr[0];
|
||||
- ACCESS_ONCE(ads->data0) = i->buf_addr[0];
|
||||
+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0];
|
||||
checksum += i->buf_addr[1];
|
||||
- ACCESS_ONCE(ads->data1) = i->buf_addr[1];
|
||||
+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1];
|
||||
checksum += i->buf_addr[2];
|
||||
- ACCESS_ONCE(ads->data2) = i->buf_addr[2];
|
||||
+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2];
|
||||
checksum += i->buf_addr[3];
|
||||
- ACCESS_ONCE(ads->data3) = i->buf_addr[3];
|
||||
+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3];
|
||||
|
||||
checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen);
|
||||
- ACCESS_ONCE(ads->ctl3) = val;
|
||||
+ ACCESS_ONCE_RW(ads->ctl3) = val;
|
||||
checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen);
|
||||
- ACCESS_ONCE(ads->ctl5) = val;
|
||||
+ ACCESS_ONCE_RW(ads->ctl5) = val;
|
||||
checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen);
|
||||
- ACCESS_ONCE(ads->ctl7) = val;
|
||||
+ ACCESS_ONCE_RW(ads->ctl7) = val;
|
||||
checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen);
|
||||
- ACCESS_ONCE(ads->ctl9) = val;
|
||||
+ ACCESS_ONCE_RW(ads->ctl9) = val;
|
||||
|
||||
checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff);
|
||||
- ACCESS_ONCE(ads->ctl10) = checksum;
|
||||
+ ACCESS_ONCE_RW(ads->ctl10) = checksum;
|
||||
|
||||
if (i->is_first || i->is_last) {
|
||||
- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0)
|
||||
| set11nTries(i->rates, 1)
|
||||
| set11nTries(i->rates, 2)
|
||||
| set11nTries(i->rates, 3)
|
||||
| (i->dur_update ? AR_DurUpdateEna : 0)
|
||||
| SM(0, AR_BurstDur);
|
||||
|
||||
- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0)
|
||||
| set11nRate(i->rates, 1)
|
||||
| set11nRate(i->rates, 2)
|
||||
| set11nRate(i->rates, 3);
|
||||
} else {
|
||||
- ACCESS_ONCE(ads->ctl13) = 0;
|
||||
- ACCESS_ONCE(ads->ctl14) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl13) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl14) = 0;
|
||||
}
|
||||
|
||||
ads->ctl20 = 0;
|
||||
@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, voi
|
||||
|
||||
ctl17 = SM(i->keytype, AR_EncrType);
|
||||
if (!i->is_first) {
|
||||
- ACCESS_ONCE(ads->ctl11) = 0;
|
||||
- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
|
||||
- ACCESS_ONCE(ads->ctl15) = 0;
|
||||
- ACCESS_ONCE(ads->ctl16) = 0;
|
||||
- ACCESS_ONCE(ads->ctl17) = ctl17;
|
||||
- ACCESS_ONCE(ads->ctl18) = 0;
|
||||
- ACCESS_ONCE(ads->ctl19) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl11) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
|
||||
+ ACCESS_ONCE_RW(ads->ctl15) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl16) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
|
||||
+ ACCESS_ONCE_RW(ads->ctl18) = 0;
|
||||
+ ACCESS_ONCE_RW(ads->ctl19) = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen)
|
||||
+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen)
|
||||
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
|
||||
| SM(i->txpower, AR_XmitPower)
|
||||
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
|
||||
@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, voi
|
||||
val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S;
|
||||
ctl12 |= SM(val, AR_PAPRDChainMask);
|
||||
|
||||
- ACCESS_ONCE(ads->ctl12) = ctl12;
|
||||
- ACCESS_ONCE(ads->ctl17) = ctl17;
|
||||
+ ACCESS_ONCE_RW(ads->ctl12) = ctl12;
|
||||
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
|
||||
|
||||
- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
|
||||
| set11nPktDurRTSCTS(i->rates, 1);
|
||||
|
||||
- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
|
||||
+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
|
||||
| set11nPktDurRTSCTS(i->rates, 3);
|
||||
|
||||
- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0)
|
||||
+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0)
|
||||
| set11nRateFlags(i->rates, 1)
|
||||
| set11nRateFlags(i->rates, 2)
|
||||
| set11nRateFlags(i->rates, 3)
|
||||
| SM(i->rtscts_rate, AR_RTSCTSRate);
|
||||
|
||||
- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding;
|
||||
+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding;
|
||||
}
|
||||
|
||||
static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
|
||||
--- ./drivers/net/wireless/ath/ath9k/hw.h
|
||||
+++ ./drivers/net/wireless/ath/ath9k/hw.h
|
||||
@@ -657,7 +657,7 @@ struct ath_hw_private_ops {
|
||||
|
||||
/* ANI */
|
||||
void (*ani_cache_ini_regs)(struct ath_hw *ah);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
/**
|
||||
* struct ath_hw_ops - callbacks used by hardware code and driver code
|
||||
@@ -687,7 +687,7 @@ struct ath_hw_ops {
|
||||
void (*antdiv_comb_conf_set)(struct ath_hw *ah,
|
||||
struct ath_hw_antcomb_conf *antconf);
|
||||
void (*antctrl_shared_chain_lnadiv)(struct ath_hw *hw, bool enable);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
struct ath_nf_limits {
|
||||
s16 max;
|
||||
@@ -707,7 +707,7 @@ enum ath_cal_list {
|
||||
#define AH_FASTCC 0x4
|
||||
|
||||
struct ath_hw {
|
||||
- struct ath_ops reg_ops;
|
||||
+ ath_ops_no_const reg_ops;
|
||||
|
||||
struct ieee80211_hw *hw;
|
||||
struct ath_common common;
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- ./include/drm/ttm/ttm_memory.h
|
||||
+++ ./include/drm/ttm/ttm_memory.h
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
struct ttm_mem_shrink {
|
||||
int (*do_shrink) (struct ttm_mem_shrink *);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
/**
|
||||
* struct ttm_mem_global - Global memory accounting structure.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- ./drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
|
||||
+++ ./drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
|
||||
@@ -545,7 +545,7 @@
|
||||
void (*carrsuppr)(struct brcms_phy *);
|
||||
s32 (*rxsigpwr)(struct brcms_phy *, s32);
|
||||
void (*detach)(struct brcms_phy *);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
struct brcms_phy {
|
||||
struct brcms_phy_pub pubpi_ro;
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
--- ./drivers/gpu/drm/i915/i915_drv.h
|
||||
+++ ./drivers/gpu/drm/i915/i915_drv.h
|
||||
@@ -284,12 +284,12 @@
|
||||
/* render clock increase/decrease */
|
||||
/* display clock increase/decrease */
|
||||
/* pll clock increase/decrease */
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
struct drm_i915_gt_funcs {
|
||||
void (*force_wake_get)(struct drm_i915_private *dev_priv);
|
||||
void (*force_wake_put)(struct drm_i915_private *dev_priv);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
#define DEV_INFO_FLAGS \
|
||||
DEV_INFO_FLAG(is_mobile) DEV_INFO_SEP \
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
--- ./drivers/gpu/drm/radeon/radeon.h
|
||||
+++ ./drivers/gpu/drm/radeon/radeon.h
|
||||
@@ -741,7 +741,7 @@
|
||||
int x2, int y2);
|
||||
void (*draw_auto)(struct radeon_device *rdev);
|
||||
void (*set_default_state)(struct radeon_device *rdev);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
struct r600_blit {
|
||||
struct radeon_bo *shader_obj;
|
||||
@@ -1173,7 +1173,7 @@
|
||||
struct {
|
||||
void (*tlb_flush)(struct radeon_device *rdev);
|
||||
int (*set_page)(struct radeon_device *rdev, int i, uint64_t addr);
|
||||
- } gart;
|
||||
+ } __no_const gart;
|
||||
struct {
|
||||
int (*init)(struct radeon_device *rdev);
|
||||
void (*fini)(struct radeon_device *rdev);
|
||||
@@ -1214,7 +1214,7 @@
|
||||
void (*set_backlight_level)(struct radeon_encoder *radeon_encoder, u8 level);
|
||||
/* get backlight level */
|
||||
u8 (*get_backlight_level)(struct radeon_encoder *radeon_encoder);
|
||||
- } display;
|
||||
+ } __no_const display;
|
||||
/* copy functions for bo handling */
|
||||
struct {
|
||||
int (*blit)(struct radeon_device *rdev,
|
||||
@@ -1266,7 +1266,7 @@
|
||||
int (*get_pcie_lanes)(struct radeon_device *rdev);
|
||||
void (*set_pcie_lanes)(struct radeon_device *rdev, int lanes);
|
||||
void (*set_clock_gating)(struct radeon_device *rdev, int enable);
|
||||
- } pm;
|
||||
+ } __no_const pm;
|
||||
/* pageflipping */
|
||||
struct {
|
||||
void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
|
||||
@@ -1542,6 +1542,8 @@
|
||||
typedef uint32_t (*radeon_rreg_t)(struct radeon_device*, uint32_t);
|
||||
typedef void (*radeon_wreg_t)(struct radeon_device*, uint32_t, uint32_t);
|
||||
|
||||
+typedef struct vm_operations_struct __no_const vm_operations_struct_no_const;
|
||||
+
|
||||
struct radeon_device {
|
||||
struct device *dev;
|
||||
struct drm_device *ddev;
|
||||
--- ./drivers/gpu/drm/radeon/radeon_ttm.c
|
||||
+++ ./drivers/gpu/drm/radeon/radeon_ttm.c
|
||||
@@ -791,7 +791,7 @@
|
||||
man->size = size >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
-static struct vm_operations_struct radeon_ttm_vm_ops;
|
||||
+static vm_operations_struct_no_const radeon_ttm_vm_ops;
|
||||
static const struct vm_operations_struct *ttm_vm_ops = NULL;
|
||||
|
||||
static int radeon_ttm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- ./drivers/net/wireless/ti/wl1251/wl1251.h
|
||||
+++ ./drivers/net/wireless/ti/wl1251/wl1251.h
|
||||
@@ -266,7 +266,7 @@
|
||||
void (*reset)(struct wl1251 *wl);
|
||||
void (*enable_irq)(struct wl1251 *wl);
|
||||
void (*disable_irq)(struct wl1251 *wl);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
struct wl1251 {
|
||||
struct ieee80211_hw *hw;
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- ./drivers/net/wireless/ti/wlcore/wlcore.h
|
||||
+++ ./drivers/net/wireless/ti/wlcore/wlcore.h
|
||||
@@ -88,7 +88,7 @@
|
||||
struct ieee80211_sta *sta,
|
||||
struct ieee80211_key_conf *key_conf);
|
||||
u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
enum wlcore_partitions {
|
||||
PART_DOWN,
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
--- ./drivers/gpu/drm/nouveau/nouveau_fence.h
|
||||
+++ ./drivers/gpu/drm/nouveau/nouveau_fence.h
|
||||
@@ -43,7 +43,7 @@
|
||||
int (*sync)(struct nouveau_fence *, struct nouveau_channel *,
|
||||
struct nouveau_channel *);
|
||||
u32 (*read)(struct nouveau_channel *);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
#define nouveau_fence(drm) ((struct nouveau_fence_priv *)(drm)->fence)
|
||||
|
||||
--- ./drivers/gpu/drm/nouveau/nouveau_bios.c
|
||||
+++ ./drivers/gpu/drm/nouveau/nouveau_bios.c
|
||||
@@ -1015,7 +1015,7 @@
|
||||
struct bit_table {
|
||||
const char id;
|
||||
int (* const parse_fn)(struct drm_device *, struct nvbios *, struct bit_entry *);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
#define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry })
|
||||
|
||||
--- compat-drivers-3.8-rc7-1-u.orig/include/drm/drm_crtc_helper.h 2013-01-23 21:02:34.000000000 +0100
|
||||
+++ compat-drivers-3.8-rc7-1-u/include/drm/drm_crtc_helper.h 2013-02-15 16:53:22.922628311 +0100
|
||||
@@ -109,7 +109,7 @@
|
||||
struct drm_connector *connector);
|
||||
/* disable encoder when not in use - more explicit than dpms off */
|
||||
void (*disable)(struct drm_encoder *encoder);
|
||||
-};
|
||||
+} __no_const;
|
||||
|
||||
/**
|
||||
* drm_connector_helper_funcs - helper operations for connectors
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
Fixes for:
|
||||
drivers/net/wireless/ath/ath6kl/sdio.c: In function ‘ath6kl_sdio_alloc_prep_scat_req’:
|
||||
drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the buf_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default]
|
||||
drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the sg_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default]
|
||||
--- drivers/net/wireless/ath/ath6kl/sdio.c
|
||||
+++ drivers/net/wireless/ath/ath6kl/sdio.c
|
||||
@@ -341,11 +341,14 @@
|
||||
scat_list_sz = (n_scat_entry - 1) * sizeof(struct hif_scatter_item);
|
||||
scat_req_sz = sizeof(*s_req) + scat_list_sz;
|
||||
|
||||
- if (!virt_scat)
|
||||
+ if (!virt_scat) {
|
||||
sg_sz = sizeof(struct scatterlist) * n_scat_entry;
|
||||
- else
|
||||
+ buf_sz = 0;
|
||||
+ } else {
|
||||
+ sg_sz = 0;
|
||||
buf_sz = 2 * L1_CACHE_BYTES +
|
||||
ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER;
|
||||
+ }
|
||||
|
||||
for (i = 0; i < n_scat_req; i++) {
|
||||
/* allocate the scatter request */
|
||||
--- drivers/gpu/drm/i915/intel_display.c
|
||||
+++ drivers/gpu/drm/i915/intel_display.c
|
||||
@@ -6216,7 +6216,7 @@
|
||||
obj = work->old_fb_obj;
|
||||
|
||||
atomic_clear_mask(1 << intel_crtc->plane,
|
||||
- &obj->pending_flip.counter);
|
||||
+ &obj->pending_flip);
|
||||
|
||||
wake_up(&dev_priv->pending_flip_queue);
|
||||
schedule_work(&work->work);
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
--- compat-drivers-3.8-rc7-1-u.orig/net/bluetooth/rfcomm/tty.c 2013-02-11 00:31:59.000000000 +0100
|
||||
+++ compat-drivers-3.8-rc7-1-u/net/bluetooth/rfcomm/tty.c 2013-02-13 12:39:58.983001215 +0100
|
||||
@@ -309,7 +309,7 @@
|
||||
BUG_ON(test_and_set_bit(RFCOMM_TTY_RELEASED, &dev->flags));
|
||||
|
||||
spin_lock_irqsave(&dev->port.lock, flags);
|
||||
- if (dev->port.count > 0) {
|
||||
+ if (atomic_read(&dev->port.count) > 0) {
|
||||
spin_unlock_irqrestore(&dev->port.lock, flags);
|
||||
return;
|
||||
}
|
||||
@@ -664,10 +664,10 @@
|
||||
return -ENODEV;
|
||||
|
||||
BT_DBG("dev %p dst %pMR channel %d opened %d", dev, &dev->dst,
|
||||
- dev->channel, dev->port.count);
|
||||
+ dev->channel, atomic_read(&dev->port.count));
|
||||
|
||||
spin_lock_irqsave(&dev->port.lock, flags);
|
||||
- if (++dev->port.count > 1) {
|
||||
+ if (atomic_inc_return(&dev->port.count) > 1) {
|
||||
spin_unlock_irqrestore(&dev->port.lock, flags);
|
||||
return 0;
|
||||
}
|
||||
@@ -736,10 +736,10 @@
|
||||
return;
|
||||
|
||||
BT_DBG("tty %p dev %p dlc %p opened %d", tty, dev, dev->dlc,
|
||||
- dev->port.count);
|
||||
+ atomic_read(&dev->port.count));
|
||||
|
||||
spin_lock_irqsave(&dev->port.lock, flags);
|
||||
- if (!--dev->port.count) {
|
||||
+ if (!atomic_dec_return(&dev->port.count)) {
|
||||
spin_unlock_irqrestore(&dev->port.lock, flags);
|
||||
if (dev->tty_dev->parent)
|
||||
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,29))
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
<pkgmetadata>
|
||||
<use>
|
||||
<flag name="injection">Add patches for better wifi injection support</flag>
|
||||
<flag name="desperately-build-all-modules">Bypass any filtering of the modules and build them all. Use only when no other flag works!</flag>
|
||||
<flag name="build-all-modules">Bypass any filtering of the modules and build them all. Use only when no other flag works!</flag>
|
||||
<flag name="compat_drivers_ethernet_alx">COMPAT_DRIVERS_ETHERNET setting to build driver for alx ethernet cards</flag>
|
||||
<flag name="compat_drivers_ethernet_atl1">COMPAT_DRIVERS_ETHERNET setting to build driver for atl1 ethernet cards</flag>
|
||||
<flag name="compat_drivers_ethernet_atl1c">COMPAT_DRIVERS_ETHERNET setting to build driver for atl1c ethernet cards</flag>
|
||||
<flag name="compat_drivers_ethernet_atl1e">COMPAT_DRIVERS_ETHERNET setting to build driver for atl1e ethernet cards</flag>
|
||||
|
|
@ -25,6 +26,7 @@
|
|||
<flag name="compat_drivers_wifi_brcmsmac">COMPAT_DRIVERS_WIFI setting to build driver for brcmsmac wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_carl9170">COMPAT_DRIVERS_WIFI setting to build driver for carl9170 wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_rt2x00">COMPAT_DRIVERS_WIFI setting to build driver for rt2x00 wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_wil6210">COMPAT_DRIVERS_WIFI setting to build driver for wil6210 wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_wl1251">COMPAT_DRIVERS_WIFI setting to build driver for wl1251 wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_wl12xx">COMPAT_DRIVERS_WIFI setting to build driver for wl12xx wireless cards</flag>
|
||||
<flag name="compat_drivers_wifi_wl18xx">COMPAT_DRIVERS_WIFI setting to build driver for wl18xx wireless cards</flag>
|
||||
|
|
|
|||
Loading…
Reference in a new issue