--- usr/lib/oss/build/osscore.c 2012-05-22 00:23:41.000000000 +0200 +++ usr/lib/oss/build/osscore.c 2013-07-01 17:07:37.620533508 +0200 @@ -276,28 +276,55 @@ oss_read_devfiles (struct file *file, ch return strlen (tmp); } +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) static struct file_operations oss_proc_operations = { .read = oss_read_devfiles, }; +#else +static struct file_operations fops = { + .owner = THIS_MODULE, + .read = oss_read_devfiles, +}; +#endif static void init_proc_fs (void) { + #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) if ((oss_proc_root = create_proc_entry ("opensound", 0700 | S_IFDIR, NULL)) == NULL) + { + oss_cmn_err (CE_CONT, "Cannot create /proc/opensound\n"); + return; + } + + if ((oss_proc_devfiles = + create_proc_entry ("devfiles", 0600, oss_proc_root)) == NULL) + { + oss_cmn_err (CE_CONT, "Cannot create /proc/opensound/devfiles\n"); + return; + } + + oss_proc_devfiles->proc_fops = &oss_proc_operations; + +#else + + if ((oss_proc_root = + proc_mkdir ("opensound", NULL)) == NULL ) { oss_cmn_err (CE_CONT, "Cannot create /proc/opensound\n"); return; } if ((oss_proc_devfiles = - create_proc_entry ("devfiles", 0600, oss_proc_root)) == NULL) + proc_create ("devfiles", 0600, oss_proc_root, &fops)) == NULL) { oss_cmn_err (CE_CONT, "Cannot create /proc/opensound/devfiles\n"); return; } + +#endif - oss_proc_devfiles->proc_fops = &oss_proc_operations; } static void