Commit d161a13f authored by Al Viro's avatar Al Viro

switch procfs to umode_t use

both proc_dir_entry ->mode and populating functions
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 587a1f16
...@@ -783,7 +783,7 @@ static const struct file_operations lparcfg_fops = { ...@@ -783,7 +783,7 @@ static const struct file_operations lparcfg_fops = {
static int __init lparcfg_init(void) static int __init lparcfg_init(void)
{ {
struct proc_dir_entry *ent; struct proc_dir_entry *ent;
mode_t mode = S_IRUSR | S_IRGRP | S_IROTH; umode_t mode = S_IRUSR | S_IRGRP | S_IROTH;
/* Allow writing if we have FW_FEATURE_SPLPAR */ /* Allow writing if we have FW_FEATURE_SPLPAR */
if (firmware_has_feature(FW_FEATURE_SPLPAR) && if (firmware_has_feature(FW_FEATURE_SPLPAR) &&
......
...@@ -873,7 +873,7 @@ DECLARE_FILE_FUNCTIONS(alarm); ...@@ -873,7 +873,7 @@ DECLARE_FILE_FUNCTIONS(alarm);
static const struct battery_file { static const struct battery_file {
struct file_operations ops; struct file_operations ops;
mode_t mode; umode_t mode;
const char *name; const char *name;
} acpi_battery_file[] = { } acpi_battery_file[] = {
FILE_DESCRIPTION_RO(info), FILE_DESCRIPTION_RO(info),
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
/* Structure used to define /proc entries */ /* Structure used to define /proc entries */
typedef struct _i2o_proc_entry_t { typedef struct _i2o_proc_entry_t {
char *name; /* entry name */ char *name; /* entry name */
mode_t mode; /* mode */ umode_t mode; /* mode */
const struct file_operations *fops; /* open function */ const struct file_operations *fops; /* open function */
} i2o_proc_entry; } i2o_proc_entry;
......
...@@ -324,7 +324,7 @@ static const struct file_operations gru_fops = { ...@@ -324,7 +324,7 @@ static const struct file_operations gru_fops = {
static struct proc_entry { static struct proc_entry {
char *name; char *name;
int mode; umode_t mode;
const struct file_operations *fops; const struct file_operations *fops;
struct proc_dir_entry *entry; struct proc_dir_entry *entry;
} proc_files[] = { } proc_files[] = {
......
...@@ -1053,7 +1053,7 @@ static const struct file_operations disp_proc_fops = { ...@@ -1053,7 +1053,7 @@ static const struct file_operations disp_proc_fops = {
}; };
static int static int
asus_proc_add(char *name, const struct file_operations *proc_fops, mode_t mode, asus_proc_add(char *name, const struct file_operations *proc_fops, umode_t mode,
struct acpi_device *device) struct acpi_device *device)
{ {
struct proc_dir_entry *proc; struct proc_dir_entry *proc;
...@@ -1072,7 +1072,7 @@ asus_proc_add(char *name, const struct file_operations *proc_fops, mode_t mode, ...@@ -1072,7 +1072,7 @@ asus_proc_add(char *name, const struct file_operations *proc_fops, mode_t mode,
static int asus_hotk_add_fs(struct acpi_device *device) static int asus_hotk_add_fs(struct acpi_device *device)
{ {
struct proc_dir_entry *proc; struct proc_dir_entry *proc;
mode_t mode; umode_t mode;
if ((asus_uid == 0) && (asus_gid == 0)) { if ((asus_uid == 0) && (asus_gid == 0)) {
mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP; mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP;
......
...@@ -297,7 +297,7 @@ struct ibm_init_struct { ...@@ -297,7 +297,7 @@ struct ibm_init_struct {
char param[32]; char param[32];
int (*init) (struct ibm_init_struct *); int (*init) (struct ibm_init_struct *);
mode_t base_procfs_mode; umode_t base_procfs_mode;
struct ibm_struct *data; struct ibm_struct *data;
}; };
...@@ -8542,7 +8542,7 @@ static int __init ibm_init(struct ibm_init_struct *iibm) ...@@ -8542,7 +8542,7 @@ static int __init ibm_init(struct ibm_init_struct *iibm)
"%s installed\n", ibm->name); "%s installed\n", ibm->name);
if (ibm->read) { if (ibm->read) {
mode_t mode = iibm->base_procfs_mode; umode_t mode = iibm->base_procfs_mode;
if (!mode) if (!mode)
mode = S_IRUGO; mode = S_IRUGO;
......
...@@ -2325,16 +2325,15 @@ static struct sg_proc_leaf sg_proc_leaf_arr[] = { ...@@ -2325,16 +2325,15 @@ static struct sg_proc_leaf sg_proc_leaf_arr[] = {
static int static int
sg_proc_init(void) sg_proc_init(void)
{ {
int k, mask;
int num_leaves = ARRAY_SIZE(sg_proc_leaf_arr); int num_leaves = ARRAY_SIZE(sg_proc_leaf_arr);
struct sg_proc_leaf * leaf; int k;
sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL); sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL);
if (!sg_proc_sgp) if (!sg_proc_sgp)
return 1; return 1;
for (k = 0; k < num_leaves; ++k) { for (k = 0; k < num_leaves; ++k) {
leaf = &sg_proc_leaf_arr[k]; struct sg_proc_leaf *leaf = &sg_proc_leaf_arr[k];
mask = leaf->fops->write ? S_IRUGO | S_IWUSR : S_IRUGO; umode_t mask = leaf->fops->write ? S_IRUGO | S_IWUSR : S_IRUGO;
proc_create(leaf->name, mask, sg_proc_sgp, leaf->fops); proc_create(leaf->name, mask, sg_proc_sgp, leaf->fops);
} }
return 0; return 0;
......
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
struct pid_entry { struct pid_entry {
char *name; char *name;
int len; int len;
mode_t mode; umode_t mode;
const struct inode_operations *iop; const struct inode_operations *iop;
const struct file_operations *fop; const struct file_operations *fop;
union proc_op op; union proc_op op;
......
...@@ -597,7 +597,7 @@ static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp ...@@ -597,7 +597,7 @@ static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp
static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent, static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent,
const char *name, const char *name,
mode_t mode, umode_t mode,
nlink_t nlink) nlink_t nlink)
{ {
struct proc_dir_entry *ent = NULL; struct proc_dir_entry *ent = NULL;
...@@ -659,7 +659,7 @@ struct proc_dir_entry *proc_symlink(const char *name, ...@@ -659,7 +659,7 @@ struct proc_dir_entry *proc_symlink(const char *name,
} }
EXPORT_SYMBOL(proc_symlink); EXPORT_SYMBOL(proc_symlink);
struct proc_dir_entry *proc_mkdir_mode(const char *name, mode_t mode, struct proc_dir_entry *proc_mkdir_mode(const char *name, umode_t mode,
struct proc_dir_entry *parent) struct proc_dir_entry *parent)
{ {
struct proc_dir_entry *ent; struct proc_dir_entry *ent;
...@@ -699,7 +699,7 @@ struct proc_dir_entry *proc_mkdir(const char *name, ...@@ -699,7 +699,7 @@ struct proc_dir_entry *proc_mkdir(const char *name,
} }
EXPORT_SYMBOL(proc_mkdir); EXPORT_SYMBOL(proc_mkdir);
struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode, struct proc_dir_entry *create_proc_entry(const char *name, umode_t mode,
struct proc_dir_entry *parent) struct proc_dir_entry *parent)
{ {
struct proc_dir_entry *ent; struct proc_dir_entry *ent;
...@@ -728,7 +728,7 @@ struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode, ...@@ -728,7 +728,7 @@ struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode,
} }
EXPORT_SYMBOL(create_proc_entry); EXPORT_SYMBOL(create_proc_entry);
struct proc_dir_entry *proc_create_data(const char *name, mode_t mode, struct proc_dir_entry *proc_create_data(const char *name, umode_t mode,
struct proc_dir_entry *parent, struct proc_dir_entry *parent,
const struct file_operations *proc_fops, const struct file_operations *proc_fops,
void *data) void *data)
......
...@@ -179,7 +179,7 @@ const struct file_operations proc_net_operations = { ...@@ -179,7 +179,7 @@ const struct file_operations proc_net_operations = {
struct proc_dir_entry *proc_net_fops_create(struct net *net, struct proc_dir_entry *proc_net_fops_create(struct net *net,
const char *name, mode_t mode, const struct file_operations *fops) const char *name, umode_t mode, const struct file_operations *fops)
{ {
return proc_create(name, mode, net->proc_net, fops); return proc_create(name, mode, net->proc_net, fops);
} }
......
...@@ -920,7 +920,7 @@ __IDE_PROC_DEVSET(_name, _min, _max, NULL, NULL) ...@@ -920,7 +920,7 @@ __IDE_PROC_DEVSET(_name, _min, _max, NULL, NULL)
typedef struct { typedef struct {
const char *name; const char *name;
mode_t mode; umode_t mode;
const struct file_operations *proc_fops; const struct file_operations *proc_fops;
} ide_proc_entry_t; } ide_proc_entry_t;
......
...@@ -50,7 +50,7 @@ typedef int (write_proc_t)(struct file *file, const char __user *buffer, ...@@ -50,7 +50,7 @@ typedef int (write_proc_t)(struct file *file, const char __user *buffer,
struct proc_dir_entry { struct proc_dir_entry {
unsigned int low_ino; unsigned int low_ino;
mode_t mode; umode_t mode;
nlink_t nlink; nlink_t nlink;
uid_t uid; uid_t uid;
gid_t gid; gid_t gid;
...@@ -106,9 +106,9 @@ extern void proc_root_init(void); ...@@ -106,9 +106,9 @@ extern void proc_root_init(void);
void proc_flush_task(struct task_struct *task); void proc_flush_task(struct task_struct *task);
extern struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode, extern struct proc_dir_entry *create_proc_entry(const char *name, umode_t mode,
struct proc_dir_entry *parent); struct proc_dir_entry *parent);
struct proc_dir_entry *proc_create_data(const char *name, mode_t mode, struct proc_dir_entry *proc_create_data(const char *name, umode_t mode,
struct proc_dir_entry *parent, struct proc_dir_entry *parent,
const struct file_operations *proc_fops, const struct file_operations *proc_fops,
void *data); void *data);
...@@ -146,17 +146,17 @@ extern void proc_device_tree_update_prop(struct proc_dir_entry *pde, ...@@ -146,17 +146,17 @@ extern void proc_device_tree_update_prop(struct proc_dir_entry *pde,
extern struct proc_dir_entry *proc_symlink(const char *, extern struct proc_dir_entry *proc_symlink(const char *,
struct proc_dir_entry *, const char *); struct proc_dir_entry *, const char *);
extern struct proc_dir_entry *proc_mkdir(const char *,struct proc_dir_entry *); extern struct proc_dir_entry *proc_mkdir(const char *,struct proc_dir_entry *);
extern struct proc_dir_entry *proc_mkdir_mode(const char *name, mode_t mode, extern struct proc_dir_entry *proc_mkdir_mode(const char *name, umode_t mode,
struct proc_dir_entry *parent); struct proc_dir_entry *parent);
static inline struct proc_dir_entry *proc_create(const char *name, mode_t mode, static inline struct proc_dir_entry *proc_create(const char *name, umode_t mode,
struct proc_dir_entry *parent, const struct file_operations *proc_fops) struct proc_dir_entry *parent, const struct file_operations *proc_fops)
{ {
return proc_create_data(name, mode, parent, proc_fops, NULL); return proc_create_data(name, mode, parent, proc_fops, NULL);
} }
static inline struct proc_dir_entry *create_proc_read_entry(const char *name, static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
mode_t mode, struct proc_dir_entry *base, umode_t mode, struct proc_dir_entry *base,
read_proc_t *read_proc, void * data) read_proc_t *read_proc, void * data)
{ {
struct proc_dir_entry *res=create_proc_entry(name,mode,base); struct proc_dir_entry *res=create_proc_entry(name,mode,base);
...@@ -168,7 +168,7 @@ static inline struct proc_dir_entry *create_proc_read_entry(const char *name, ...@@ -168,7 +168,7 @@ static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
} }
extern struct proc_dir_entry *proc_net_fops_create(struct net *net, extern struct proc_dir_entry *proc_net_fops_create(struct net *net,
const char *name, mode_t mode, const struct file_operations *fops); const char *name, umode_t mode, const struct file_operations *fops);
extern void proc_net_remove(struct net *net, const char *name); extern void proc_net_remove(struct net *net, const char *name);
extern struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name, extern struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name,
struct proc_dir_entry *parent); struct proc_dir_entry *parent);
...@@ -185,15 +185,15 @@ static inline void proc_flush_task(struct task_struct *task) ...@@ -185,15 +185,15 @@ static inline void proc_flush_task(struct task_struct *task)
} }
static inline struct proc_dir_entry *create_proc_entry(const char *name, static inline struct proc_dir_entry *create_proc_entry(const char *name,
mode_t mode, struct proc_dir_entry *parent) { return NULL; } umode_t mode, struct proc_dir_entry *parent) { return NULL; }
static inline struct proc_dir_entry *proc_create(const char *name, static inline struct proc_dir_entry *proc_create(const char *name,
mode_t mode, struct proc_dir_entry *parent, umode_t mode, struct proc_dir_entry *parent,
const struct file_operations *proc_fops) const struct file_operations *proc_fops)
{ {
return NULL; return NULL;
} }
static inline struct proc_dir_entry *proc_create_data(const char *name, static inline struct proc_dir_entry *proc_create_data(const char *name,
mode_t mode, struct proc_dir_entry *parent, umode_t mode, struct proc_dir_entry *parent,
const struct file_operations *proc_fops, void *data) const struct file_operations *proc_fops, void *data)
{ {
return NULL; return NULL;
...@@ -205,10 +205,10 @@ static inline struct proc_dir_entry *proc_symlink(const char *name, ...@@ -205,10 +205,10 @@ static inline struct proc_dir_entry *proc_symlink(const char *name,
static inline struct proc_dir_entry *proc_mkdir(const char *name, static inline struct proc_dir_entry *proc_mkdir(const char *name,
struct proc_dir_entry *parent) {return NULL;} struct proc_dir_entry *parent) {return NULL;}
static inline struct proc_dir_entry *proc_mkdir_mode(const char *name, static inline struct proc_dir_entry *proc_mkdir_mode(const char *name,
mode_t mode, struct proc_dir_entry *parent) { return NULL; } umode_t mode, struct proc_dir_entry *parent) { return NULL; }
static inline struct proc_dir_entry *create_proc_read_entry(const char *name, static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
mode_t mode, struct proc_dir_entry *base, umode_t mode, struct proc_dir_entry *base,
read_proc_t *read_proc, void * data) { return NULL; } read_proc_t *read_proc, void * data) { return NULL; }
struct tty_driver; struct tty_driver;
......
...@@ -72,7 +72,7 @@ struct snd_info_entry_ops { ...@@ -72,7 +72,7 @@ struct snd_info_entry_ops {
struct snd_info_entry { struct snd_info_entry {
const char *name; const char *name;
mode_t mode; umode_t mode;
long size; long size;
unsigned short content; unsigned short content;
union { union {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment