catalyst: add two patches required to fix kmod build on >=3.17.

This commit is contained in:
Juan RP 2014-12-09 16:40:21 +01:00
parent a0bfa37d8b
commit 52155673a9
3 changed files with 82 additions and 0 deletions

View 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;

View 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;

View file

@ -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