Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 193203
b: refs/heads/master
c: 73029e0
h: refs/heads/master
i:
  193201: 5da5657
  193199: 1274a44
v: v3
  • Loading branch information
Takashi Iwai committed Apr 13, 2010
1 parent f655204 commit 678e0b9
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 128 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d97e1b78239c7e7e441088e0b644bd3b076002e6
refs/heads/master: 73029e0ff18dfac8a1aab1dc188e1e150bbe3adc
56 changes: 30 additions & 26 deletions trunk/sound/core/info.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,39 +164,43 @@ static loff_t snd_info_entry_llseek(struct file *file, loff_t offset, int orig)
{
struct snd_info_private_data *data;
struct snd_info_entry *entry;
loff_t ret;
loff_t ret = -EINVAL, size;

data = file->private_data;
entry = data->entry;
mutex_lock(&entry->access);
switch (entry->content) {
case SNDRV_INFO_CONTENT_TEXT:
switch (orig) {
case SEEK_SET:
file->f_pos = offset;
ret = file->f_pos;
goto out;
case SEEK_CUR:
file->f_pos += offset;
ret = file->f_pos;
goto out;
case SEEK_END:
default:
ret = -EINVAL;
goto out;
}
if (entry->content == SNDRV_INFO_CONTENT_DATA &&
entry->c.ops->llseek) {
offset = entry->c.ops->llseek(entry,
data->file_private_data,
file, offset, orig);
goto out;
}
if (entry->content == SNDRV_INFO_CONTENT_DATA)
size = entry->size;
else
size = 0;
switch (orig) {
case SEEK_SET:
break;
case SNDRV_INFO_CONTENT_DATA:
if (entry->c.ops->llseek) {
ret = entry->c.ops->llseek(entry,
data->file_private_data,
file, offset, orig);
case SEEK_CUR:
offset += file->f_pos;
break;
case SEEK_END:
if (!size)
goto out;
}
offset += size;
break;
}
ret = -ENXIO;
out:
default:
goto out;
}
if (offset < 0)
goto out;
if (size && offset > size)
offset = size;
file->f_pos = offset;
ret = offset;
out:
mutex_unlock(&entry->access);
return ret;
}
Expand Down
24 changes: 0 additions & 24 deletions trunk/sound/drivers/opl4/opl4_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,35 +90,11 @@ static ssize_t snd_opl4_mem_proc_write(struct snd_info_entry *entry,
return count;
}

static loff_t snd_opl4_mem_proc_llseek(struct snd_info_entry *entry,
void *file_private_data,
struct file *file,
loff_t offset, int orig)
{
switch (orig) {
case SEEK_SET:
file->f_pos = offset;
break;
case SEEK_CUR:
file->f_pos += offset;
break;
case SEEK_END: /* offset is negative */
file->f_pos = entry->size + offset;
break;
default:
return -EINVAL;
}
if (file->f_pos > entry->size)
file->f_pos = entry->size;
return file->f_pos;
}

static struct snd_info_entry_ops snd_opl4_mem_proc_ops = {
.open = snd_opl4_mem_proc_open,
.release = snd_opl4_mem_proc_release,
.read = snd_opl4_mem_proc_read,
.write = snd_opl4_mem_proc_write,
.llseek = snd_opl4_mem_proc_llseek,
};

int snd_opl4_create_proc(struct snd_opl4 *opl4)
Expand Down
26 changes: 0 additions & 26 deletions trunk/sound/isa/gus/gus_mem_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,31 +46,6 @@ static ssize_t snd_gf1_mem_proc_dump(struct snd_info_entry *entry,
return count;
}

static loff_t snd_gf1_mem_proc_llseek(struct snd_info_entry *entry,
void *private_file_data,
struct file *file,
loff_t offset, int orig)
{
struct gus_proc_private *priv = entry->private_data;

switch (orig) {
case SEEK_SET:
file->f_pos = offset;
break;
case SEEK_CUR:
file->f_pos += offset;
break;
case SEEK_END: /* offset is negative */
file->f_pos = priv->size + offset;
break;
default:
return -EINVAL;
}
if (file->f_pos > priv->size)
file->f_pos = priv->size;
return file->f_pos;
}

static void snd_gf1_mem_proc_free(struct snd_info_entry *entry)
{
struct gus_proc_private *priv = entry->private_data;
Expand All @@ -79,7 +54,6 @@ static void snd_gf1_mem_proc_free(struct snd_info_entry *entry)

static struct snd_info_entry_ops snd_gf1_mem_proc_ops = {
.read = snd_gf1_mem_proc_dump,
.llseek = snd_gf1_mem_proc_llseek,
};

int snd_gf1_mem_proc_init(struct snd_gus_card * gus)
Expand Down
51 changes: 0 additions & 51 deletions trunk/sound/pci/mixart/mixart.c
Original file line number Diff line number Diff line change
Expand Up @@ -1102,55 +1102,6 @@ static int snd_mixart_free(struct mixart_mgr *mgr)
/*
* proc interface
*/
static loff_t snd_mixart_BA0_llseek(struct snd_info_entry *entry,
void *private_file_data,
struct file *file,
loff_t offset, int orig)
{
offset = offset & ~3; /* 4 bytes aligned */

switch(orig) {
case SEEK_SET:
file->f_pos = offset;
break;
case SEEK_CUR:
file->f_pos += offset;
break;
case SEEK_END: /* offset is negative */
file->f_pos = MIXART_BA0_SIZE + offset;
break;
default:
return -EINVAL;
}
if(file->f_pos > MIXART_BA0_SIZE)
file->f_pos = MIXART_BA0_SIZE;
return file->f_pos;
}

static loff_t snd_mixart_BA1_llseek(struct snd_info_entry *entry,
void *private_file_data,
struct file *file,
loff_t offset, int orig)
{
offset = offset & ~3; /* 4 bytes aligned */

switch(orig) {
case SEEK_SET:
file->f_pos = offset;
break;
case SEEK_CUR:
file->f_pos += offset;
break;
case SEEK_END: /* offset is negative */
file->f_pos = MIXART_BA1_SIZE + offset;
break;
default:
return -EINVAL;
}
if(file->f_pos > MIXART_BA1_SIZE)
file->f_pos = MIXART_BA1_SIZE;
return file->f_pos;
}

/*
mixart_BA0 proc interface for BAR 0 - read callback
Expand Down Expand Up @@ -1186,12 +1137,10 @@ static ssize_t snd_mixart_BA1_read(struct snd_info_entry *entry,

static struct snd_info_entry_ops snd_mixart_proc_ops_BA0 = {
.read = snd_mixart_BA0_read,
.llseek = snd_mixart_BA0_llseek
};

static struct snd_info_entry_ops snd_mixart_proc_ops_BA1 = {
.read = snd_mixart_BA1_read,
.llseek = snd_mixart_BA1_llseek
};


Expand Down

0 comments on commit 678e0b9

Please sign in to comment.