Update of /cvsroot/alsa/alsa-driver/acore
In directory sc8-pr-cvs1:/tmp/cvs-serv14081/acore

Added Files:
        info.inc info.patch 
Removed Files:
        info.c 
Log Message:
More cleanups for alsa-kernel/ tree (.patch->.c rule)

--- NEW FILE: info.inc ---
#define __NO_VERSION__
#include <linux/config.h>
#include <linux/version.h>

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 4, 0)
#include <sound/driver.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/version.h>
#include <linux/proc_fs.h>

static int snd_info_card_readlink(struct dentry *dentry,
                                  char *buffer, int buflen)
{
        char *s = PDE(dentry->d_inode)->data;
        int len;
        
        if (s == NULL)
                return -EIO;
        len = strlen(s);
        if (len > buflen)
                len = buflen;
        if (copy_to_user(buffer, s, len))
                return -EFAULT;
        return len;
}

static struct dentry *snd_info_card_followlink(struct dentry *dentry,
                                               struct dentry *base,
                                               unsigned int follow)
{
        char *s = PDE(dentry->d_inode)->data;
        return lookup_dentry(s, base, follow);
}

static struct file_operations snd_info_card_link_operations =
{
        NULL
};

struct inode_operations snd_info_card_link_inode_operations =
{
        .default_file_ops =     &snd_info_card_link_operations,
        .readlink =             snd_info_card_readlink,
        .follow_link =          snd_info_card_followlink,
};

static struct proc_dir_entry *proc_symlink(const char *name,
                                           struct proc_dir_entry *parent,
                                           const char *dest)
{
        char *s = snd_kmalloc_strdup(dest, GFP_KERNEL);
        struct proc_dir_entry *p;

        if (s == NULL)
                return NULL;
        p = create_proc_entry(name, S_IFLNK | S_IRUGO | S_IWUGO | S_IXUGO, parent);
        if (p == NULL) {
                kfree(s);
                return NULL;
        }
        p->data = s;
        p->ops = &snd_info_card_link_inode_operations;
        return p;
}

static void snd_info_fill_inode(struct inode *inode, int fill)
{
        if (fill)
                MOD_INC_USE_COUNT;
        else
                MOD_DEC_USE_COUNT;
}

static inline void snd_info_entry_prepare(struct proc_dir_entry *de)
{
        de->fill_inode = snd_info_fill_inode;
}

void snd_remove_proc_entry(struct proc_dir_entry *parent,
                           struct proc_dir_entry *de)
{
        if (parent && de) {
                if (S_ISDIR(de->mode) && de->data) {
                        kfree(de->data);
                        de->data = 0;
                }
                proc_unregister(parent, de->low_ino);
        }
}

static struct inode_operations snd_info_entry_inode_operations =
{
                &snd_info_entry_operations,     /* default sound info directory 
file-ops */
};

#endif /* LINUX_VERSION_CODE < 2.4.0 */

--- NEW FILE: info.patch ---
--- info.c      2003-05-30 14:29:41.000000000 +0200
+++ info.c      2003-05-30 14:28:42.000000000 +0200
@@ -1,3 +1,4 @@
+#include "info.inc"
 /*
  *  Information interface for ALSA driver
  *  Copyright (c) by Jaroslav Kysela <[EMAIL PROTECTED]>
@@ -121,6 +122,7 @@
 snd_info_entry_t *snd_oss_root = NULL;
 #endif
 
+#ifndef LINUX_2_2
 static inline void snd_info_entry_prepare(struct proc_dir_entry *de)
 {
        de->owner = THIS_MODULE;
@@ -132,6 +134,7 @@
        if (de)
                remove_proc_entry(de->name, parent);
 }
+#endif
 
 static loff_t snd_info_entry_llseek(struct file *file, loff_t offset, int orig)
 {
@@ -141,7 +144,9 @@
 
        data = snd_magic_cast(snd_info_private_data_t, file->private_data, return 
-ENXIO);
        entry = data->entry;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3)
        lock_kernel();
+#endif
        switch (entry->content) {
        case SNDRV_INFO_CONTENT_TEXT:
                switch (orig) {
@@ -170,7 +175,9 @@
        }
        ret = -ENXIO;
 out:
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 3)
        unlock_kernel();
+#endif
        return ret;
 }
 
@@ -489,7 +496,9 @@
 
 static struct file_operations snd_info_entry_operations =
 {
+#ifndef LINUX_2_2
        .owner =        THIS_MODULE,
+#endif
        .llseek =       snd_info_entry_llseek,
        .read =         snd_info_entry_read,
        .write =        snd_info_entry_write,
@@ -908,9 +917,16 @@
                up(&info_mutex);
                return -ENOMEM;
        }
+#ifndef LINUX_2_2
        p->owner = entry->module;
-       if (!S_ISDIR(entry->mode))
+#endif
+       if (!S_ISDIR(entry->mode)) {
+#ifndef LINUX_2_2
                p->proc_fops = &snd_info_entry_operations;
+#else
+               p->ops = &snd_info_entry_inode_operations;
+#endif
+       }
        p->size = entry->size;
        p->data = entry;
        entry->p = p;

--- info.c DELETED ---



-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to