compr->card->proc_root);
        if (!entry)
                return -ENOMEM;
-       entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       entry->mode = S_IFDIR | 0555;
        if (snd_info_register(entry) < 0) {
                snd_info_free_entry(entry);
                return -ENOMEM;
 
        entry = snd_info_create_module_entry(mod, name, NULL);
        if (!entry)
                return NULL;
-       entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       entry->mode = S_IFDIR | 0555;
        if (snd_info_register(entry) < 0) {
                snd_info_free_entry(entry);
                return NULL;
        snd_proc_root = snd_info_create_entry("asound", NULL);
        if (!snd_proc_root)
                return -ENOMEM;
-       snd_proc_root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       snd_proc_root->mode = S_IFDIR | 0555;
        snd_proc_root->p = proc_mkdir("asound", NULL);
        if (!snd_proc_root->p)
                goto error;
                kfree(entry);
                return NULL;
        }
-       entry->mode = S_IFREG | S_IRUGO;
+       entry->mode = S_IFREG | 0444;
        entry->content = SNDRV_INFO_CONTENT_TEXT;
        mutex_init(&entry->access);
        INIT_LIST_HEAD(&entry->children);
 
        return count;
 }
 
-static DEVICE_ATTR(id, S_IRUGO | S_IWUSR, card_id_show_attr, card_id_store_attr);
+static DEVICE_ATTR(id, 0644, card_id_show_attr, card_id_store_attr);
 
 static ssize_t
 card_number_show_attr(struct device *dev,
        return scnprintf(buf, PAGE_SIZE, "%i\n", card->number);
 }
 
-static DEVICE_ATTR(number, S_IRUGO, card_number_show_attr, NULL);
+static DEVICE_ATTR(number, 0444, card_number_show_attr, NULL);
 
 static struct attribute *card_dev_attrs[] = {
        &dev_attr_id.attr,
 
        if (! entry)
                return;
        entry->content = SNDRV_INFO_CONTENT_TEXT;
-       entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+       entry->mode = S_IFREG | 0644;
        entry->c.text.read = snd_mixer_oss_proc_read;
        entry->c.text.write = snd_mixer_oss_proc_write;
        entry->private_data = mixer;
 
                        continue;
                if ((entry = snd_info_create_card_entry(pcm->card, "oss", pstr->proc_root)) != NULL) {
                        entry->content = SNDRV_INFO_CONTENT_TEXT;
-                       entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+                       entry->mode = S_IFREG | 0644;
                        entry->c.text.read = snd_pcm_oss_proc_read;
                        entry->c.text.write = snd_pcm_oss_proc_write;
                        entry->private_data = pstr;
 
                                           pcm->card->proc_root);
        if (!entry)
                return -ENOMEM;
-       entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       entry->mode = S_IFDIR | 0555;
        if (snd_info_register(entry) < 0) {
                snd_info_free_entry(entry);
                return -ENOMEM;
        if (entry) {
                entry->c.text.read = snd_pcm_xrun_debug_read;
                entry->c.text.write = snd_pcm_xrun_debug_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->private_data = pstr;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
                                           substream->pstr->proc_root);
        if (!entry)
                return -ENOMEM;
-       entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       entry->mode = S_IFDIR | 0555;
        if (snd_info_register(entry) < 0) {
                snd_info_free_entry(entry);
                return -ENOMEM;
                entry->private_data = substream;
                entry->c.text.read = NULL;
                entry->c.text.write = snd_pcm_xrun_injection_write;
-               entry->mode = S_IFREG | S_IWUSR;
+               entry->mode = S_IFREG | 0200;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
                        entry = NULL;
         return snprintf(buf, PAGE_SIZE, "%s\n", str);
 }
 
-static DEVICE_ATTR(pcm_class, S_IRUGO, show_pcm_class, NULL);
+static DEVICE_ATTR(pcm_class, 0444, show_pcm_class, NULL);
 static struct attribute *pcm_dev_attrs[] = {
        &dev_attr_pcm_class.attr,
        NULL
 
        if ((entry = snd_info_create_card_entry(substream->pcm->card, "prealloc", substream->proc_root)) != NULL) {
                entry->c.text.read = snd_pcm_lib_preallocate_proc_read;
                entry->c.text.write = snd_pcm_lib_preallocate_proc_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->private_data = substream;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
 
        if (!snd_card_proc_new(chip->card, "dummy_pcm", &entry)) {
                snd_info_set_text_ops(entry, chip, dummy_proc_read);
                entry->c.text.write = dummy_proc_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->private_data = chip;
        }
 }
 
 static struct platform_device *platform_devices[SNDRV_CARDS]; 
 static int device_count;
 
-module_param_array(index, int, NULL, S_IRUGO);
+module_param_array(index, int, NULL, 0444);
 MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard.");
-module_param_array(id, charp, NULL, S_IRUGO);
+module_param_array(id, charp, NULL, 0444);
 MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard.");
-module_param_array(enable, bool, NULL, S_IRUGO);
+module_param_array(enable, bool, NULL, 0444);
 MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard.");
 
 MODULE_AUTHOR("Matthias Koenig <mk@phasorlab.de>");
 
        if (entry) {
                if (opl4->hardware < OPL3_HW_OPL4_ML) {
                        /* OPL4 can access 4 MB external ROM/SRAM */
-                       entry->mode |= S_IWUSR;
+                       entry->mode |= 0200;
                        entry->size = 4 * 1024 * 1024;
                } else {
                        /* OPL4-ML has 1 MB internal ROM */
 
 static struct platform_device *platform_devices[SNDRV_CARDS]; 
 static int device_count;
 
-module_param_array(index, int, NULL, S_IRUGO);
+module_param_array(index, int, NULL, 0444);
 MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard.");
-module_param_array(id, charp, NULL, S_IRUGO);
+module_param_array(id, charp, NULL, 0444);
 MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard.");
-module_param_array(enable, bool, NULL, S_IRUGO);
+module_param_array(enable, bool, NULL, 0444);
 MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard.");
 
 MODULE_AUTHOR("Levent Guendogdu, Tobias Gehrig, Matthias Koenig");
 
                                          bebob->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          dice->card->proc_root);
        if (!root)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
        if (root == NULL)
                return;
 
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          ff->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          efw->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          motu->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          oxfw->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
                                          tscm->card->proc_root);
        if (root == NULL)
                return;
-       root->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+       root->mode = S_IFDIR | 0555;
        if (snd_info_register(root) < 0) {
                snd_info_free_entry(root);
                return;
 
 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;     /* Index 0-MAX */
 static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;      /* ID for this card */
 
-module_param_array(index, int, NULL, S_IRUGO);
+module_param_array(index, int, NULL, 0444);
 MODULE_PARM_DESC(index, "Index value for msnd_pinnacle soundcard.");
-module_param_array(id, charp, NULL, S_IRUGO);
+module_param_array(id, charp, NULL, 0444);
 MODULE_PARM_DESC(id, "ID string for msnd_pinnacle soundcard.");
 
 static long io[SNDRV_CARDS] = SNDRV_DEFAULT_PORT;
 MODULE_FIRMWARE(INITCODEFILE);
 MODULE_FIRMWARE(PERMCODEFILE);
 
-module_param_hw_array(io, long, ioport, NULL, S_IRUGO);
+module_param_hw_array(io, long, ioport, NULL, 0444);
 MODULE_PARM_DESC(io, "IO port #");
-module_param_hw_array(irq, int, irq, NULL, S_IRUGO);
-module_param_hw_array(mem, long, iomem, NULL, S_IRUGO);
-module_param_array(write_ndelay, int, NULL, S_IRUGO);
-module_param(calibrate_signal, int, S_IRUGO);
+module_param_hw_array(irq, int, irq, NULL, 0444);
+module_param_hw_array(mem, long, iomem, NULL, 0444);
+module_param_array(write_ndelay, int, NULL, 0444);
+module_param(calibrate_signal, int, 0444);
 #ifndef MSND_CLASSIC
-module_param_array(digital, int, NULL, S_IRUGO);
-module_param_hw_array(cfg, long, ioport, NULL, S_IRUGO);
-module_param_array(reset, int, 0, S_IRUGO);
-module_param_hw_array(mpu_io, long, ioport, NULL, S_IRUGO);
-module_param_hw_array(mpu_irq, int, irq, NULL, S_IRUGO);
-module_param_hw_array(ide_io0, long, ioport, NULL, S_IRUGO);
-module_param_hw_array(ide_io1, long, ioport, NULL, S_IRUGO);
-module_param_hw_array(ide_irq, int, irq, NULL, S_IRUGO);
-module_param_hw_array(joystick_io, long, ioport, NULL, S_IRUGO);
+module_param_array(digital, int, NULL, 0444);
+module_param_hw_array(cfg, long, ioport, NULL, 0444);
+module_param_array(reset, int, 0, 0444);
+module_param_hw_array(mpu_io, long, ioport, NULL, 0444);
+module_param_hw_array(mpu_irq, int, irq, NULL, 0444);
+module_param_hw_array(ide_io0, long, ioport, NULL, 0444);
+module_param_hw_array(ide_io1, long, ioport, NULL, 0444);
+module_param_hw_array(ide_irq, int, irq, NULL, 0444);
+module_param_hw_array(joystick_io, long, ioport, NULL, 0444);
 #endif
 
 
 
        if ((entry = snd_info_create_card_entry(ac97->bus->card, name, ac97->bus->proc)) != NULL) {
                snd_info_set_text_ops(entry, ac97, snd_ac97_proc_regs_read);
 #ifdef CONFIG_SND_DEBUG
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->c.text.write = snd_ac97_proc_regs_write;
 #endif
                if (snd_info_register(entry) < 0) {
 
        sprintf(name, "codec97#%d", bus->num);
        if ((entry = snd_info_create_card_entry(bus->card, name, bus->card->proc_root)) != NULL) {
-               entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+               entry->mode = S_IFDIR | 0555;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
                        entry = NULL;
 
 static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;
 static bool enable_hpi_hwdep = 1;
 
-module_param_array(index, int, NULL, S_IRUGO);
+module_param_array(index, int, NULL, 0444);
 MODULE_PARM_DESC(index, "ALSA index value for AudioScience soundcard.");
 
-module_param_array(id, charp, NULL, S_IRUGO);
+module_param_array(id, charp, NULL, 0444);
 MODULE_PARM_DESC(id, "ALSA ID string for AudioScience soundcard.");
 
-module_param_array(enable, bool, NULL, S_IRUGO);
+module_param_array(enable, bool, NULL, 0444);
 MODULE_PARM_DESC(enable, "ALSA enable AudioScience soundcard.");
 
-module_param(enable_hpi_hwdep, bool, S_IRUGO|S_IWUSR);
+module_param(enable_hpi_hwdep, bool, 0644);
 MODULE_PARM_DESC(enable_hpi_hwdep,
                "ALSA enable HPI hwdep for AudioScience soundcard ");
 
 /* identify driver */
 #ifdef KERNEL_ALSA_BUILD
 static char *build_info = "Built using headers from kernel source";
-module_param(build_info, charp, S_IRUGO);
+module_param(build_info, charp, 0444);
 MODULE_PARM_DESC(build_info, "Built using headers from kernel source");
 #else
 static char *build_info = "Built within ALSA source";
-module_param(build_info, charp, S_IRUGO);
+module_param(build_info, charp, 0444);
 MODULE_PARM_DESC(build_info, "Built within ALSA source");
 #endif
 
 
 #endif
 
 static int prealloc_stream_buf;
-module_param(prealloc_stream_buf, int, S_IRUGO);
+module_param(prealloc_stream_buf, int, 0444);
 MODULE_PARM_DESC(prealloc_stream_buf,
        "Preallocate size for per-adapter stream buffer");
 
 /* Allow the debug level to be changed after module load.
  E.g.   echo 2 > /sys/module/asihpi/parameters/hpiDebugLevel
 */
-module_param(hpi_debug_level, int, S_IRUGO | S_IWUSR);
+module_param(hpi_debug_level, int, 0644);
 MODULE_PARM_DESC(hpi_debug_level, "debug verbosity 0..5");
 
 /* List of adapters found */
 
        if(! snd_card_proc_new(emu->card, "ca0106_reg32", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_ca0106_proc_reg_read32);
                entry->c.text.write = snd_ca0106_proc_reg_write32;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if(! snd_card_proc_new(emu->card, "ca0106_reg16", &entry))
                snd_info_set_text_ops(entry, emu, snd_ca0106_proc_reg_read16);
        if(! snd_card_proc_new(emu->card, "ca0106_regs1", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_ca0106_proc_reg_read1);
                entry->c.text.write = snd_ca0106_proc_reg_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if(! snd_card_proc_new(emu->card, "ca0106_i2c", &entry)) {
                entry->c.text.write = snd_ca0106_proc_i2c_write;
                entry->private_data = emu;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if(! snd_card_proc_new(emu->card, "ca0106_regs2", &entry)) 
                snd_info_set_text_ops(entry, emu, snd_ca0106_proc_reg_read2);
 
                        entry->private_data = chip;
                        entry->c.ops = &snd_cs46xx_proc_io_ops;
                        entry->size = region->size;
-                       entry->mode = S_IFREG | S_IRUSR;
+                       entry->mode = S_IFREG | 0400;
                }
        }
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
 
 
        if ((entry = snd_info_create_card_entry(card, "dsp", card->proc_root)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
-               entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
+               entry->mode = S_IFDIR | 0555;
       
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "spos_symbols", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_symbol_table_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "spos_modules", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_modules_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "parameter", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_parameter_dump_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "sample", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_sample_dump_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "task_tree", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_task_tree_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
        if ((entry = snd_info_create_card_entry(card, "scb_info", ins->proc_dsp_dir)) != NULL) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = chip;
-               entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+               entry->mode = S_IFREG | 0644;
                entry->c.text.read = cs46xx_dsp_proc_scb_read;
                if (snd_info_register(entry) < 0) {
                        snd_info_free_entry(entry);
 
       
                        entry->content = SNDRV_INFO_CONTENT_TEXT;
                        entry->private_data = scb_info;
-                       entry->mode = S_IFREG | S_IRUGO | S_IWUSR;
+                       entry->mode = S_IFREG | 0644;
       
                        entry->c.text.read = cs46xx_dsp_proc_scb_info_read;
       
 
 
 static bool use_system_timer;
 MODULE_PARM_DESC(use_system_timer, "Force to use system-timer");
-module_param(use_system_timer, bool, S_IRUGO);
+module_param(use_system_timer, bool, 0444);
 
 struct ct_timer_ops {
        void (*init)(struct ct_timer_instance *);
 
 static unsigned int reference_rate = 48000;
 static unsigned int multiple = 2;
 MODULE_PARM_DESC(reference_rate, "Reference rate (default=48000)");
-module_param(reference_rate, uint, S_IRUGO);
+module_param(reference_rate, uint, 0444);
 MODULE_PARM_DESC(multiple, "Rate multiplier (default=2)");
-module_param(multiple, uint, S_IRUGO);
+module_param(multiple, uint, 0444);
 
 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;
 static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;
 
        if(! snd_card_proc_new(emu->card, "emu10k1x_regs", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu10k1x_proc_reg_read);
                entry->c.text.write = snd_emu10k1x_proc_reg_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->private_data = emu;
        }
        
 
        if (! snd_card_proc_new(emu->card, "io_regs", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_io_reg_read);
                entry->c.text.write = snd_emu_proc_io_reg_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs00a", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_ptr_reg_read00a);
                entry->c.text.write = snd_emu_proc_ptr_reg_write00;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs00b", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_ptr_reg_read00b);
                entry->c.text.write = snd_emu_proc_ptr_reg_write00;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs20a", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_ptr_reg_read20a);
                entry->c.text.write = snd_emu_proc_ptr_reg_write20;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs20b", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_ptr_reg_read20b);
                entry->c.text.write = snd_emu_proc_ptr_reg_write20;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (! snd_card_proc_new(emu->card, "ptr_regs20c", &entry)) {
                snd_info_set_text_ops(entry, emu, snd_emu_proc_ptr_reg_read20c);
                entry->c.text.write = snd_emu_proc_ptr_reg_write20;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
 #endif
        
        if (! snd_card_proc_new(emu->card, "fx8010_gpr", &entry)) {
                entry->content = SNDRV_INFO_CONTENT_DATA;
                entry->private_data = emu;
-               entry->mode = S_IFREG | S_IRUGO /*| S_IWUSR*/;
+               entry->mode = S_IFREG | 0444 /*| S_IWUSR*/;
                entry->size = emu->audigy ? A_TOTAL_SIZE_GPR : TOTAL_SIZE_GPR;
                entry->c.ops = &snd_emu10k1_proc_ops_fx8010;
        }
        if (! snd_card_proc_new(emu->card, "fx8010_tram_data", &entry)) {
                entry->content = SNDRV_INFO_CONTENT_DATA;
                entry->private_data = emu;
-               entry->mode = S_IFREG | S_IRUGO /*| S_IWUSR*/;
+               entry->mode = S_IFREG | 0444 /*| S_IWUSR*/;
                entry->size = emu->audigy ? A_TOTAL_SIZE_TANKMEM_DATA : TOTAL_SIZE_TANKMEM_DATA ;
                entry->c.ops = &snd_emu10k1_proc_ops_fx8010;
        }
        if (! snd_card_proc_new(emu->card, "fx8010_tram_addr", &entry)) {
                entry->content = SNDRV_INFO_CONTENT_DATA;
                entry->private_data = emu;
-               entry->mode = S_IFREG | S_IRUGO /*| S_IWUSR*/;
+               entry->mode = S_IFREG | 0444 /*| S_IWUSR*/;
                entry->size = emu->audigy ? A_TOTAL_SIZE_TANKMEM_ADDR : TOTAL_SIZE_TANKMEM_ADDR ;
                entry->c.ops = &snd_emu10k1_proc_ops_fx8010;
        }
        if (! snd_card_proc_new(emu->card, "fx8010_code", &entry)) {
                entry->content = SNDRV_INFO_CONTENT_DATA;
                entry->private_data = emu;
-               entry->mode = S_IFREG | S_IRUGO /*| S_IWUSR*/;
+               entry->mode = S_IFREG | 0444 /*| S_IWUSR*/;
                entry->size = emu->audigy ? A_TOTAL_SIZE_CODE : TOTAL_SIZE_CODE;
                entry->c.ops = &snd_emu10k1_proc_ops_fx8010;
        }
        if (! snd_card_proc_new(emu->card, "fx8010_acode", &entry)) {
                entry->content = SNDRV_INFO_CONTENT_TEXT;
                entry->private_data = emu;
-               entry->mode = S_IFREG | S_IRUGO /*| S_IWUSR*/;
+               entry->mode = S_IFREG | 0444 /*| S_IWUSR*/;
                entry->c.text.read = snd_emu10k1_proc_acode_read;
        }
        return 0;
 
 
        snd_info_set_text_ops(entry, per_pin, print_eld_info);
        entry->c.text.write = write_eld_info;
-       entry->mode |= S_IWUSR;
+       entry->mode |= 0200;
        per_pin->proc_entry = entry;
 
        return 0;
 
        struct snd_info_entry *entry;
        if (! snd_card_proc_new(ice->card, "wm_codec", &entry)) {
                snd_info_set_text_ops(entry, ice, wm_proc_regs_read);
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->c.text.write = wm_proc_regs_write;
        }
 }
 
        struct snd_info_entry *entry;
        if (!snd_card_proc_new(ice->card, "wm_codec", &entry)) {
                snd_info_set_text_ops(entry, ice, wm_proc_regs_read);
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->c.text.write = wm_proc_regs_write;
        }
 }
 
                snd_info_set_text_ops(entry, chip, lola_proc_codec_read);
        if (!snd_card_proc_new(chip->card, "codec_rw", &entry)) {
                snd_info_set_text_ops(entry, chip, lola_proc_codec_rw_read);
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
                entry->c.text.write = lola_proc_codec_rw_write;
        }
        if (!snd_card_proc_new(chip->card, "regs", &entry))
 
            !snd_card_proc_new(chip->card, "gpio", &entry)) {
                snd_info_set_text_ops(entry, chip, pcxhr_proc_gpio_read);
                entry->c.text.write = pcxhr_proc_gpo_write;
-               entry->mode |= S_IWUSR;
+               entry->mode |= 0200;
        }
        if (!snd_card_proc_new(chip->card, "ltc", &entry))
                snd_info_set_text_ops(entry, chip, pcxhr_proc_ltc);
 
        return cs43130_show_ac(dev, buf, HP_RIGHT);
 }
 
-static DEVICE_ATTR(hpload_dc_l, S_IRUGO, cs43130_show_dc_l, NULL);
-static DEVICE_ATTR(hpload_dc_r, S_IRUGO, cs43130_show_dc_r, NULL);
-static DEVICE_ATTR(hpload_ac_l, S_IRUGO, cs43130_show_ac_l, NULL);
-static DEVICE_ATTR(hpload_ac_r, S_IRUGO, cs43130_show_ac_r, NULL);
+static DEVICE_ATTR(hpload_dc_l, 0444, cs43130_show_dc_l, NULL);
+static DEVICE_ATTR(hpload_dc_r, 0444, cs43130_show_dc_r, NULL);
+static DEVICE_ATTR(hpload_ac_l, 0444, cs43130_show_ac_l, NULL);
+static DEVICE_ATTR(hpload_ac_r, 0444, cs43130_show_ac_r, NULL);
 
 static struct reg_sequence hp_en_cal_seq[] = {
        {CS43130_INT_MASK_4, CS43130_INT_MASK_ALL},
 
        if (!root)
                goto err;
 
-       if (!debugfs_create_bool("booted", S_IRUGO, root, &dsp->booted))
+       if (!debugfs_create_bool("booted", 0444, root, &dsp->booted))
                goto err;
 
-       if (!debugfs_create_bool("running", S_IRUGO, root, &dsp->running))
+       if (!debugfs_create_bool("running", 0444, root, &dsp->running))
                goto err;
 
-       if (!debugfs_create_x32("fw_id", S_IRUGO, root, &dsp->fw_id))
+       if (!debugfs_create_x32("fw_id", 0444, root, &dsp->fw_id))
                goto err;
 
-       if (!debugfs_create_x32("fw_version", S_IRUGO, root,
-                               &dsp->fw_id_version))
+       if (!debugfs_create_x32("fw_version", 0444, root, &dsp->fw_id_version))
                goto err;
 
        for (i = 0; i < ARRAY_SIZE(wm_adsp_debugfs_fops); ++i) {
                if (!debugfs_create_file(wm_adsp_debugfs_fops[i].name,
-                                        S_IRUGO, root, dsp,
+                                        0444, root, dsp,
                                         &wm_adsp_debugfs_fops[i].fops))
                        goto err;
        }
 
        if (!ssi_dbg->dbg_dir)
                return -ENOMEM;
 
-       ssi_dbg->dbg_stats = debugfs_create_file("stats", S_IRUGO,
+       ssi_dbg->dbg_stats = debugfs_create_file("stats", 0444,
                                                 ssi_dbg->dbg_dir, ssi_dbg,
                                                 &fsl_ssi_stats_ops);
        if (!ssi_dbg->dbg_stats) {
 
                break;
        }
        return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit,
-                                name, S_IRUSR | S_IWUSR, dev);
+                                name, 0600, dev);
 }
  
 EXPORT_SYMBOL(register_sound_special_device);
 int register_sound_mixer(const struct file_operations *fops, int dev)
 {
        return sound_insert_unit(&chains[0], fops, dev, 0, 128,
-                                "mixer", S_IRUSR | S_IWUSR, NULL);
+                                "mixer", 0600, NULL);
 }
 
 EXPORT_SYMBOL(register_sound_mixer);
 int register_sound_dsp(const struct file_operations *fops, int dev)
 {
        return sound_insert_unit(&chains[3], fops, dev, 3, 131,
-                                "dsp", S_IWUSR | S_IRUSR, NULL);
+                                "dsp", 0600, NULL);
 }
 
 EXPORT_SYMBOL(register_sound_dsp);
 
 #ifdef DBRI_DEBUG
        if (!snd_card_proc_new(card, "debug", &entry)) {
                snd_info_set_text_ops(entry, dbri, dbri_debug_read);
-               entry->mode = S_IFREG | S_IRUGO;        /* Readable only. */
+               entry->mode = S_IFREG | 0444;   /* Readable only. */
        }
 #endif
 }