fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / sound / isa / gus / gus_mem_proc.c
index 95071a0..80f0a83 100644 (file)
 #include <sound/gus.h>
 #include <sound/info.h>
 
-typedef struct gus_proc_private {
+struct gus_proc_private {
        int rom;                /* data are in ROM */
        unsigned int address;
        unsigned int size;
-       snd_gus_card_t * gus;
-} gus_proc_private_t;
+       struct snd_gus_card * gus;
+};
 
-static long snd_gf1_mem_proc_dump(snd_info_entry_t *entry, void *file_private_data,
-                                 struct file *file, char __user *buf, long count)
+static long snd_gf1_mem_proc_dump(struct snd_info_entry *entry, void *file_private_data,
+                                 struct file *file, char __user *buf,
+                                 unsigned long count, unsigned long pos)
 {
        long size;
-       gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return -ENXIO);
-       snd_gus_card_t *gus = priv->gus;
+       struct gus_proc_private *priv = entry->private_data;
+       struct snd_gus_card *gus = priv->gus;
        int err;
 
        size = count;
-       if (file->f_pos + size > priv->size)
-               size = (long)priv->size - file->f_pos;
+       if (pos + size > priv->size)
+               size = (long)priv->size - pos;
        if (size > 0) {
-               if ((err = snd_gus_dram_read(gus, buf, file->f_pos, size, priv->rom)) < 0)
+               if ((err = snd_gus_dram_read(gus, buf, pos, size, priv->rom)) < 0)
                        return err;
-               file->f_pos += size;
                return size;
        }
        return 0;
 }                      
 
-static long long snd_gf1_mem_proc_llseek(snd_info_entry_t *entry,
+static long long snd_gf1_mem_proc_llseek(struct snd_info_entry *entry,
                                        void *private_file_data,
                                        struct file *file,
                                        long long offset,
                                        int orig)
 {
-       gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return -ENXIO);
+       struct gus_proc_private *priv = entry->private_data;
 
        switch (orig) {
-       case 0: /* SEEK_SET */
+       case SEEK_SET:
                file->f_pos = offset;
                break;
-       case 1: /* SEEK_CUR */
+       case SEEK_CUR:
                file->f_pos += offset;
                break;
-       case 2: /* SEEK_END, offset is negative */
+       case SEEK_END: /* offset is negative */
                file->f_pos = priv->size + offset;
                break;
        default:
@@ -78,10 +78,10 @@ static long long snd_gf1_mem_proc_llseek(snd_info_entry_t *entry,
        return file->f_pos;
 }
 
-static void snd_gf1_mem_proc_free(snd_info_entry_t *entry)
+static void snd_gf1_mem_proc_free(struct snd_info_entry *entry)
 {
-       gus_proc_private_t *priv = snd_magic_cast(gus_proc_private_t, entry->private_data, return);
-       snd_magic_kfree(priv);
+       struct gus_proc_private *priv = entry->private_data;
+       kfree(priv);
 }
 
 static struct snd_info_entry_ops snd_gf1_mem_proc_ops = {
@@ -89,16 +89,16 @@ static struct snd_info_entry_ops snd_gf1_mem_proc_ops = {
        .llseek = snd_gf1_mem_proc_llseek,
 };
 
-int snd_gf1_mem_proc_init(snd_gus_card_t * gus)
+int snd_gf1_mem_proc_init(struct snd_gus_card * gus)
 {
        int idx;
        char name[16];
-       gus_proc_private_t *priv;
-       snd_info_entry_t *entry;
+       struct gus_proc_private *priv;
+       struct snd_info_entry *entry;
 
        for (idx = 0; idx < 4; idx++) {
                if (gus->gf1.mem_alloc.banks_8[idx].size > 0) {
-                       priv = snd_magic_kcalloc(gus_proc_private_t, 0, GFP_KERNEL);
+                       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
                        if (priv == NULL)
                                return -ENOMEM;
                        priv->gus = gus;
@@ -115,7 +115,7 @@ int snd_gf1_mem_proc_init(snd_gus_card_t * gus)
        }
        for (idx = 0; idx < 4; idx++) {
                if (gus->gf1.rom_present & (1 << idx)) {
-                       priv = snd_magic_kcalloc(gus_proc_private_t, 0, GFP_KERNEL);
+                       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
                        if (priv == NULL)
                                return -ENOMEM;
                        priv->rom = 1;