mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge branch 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull procfs updates from Al Viro:
"Christoph's proc_create_... cleanups series"
* 'hch.procfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (44 commits)
xfs, proc: hide unused xfs procfs helpers
isdn/gigaset: add back gigaset_procinfo assignment
proc: update SIZEOF_PDE_INLINE_NAME for the new pde fields
tty: replace ->proc_fops with ->proc_show
ide: replace ->proc_fops with ->proc_show
ide: remove ide_driver_proc_write
isdn: replace ->proc_fops with ->proc_show
atm: switch to proc_create_seq_private
atm: simplify procfs code
bluetooth: switch to proc_create_seq_data
netfilter/x_tables: switch to proc_create_seq_private
netfilter/xt_hashlimit: switch to proc_create_{seq,single}_data
neigh: switch to proc_create_seq_data
hostap: switch to proc_create_{seq,single}_data
bonding: switch to proc_create_seq_data
rtc/proc: switch to proc_create_single_data
drbd: switch to proc_create_single
resource: switch to proc_create_seq_data
staging/rtl8192u: simplify procfs code
jfs: simplify procfs code
...
This commit is contained in:
commit
cf626b0da7
266 changed files with 1229 additions and 6032 deletions
|
|
@ -1340,19 +1340,6 @@ static int capi20_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int capi20_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, capi20_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations capi20_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = capi20_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/*
|
||||
* /proc/capi/capi20ncci:
|
||||
* applid ncci
|
||||
|
|
@ -1373,23 +1360,10 @@ static int capi20ncci_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int capi20ncci_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, capi20ncci_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations capi20ncci_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = capi20ncci_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static void __init proc_init(void)
|
||||
{
|
||||
proc_create("capi/capi20", 0, NULL, &capi20_proc_fops);
|
||||
proc_create("capi/capi20ncci", 0, NULL, &capi20ncci_proc_fops);
|
||||
proc_create_single("capi/capi20", 0, NULL, capi20_proc_show);
|
||||
proc_create_single("capi/capi20ncci", 0, NULL, capi20ncci_proc_show);
|
||||
}
|
||||
|
||||
static void __exit proc_exit(void)
|
||||
|
|
|
|||
|
|
@ -2460,22 +2460,9 @@ static int capidrv_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int capidrv_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, capidrv_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations capidrv_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = capidrv_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static void __init proc_init(void)
|
||||
{
|
||||
proc_create("capi/capidrv", 0, NULL, &capidrv_proc_fops);
|
||||
proc_create_single("capi/capidrv", 0, NULL, capidrv_proc_show);
|
||||
}
|
||||
|
||||
static void __exit proc_exit(void)
|
||||
|
|
|
|||
|
|
@ -534,7 +534,8 @@ int attach_capi_ctr(struct capi_ctr *ctr)
|
|||
init_waitqueue_head(&ctr->state_wait_queue);
|
||||
|
||||
sprintf(ctr->procfn, "capi/controllers/%d", ctr->cnr);
|
||||
ctr->procent = proc_create_data(ctr->procfn, 0, NULL, ctr->proc_fops, ctr);
|
||||
ctr->procent = proc_create_single_data(ctr->procfn, 0, NULL,
|
||||
ctr->proc_show, ctr);
|
||||
|
||||
ncontrollers++;
|
||||
|
||||
|
|
|
|||
|
|
@ -108,32 +108,6 @@ static const struct seq_operations seq_contrstats_ops = {
|
|||
.show = contrstats_show,
|
||||
};
|
||||
|
||||
static int seq_controller_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return seq_open(file, &seq_controller_ops);
|
||||
}
|
||||
|
||||
static int seq_contrstats_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return seq_open(file, &seq_contrstats_ops);
|
||||
}
|
||||
|
||||
static const struct file_operations proc_controller_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = seq_controller_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
static const struct file_operations proc_contrstats_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = seq_contrstats_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
// /proc/capi/applications:
|
||||
// applid l3cnt dblkcnt dblklen #ncci recvqueuelen
|
||||
// /proc/capi/applstats:
|
||||
|
|
@ -216,34 +190,6 @@ static const struct seq_operations seq_applstats_ops = {
|
|||
.show = applstats_show,
|
||||
};
|
||||
|
||||
static int
|
||||
seq_applications_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return seq_open(file, &seq_applications_ops);
|
||||
}
|
||||
|
||||
static int
|
||||
seq_applstats_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return seq_open(file, &seq_applstats_ops);
|
||||
}
|
||||
|
||||
static const struct file_operations proc_applications_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = seq_applications_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
static const struct file_operations proc_applstats_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = seq_applstats_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
static void *capi_driver_start(struct seq_file *seq, loff_t *pos)
|
||||
|
|
@ -279,22 +225,6 @@ static const struct seq_operations seq_capi_driver_ops = {
|
|||
.show = capi_driver_show,
|
||||
};
|
||||
|
||||
static int
|
||||
seq_capi_driver_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
int err;
|
||||
err = seq_open(file, &seq_capi_driver_ops);
|
||||
return err;
|
||||
}
|
||||
|
||||
static const struct file_operations proc_driver_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = seq_capi_driver_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = seq_release,
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void __init
|
||||
|
|
@ -302,11 +232,11 @@ kcapi_proc_init(void)
|
|||
{
|
||||
proc_mkdir("capi", NULL);
|
||||
proc_mkdir("capi/controllers", NULL);
|
||||
proc_create("capi/controller", 0, NULL, &proc_controller_ops);
|
||||
proc_create("capi/contrstats", 0, NULL, &proc_contrstats_ops);
|
||||
proc_create("capi/applications", 0, NULL, &proc_applications_ops);
|
||||
proc_create("capi/applstats", 0, NULL, &proc_applstats_ops);
|
||||
proc_create("capi/driver", 0, NULL, &proc_driver_ops);
|
||||
proc_create_seq("capi/controller", 0, NULL, &seq_controller_ops);
|
||||
proc_create_seq("capi/contrstats", 0, NULL, &seq_contrstats_ops);
|
||||
proc_create_seq("capi/applications", 0, NULL, &seq_applications_ops);
|
||||
proc_create_seq("capi/applstats", 0, NULL, &seq_applstats_ops);
|
||||
proc_create_seq("capi/driver", 0, NULL, &seq_capi_driver_ops);
|
||||
}
|
||||
|
||||
void __exit
|
||||
|
|
|
|||
|
|
@ -2437,19 +2437,6 @@ static int gigaset_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gigaset_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, gigaset_proc_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
static const struct file_operations gigaset_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = gigaset_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/**
|
||||
* gigaset_isdn_regdev() - register device to LL
|
||||
* @cs: device descriptor structure.
|
||||
|
|
@ -2479,7 +2466,7 @@ int gigaset_isdn_regdev(struct cardstate *cs, const char *isdnid)
|
|||
iif->ctr.release_appl = gigaset_release_appl;
|
||||
iif->ctr.send_message = gigaset_send_message;
|
||||
iif->ctr.procinfo = gigaset_procinfo;
|
||||
iif->ctr.proc_fops = &gigaset_proc_fops;
|
||||
iif->ctr.proc_show = gigaset_proc_show,
|
||||
INIT_LIST_HEAD(&iif->appls);
|
||||
skb_queue_head_init(&iif->sendqueue);
|
||||
atomic_set(&iif->sendqlen, 0);
|
||||
|
|
|
|||
|
|
@ -556,7 +556,7 @@ u16 b1_send_message(struct capi_ctr *ctrl, struct sk_buff *skb);
|
|||
void b1_parse_version(avmctrl_info *card);
|
||||
irqreturn_t b1_interrupt(int interrupt, void *devptr);
|
||||
|
||||
extern const struct file_operations b1ctl_proc_fops;
|
||||
int b1_proc_show(struct seq_file *m, void *v);
|
||||
|
||||
avmcard_dmainfo *avmcard_dma_alloc(char *name, struct pci_dev *,
|
||||
long rsize, long ssize);
|
||||
|
|
@ -576,6 +576,6 @@ void b1dma_register_appl(struct capi_ctr *ctrl,
|
|||
capi_register_params *rp);
|
||||
void b1dma_release_appl(struct capi_ctr *ctrl, u16 appl);
|
||||
u16 b1dma_send_message(struct capi_ctr *ctrl, struct sk_buff *skb);
|
||||
extern const struct file_operations b1dmactl_proc_fops;
|
||||
int b1dma_proc_show(struct seq_file *m, void *v);
|
||||
|
||||
#endif /* _AVMCARD_H_ */
|
||||
|
|
|
|||
|
|
@ -637,7 +637,7 @@ irqreturn_t b1_interrupt(int interrupt, void *devptr)
|
|||
}
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
static int b1ctl_proc_show(struct seq_file *m, void *v)
|
||||
int b1_proc_show(struct seq_file *m, void *v)
|
||||
{
|
||||
struct capi_ctr *ctrl = m->private;
|
||||
avmctrl_info *cinfo = (avmctrl_info *)(ctrl->driverdata);
|
||||
|
|
@ -699,20 +699,7 @@ static int b1ctl_proc_show(struct seq_file *m, void *v)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int b1ctl_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, b1ctl_proc_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
const struct file_operations b1ctl_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = b1ctl_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
EXPORT_SYMBOL(b1ctl_proc_fops);
|
||||
EXPORT_SYMBOL(b1_proc_show);
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
|
|
|
|||
|
|
@ -858,7 +858,7 @@ u16 b1dma_send_message(struct capi_ctr *ctrl, struct sk_buff *skb)
|
|||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
static int b1dmactl_proc_show(struct seq_file *m, void *v)
|
||||
int b1dma_proc_show(struct seq_file *m, void *v)
|
||||
{
|
||||
struct capi_ctr *ctrl = m->private;
|
||||
avmctrl_info *cinfo = (avmctrl_info *)(ctrl->driverdata);
|
||||
|
|
@ -941,20 +941,7 @@ static int b1dmactl_proc_show(struct seq_file *m, void *v)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int b1dmactl_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, b1dmactl_proc_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
const struct file_operations b1dmactl_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = b1dmactl_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
EXPORT_SYMBOL(b1dmactl_proc_fops);
|
||||
EXPORT_SYMBOL(b1dma_proc_show);
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ static int b1isa_probe(struct pci_dev *pdev)
|
|||
cinfo->capi_ctrl.load_firmware = b1_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = b1_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = b1isa_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1ctl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ static int b1pci_probe(struct capicardparams *p, struct pci_dev *pdev)
|
|||
cinfo->capi_ctrl.load_firmware = b1_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = b1_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = b1pci_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1ctl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
cinfo->capi_ctrl.owner = THIS_MODULE;
|
||||
|
||||
|
|
@ -251,7 +251,7 @@ static int b1pciv4_probe(struct capicardparams *p, struct pci_dev *pdev)
|
|||
cinfo->capi_ctrl.load_firmware = b1dma_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = b1dma_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = b1pciv4_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1dmactl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1dma_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ static int b1pcmcia_add_card(unsigned int port, unsigned irq,
|
|||
cinfo->capi_ctrl.load_firmware = b1_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = b1_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = b1pcmcia_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1ctl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -1127,19 +1127,6 @@ static int c4_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int c4_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, c4_proc_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
static const struct file_operations c4_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = c4_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
static int c4_add_card(struct capicardparams *p, struct pci_dev *dev,
|
||||
|
|
@ -1211,7 +1198,7 @@ static int c4_add_card(struct capicardparams *p, struct pci_dev *dev,
|
|||
cinfo->capi_ctrl.load_firmware = c4_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = c4_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = c4_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &c4_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = c4_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -430,7 +430,7 @@ static int t1isa_probe(struct pci_dev *pdev, int cardnr)
|
|||
cinfo->capi_ctrl.load_firmware = t1isa_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = t1isa_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = t1isa_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1ctl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ static int t1pci_add_card(struct capicardparams *p, struct pci_dev *pdev)
|
|||
cinfo->capi_ctrl.load_firmware = b1dma_load_firmware;
|
||||
cinfo->capi_ctrl.reset_ctr = b1dma_reset_ctr;
|
||||
cinfo->capi_ctrl.procinfo = t1pci_procinfo;
|
||||
cinfo->capi_ctrl.proc_fops = &b1dmactl_proc_fops;
|
||||
cinfo->capi_ctrl.proc_show = b1dma_proc_show;
|
||||
strcpy(cinfo->capi_ctrl.name, card->name);
|
||||
|
||||
retval = attach_capi_ctr(&cinfo->capi_ctrl);
|
||||
|
|
|
|||
|
|
@ -90,19 +90,6 @@ static int diva_ctl_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int diva_ctl_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, diva_ctl_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations diva_ctl_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = diva_ctl_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/*
|
||||
* set additional os settings in capi_ctr struct
|
||||
*/
|
||||
|
|
@ -111,7 +98,7 @@ void diva_os_set_controller_struct(struct capi_ctr *ctrl)
|
|||
ctrl->driver_name = DRIVERLNAME;
|
||||
ctrl->load_firmware = NULL;
|
||||
ctrl->reset_ctr = NULL;
|
||||
ctrl->proc_fops = &diva_ctl_proc_fops;
|
||||
ctrl->proc_show = diva_ctl_proc_show;
|
||||
ctrl->owner = THIS_MODULE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -78,26 +78,13 @@ static int divadidd_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int divadidd_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, divadidd_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations divadidd_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = divadidd_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static int __init create_proc(void)
|
||||
{
|
||||
proc_net_eicon = proc_mkdir("eicon", init_net.proc_net);
|
||||
|
||||
if (proc_net_eicon) {
|
||||
proc_didd = proc_create(DRIVERLNAME, S_IRUGO, proc_net_eicon,
|
||||
&divadidd_proc_fops);
|
||||
proc_didd = proc_create_single(DRIVERLNAME, S_IRUGO,
|
||||
proc_net_eicon, divadidd_proc_show);
|
||||
return (1);
|
||||
}
|
||||
return (0);
|
||||
|
|
|
|||
|
|
@ -101,23 +101,10 @@ static int um_idi_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int um_idi_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, um_idi_proc_show, NULL);
|
||||
}
|
||||
|
||||
static const struct file_operations um_idi_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = um_idi_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static int __init create_um_idi_proc(void)
|
||||
{
|
||||
um_idi_proc_entry = proc_create(DRIVERLNAME, S_IRUGO, proc_net_eicon,
|
||||
&um_idi_proc_fops);
|
||||
um_idi_proc_entry = proc_create_single(DRIVERLNAME, S_IRUGO,
|
||||
proc_net_eicon, um_idi_proc_show);
|
||||
if (!um_idi_proc_entry)
|
||||
return (0);
|
||||
return (1);
|
||||
|
|
|
|||
|
|
@ -467,19 +467,6 @@ static int hycapi_proc_show(struct seq_file *m, void *v)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int hycapi_proc_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, hycapi_proc_show, PDE_DATA(inode));
|
||||
}
|
||||
|
||||
static const struct file_operations hycapi_proc_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = hycapi_proc_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
/**************************************************************
|
||||
hycapi_load_firmware
|
||||
|
||||
|
|
@ -774,7 +761,7 @@ hycapi_capi_create(hysdn_card *card)
|
|||
ctrl->load_firmware = hycapi_load_firmware;
|
||||
ctrl->reset_ctr = hycapi_reset_ctr;
|
||||
ctrl->procinfo = hycapi_procinfo;
|
||||
ctrl->proc_fops = &hycapi_proc_fops;
|
||||
ctrl->proc_show = hycapi_proc_show;
|
||||
strcpy(ctrl->name, cinfo->cardname);
|
||||
ctrl->owner = THIS_MODULE;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue