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() {
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue