catalyst: add two patches required to fix kmod build on >=3.17.
This commit is contained in:
parent
a0bfa37d8b
commit
52155673a9
3 changed files with 82 additions and 0 deletions
29
srcpkgs/catalyst/files/fglrx_3.17rc6-no_hotplug.patch
Normal file
29
srcpkgs/catalyst/files/fglrx_3.17rc6-no_hotplug.patch
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
diff -uNr 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c
|
||||||
|
--- 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-09-09 16:10:17.000000000 +0200
|
||||||
|
+++ 14.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-09-26 19:01:44.000000000 +0200
|
||||||
|
@@ -1093,6 +1093,9 @@
|
||||||
|
// directly here to allow suspend/resume without X server start.
|
||||||
|
firegl_pci_save_state((KCL_PCI_DevHandle)pdev, privdev);
|
||||||
|
pci_disable_device(pdev);
|
||||||
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
|
||||||
|
+ pci_ignore_hotplug(pdev);
|
||||||
|
+#endif
|
||||||
|
PMSG_EVENT(pdev->dev.power.power_state) = state;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
diff -uNr 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c
|
||||||
|
--- 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2014-09-09 16:10:17.000000000 +0200
|
||||||
|
+++ 14.9/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2014-09-26 18:57:27.000000000 +0200
|
||||||
|
@@ -840,10 +840,12 @@
|
||||||
|
if(tdev != NULL)
|
||||||
|
{
|
||||||
|
device = (acpi_device_adr(tdev) >> 16) & 0xffff;
|
||||||
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0)
|
||||||
|
if(PCI_SLOT(pdev->devfn) == device)
|
||||||
|
{
|
||||||
|
tdev->flags.no_hotplug = true;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return 0;
|
50
srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch
Normal file
50
srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
--- 13.8/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-09-26 00:59:28.292596334 -0400
|
||||||
|
+++ 13.8/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-09-26 01:02:35.036252455 -0400
|
||||||
|
@@ -821,7 +821,7 @@ static struct proc_dir_entry *firegl_pro
|
||||||
|
KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
|
||||||
|
if (!minor)
|
||||||
|
{
|
||||||
|
- root = KCL_create_proc_dir(NULL, "ati", S_IRUGO|S_IXUGO);
|
||||||
|
+ root = KCL_create_proc_dir(NULL, "ati", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!root)
|
||||||
|
@@ -835,7 +835,7 @@ static struct proc_dir_entry *firegl_pro
|
||||||
|
// Global major debice number entry and Global debug entry
|
||||||
|
while (globallist->rp || globallist->fops)
|
||||||
|
{
|
||||||
|
- ent = KCL_create_proc_entry(root, globallist->name, S_IFREG|S_IRUGO, globallist->fops, globallist->rp, globallist->wp, dev);
|
||||||
|
+ ent = KCL_create_proc_entry(root, globallist->name, 0, globallist->fops, globallist->rp, globallist->wp, dev);
|
||||||
|
if (!ent)
|
||||||
|
{
|
||||||
|
KCL_remove_proc_dir_entry(NULL, "ati");
|
||||||
|
@@ -847,7 +847,7 @@ static struct proc_dir_entry *firegl_pro
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(name, "%d", minor);
|
||||||
|
- *dev_root = KCL_create_proc_dir(root, name, S_IRUGO|S_IXUGO);
|
||||||
|
+ *dev_root = KCL_create_proc_dir(root, name, 0);
|
||||||
|
if (!*dev_root) {
|
||||||
|
KCL_remove_proc_dir_entry(root, "major");
|
||||||
|
KCL_remove_proc_dir_entry(NULL, "ati");
|
||||||
|
@@ -857,7 +857,7 @@ static struct proc_dir_entry *firegl_pro
|
||||||
|
|
||||||
|
while (list->rp || list->fops)
|
||||||
|
{
|
||||||
|
- ent = KCL_create_proc_entry(*dev_root, list->name, S_IFREG|S_IRUGO, list->fops, list->rp, list->wp,
|
||||||
|
+ ent = KCL_create_proc_entry(*dev_root, list->name, 0, list->fops, list->rp, list->wp,
|
||||||
|
((dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev)));
|
||||||
|
if (!ent)
|
||||||
|
{
|
||||||
|
@@ -6358,9 +6358,9 @@ void * KCL_create_proc_dir(void *root_di
|
||||||
|
dir = create_proc_entry(name, S_IFDIR | access, (struct proc_dir_entry *)root_dir);
|
||||||
|
#else
|
||||||
|
if (root_dir == NULL)
|
||||||
|
- dir = proc_mkdir_mode(name, S_IFDIR | access, NULL);
|
||||||
|
+ dir = proc_mkdir_mode(name, access, NULL);
|
||||||
|
else
|
||||||
|
- dir = proc_mkdir_mode(name, S_IFDIR | access, (struct proc_dir_entry *)root_dir);
|
||||||
|
+ dir = proc_mkdir_mode(name, access, (struct proc_dir_entry *)root_dir);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return dir;
|
|
@ -37,6 +37,9 @@ fi
|
||||||
do_build() {
|
do_build() {
|
||||||
chmod 755 *.run
|
chmod 755 *.run
|
||||||
./amd-driver-*.run --extract fglrx
|
./amd-driver-*.run --extract fglrx
|
||||||
|
cd fglrx
|
||||||
|
patch -Np1 -i ${FILESDIR}/fglrx_3.17rc6-no_hotplug.patch
|
||||||
|
patch -Np1 -i ${FILESDIR}/lano1106_fglrx-13.8_proc.patch
|
||||||
}
|
}
|
||||||
do_install() {
|
do_install() {
|
||||||
cd fglrx
|
cd fglrx
|
||||||
|
|
Loading…
Reference in a new issue