From d352a673aee8e1b11fcfa8bcb2e7398ad0f74bb9 Mon Sep 17 00:00:00 2001 From: leslie Date: Wed, 18 Nov 2009 20:19:40 +0800 Subject: [PATCH] sasc: fix kernel 2.6.31 compatibility --- contrib/sasc-ng/dvbloopback/module/dvblb_proc.c | 6 ++++++ contrib/sasc-ng/dvbloopback/module/dvbloopback.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/contrib/sasc-ng/dvbloopback/module/dvblb_proc.c b/contrib/sasc-ng/dvbloopback/module/dvblb_proc.c index 2083bd4..cbb6998 100644 --- a/contrib/sasc-ng/dvbloopback/module/dvblb_proc.c +++ b/contrib/sasc-ng/dvbloopback/module/dvblb_proc.c @@ -172,7 +172,9 @@ int dvblb_init_procfs_device(struct dvblb *dvblb, struct dvblb_devinfo *lbdev) lbdev->procfile->data = lbdev; lbdev->procfile->read_proc = dvblb_procfs_read; lbdev->procfile->write_proc = dvblb_procfs_write; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) lbdev->procfile->owner = THIS_MODULE; +#endif return 0; } EXPORT_SYMBOL(dvblb_init_procfs_device); @@ -184,7 +186,9 @@ int dvblb_init_procfs_adapter(struct dvblb *dvblb) dvblb->procdir = proc_mkdir(name, procdir); if (dvblb->procdir == NULL) return -ENOMEM; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) dvblb->procdir->owner = THIS_MODULE; +#endif dvblb->procfile = create_proc_entry("adapter", 0644, dvblb->procdir); if (dvblb->procfile == NULL) { dvblb_remove_procfs(dvblb->procdir, procdir); @@ -193,7 +197,9 @@ int dvblb_init_procfs_adapter(struct dvblb *dvblb) dvblb->procfile->data = dvblb; dvblb->procfile->read_proc = dvblb_procfs_adapter_read; dvblb->procfile->write_proc = dvblb_procfs_adapter_write; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) dvblb->procfile->owner = THIS_MODULE; +#endif dvblb->init |= DVBLB_STATUS_PROC; return 0; diff --git a/contrib/sasc-ng/dvbloopback/module/dvbloopback.h b/contrib/sasc-ng/dvbloopback/module/dvbloopback.h index 78aa00b..d4f5494 100644 --- a/contrib/sasc-ng/dvbloopback/module/dvbloopback.h +++ b/contrib/sasc-ng/dvbloopback/module/dvbloopback.h @@ -1,6 +1,8 @@ #ifndef DVBLOOPBACK_H #define DVBLOOPBACK_H +#include + #define DVBLB_MAXFD 96 static const char * const dnames[] = { @@ -17,7 +19,12 @@ typedef enum dvblb_type { } dvblb_type_t; enum { +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) DVBLB_CMD_OPEN = 0, +#else + //pawel5870: Workaround for kernel 2.6.31 + DVBLB_CMD_OPEN = 4, +#endif DVBLB_CMD_CLOSE, DVBLB_CMD_READ, DVBLB_CMD_WRITE, -- 2.39.5