diff --git a/srcpkgs/catalyst/files/fglrx_3.17rc6-no_hotplug.patch b/srcpkgs/catalyst/files/fglrx_3.17rc6-no_hotplug.patch new file mode 100644 index 0000000000..7fbe1a2506 --- /dev/null +++ b/srcpkgs/catalyst/files/fglrx_3.17rc6-no_hotplug.patch @@ -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; diff --git a/srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch b/srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch new file mode 100644 index 0000000000..e2ec7c30d0 --- /dev/null +++ b/srcpkgs/catalyst/files/lano1106_fglrx-13.8_proc.patch @@ -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; diff --git a/srcpkgs/catalyst/template b/srcpkgs/catalyst/template index 39c16d4d1e..ed8b05a862 100644 --- a/srcpkgs/catalyst/template +++ b/srcpkgs/catalyst/template @@ -37,6 +37,9 @@ fi do_build() { chmod 755 *.run ./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() { cd fglrx