Skip to content

Commit

Permalink
[PATCH] s390: remove redundant and useless code in qeth
Browse files Browse the repository at this point in the history
[patch 3/3] s390: remove redundant and useless code in qeth

From: Frank Pavlic <[email protected]>
	- remove redundant and useless code in qeth for
	  procfs operations.
	- update Revision numbers
Signed-off-by: Frank Pavlic <[email protected]>

diffstat:
 qeth_main.c |    6 -
 qeth_mpc.c  |    2
 qeth_mpc.h  |    2
 qeth_proc.c |  250 ++++++------------------------------------------------------
 qeth_sys.c  |    4
 qeth_tso.h  |    4
 6 files changed, 38 insertions(+), 230 deletions(-)
Signed-off-by: Jeff Garzik <[email protected]>
  • Loading branch information
Frank Pavlic authored and jgarzik committed Dec 24, 2005
1 parent 4965e97 commit 3df3cc6
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 230 deletions.
6 changes: 3 additions & 3 deletions drivers/s390/net/qeth_main.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* linux/drivers/s390/net/qeth_main.c ($Revision: 1.246 $)
* linux/drivers/s390/net/qeth_main.c ($Revision: 1.251 $)
*
* Linux on zSeries OSA Express and HiperSockets support
*
Expand All @@ -12,7 +12,7 @@
* Frank Pavlic ([email protected]) and
* Thomas Spatzier <[email protected]>
*
* $Revision: 1.242 $ $Date: 2005/05/04 20:19:18 $
* $Revision: 1.251 $ $Date: 2005/05/04 20:19:18 $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -72,7 +72,7 @@
#include "qeth_eddp.h"
#include "qeth_tso.h"

#define VERSION_QETH_C "$Revision: 1.246 $"
#define VERSION_QETH_C "$Revision: 1.251 $"
static const char *version = "qeth S/390 OSA-Express driver";

/**
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/net/qeth_mpc.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <asm/cio.h>
#include "qeth_mpc.h"

const char *VERSION_QETH_MPC_C = "$Revision: 1.12 $";
const char *VERSION_QETH_MPC_C = "$Revision: 1.13 $";

unsigned char IDX_ACTIVATE_READ[]={
0x00,0x00,0x80,0x00, 0x00,0x00,0x00,0x00,
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/net/qeth_mpc.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

#include <asm/qeth.h>

#define VERSION_QETH_MPC_H "$Revision: 1.44 $"
#define VERSION_QETH_MPC_H "$Revision: 1.46 $"

extern const char *VERSION_QETH_MPC_C;

Expand Down
250 changes: 29 additions & 221 deletions drivers/s390/net/qeth_proc.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* linux/drivers/s390/net/qeth_fs.c ($Revision: 1.13 $)
* linux/drivers/s390/net/qeth_fs.c ($Revision: 1.16 $)
*
* Linux on zSeries OSA Express and HiperSockets support
* This file contains code related to procfs.
Expand All @@ -21,7 +21,7 @@
#include "qeth_mpc.h"
#include "qeth_fs.h"

const char *VERSION_QETH_PROC_C = "$Revision: 1.13 $";
const char *VERSION_QETH_PROC_C = "$Revision: 1.16 $";

/***** /proc/qeth *****/
#define QETH_PROCFILE_NAME "qeth"
Expand All @@ -30,30 +30,26 @@ static struct proc_dir_entry *qeth_procfile;
static int
qeth_procfile_seq_match(struct device *dev, void *data)
{
return 1;
return(dev ? 1 : 0);
}

static void *
qeth_procfile_seq_start(struct seq_file *s, loff_t *offset)
{
struct device *dev;
loff_t nr;

struct device *dev = NULL;
loff_t nr = 0;
down_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);

nr = *offset;
if (nr == 0)
if (*offset == 0)
return SEQ_START_TOKEN;

dev = driver_find_device(&qeth_ccwgroup_driver.driver, NULL,
NULL, qeth_procfile_seq_match);

/* get card at pos *offset */
nr = *offset;
while (nr-- > 1 && dev)
while (1) {
dev = driver_find_device(&qeth_ccwgroup_driver.driver, dev,
NULL, qeth_procfile_seq_match);
return (void *) dev;
if (++nr == *offset)
break;
put_device(dev);
}
return dev;
}

static void
Expand All @@ -66,19 +62,14 @@ static void *
qeth_procfile_seq_next(struct seq_file *s, void *it, loff_t *offset)
{
struct device *prev, *next;

if (it == SEQ_START_TOKEN) {
next = driver_find_device(&qeth_ccwgroup_driver.driver,
NULL, NULL, qeth_procfile_seq_match);
if (next)
(*offset)++;
return (void *) next;
}
prev = (struct device *) it;

if (it == SEQ_START_TOKEN)
prev = NULL;
else
prev = (struct device *) it;
next = driver_find_device(&qeth_ccwgroup_driver.driver,
prev, NULL, qeth_procfile_seq_match);
if (next)
(*offset)++;
(*offset)++;
return (void *) next;
}

Expand All @@ -87,7 +78,7 @@ qeth_get_router_str(struct qeth_card *card, int ipv)
{
int routing_type = 0;

if (ipv == 4){
if (ipv == 4) {
routing_type = card->options.route4.type;
} else {
#ifdef CONFIG_QETH_IPV6
Expand Down Expand Up @@ -154,6 +145,7 @@ qeth_procfile_seq_show(struct seq_file *s, void *it)
card->qdio.in_buf_pool.buf_count);
else
seq_printf(s, " +++ LAN OFFLINE +++\n");
put_device(device);
}
return 0;
}
Expand Down Expand Up @@ -184,51 +176,16 @@ static struct file_operations qeth_procfile_fops = {
static struct proc_dir_entry *qeth_perf_procfile;

#ifdef CONFIG_QETH_PERF_STATS

static void *
qeth_perf_procfile_seq_start(struct seq_file *s, loff_t *offset)
{
struct device *dev = NULL;
int nr;

down_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
/* get card at pos *offset */
dev = driver_find_device(&qeth_ccwgroup_driver.driver, NULL, NULL,
qeth_procfile_seq_match);

/* get card at pos *offset */
nr = *offset;
while (nr-- > 1 && dev)
dev = driver_find_device(&qeth_ccwgroup_driver.driver, dev,
NULL, qeth_procfile_seq_match);
return (void *) dev;
}

static void
qeth_perf_procfile_seq_stop(struct seq_file *s, void* it)
{
up_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
}

static void *
qeth_perf_procfile_seq_next(struct seq_file *s, void *it, loff_t *offset)
{
struct device *prev, *next;

prev = (struct device *) it;
next = driver_find_device(&qeth_ccwgroup_driver.driver, prev,
NULL, qeth_procfile_seq_match);
if (next)
(*offset)++;
return (void *) next;
}

static int
qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
{
struct device *device;
struct qeth_card *card;


if (it == SEQ_START_TOKEN)
return 0;

device = (struct device *) it;
card = device->driver_data;
seq_printf(s, "For card with devnos %s/%s/%s (%s):\n",
Expand Down Expand Up @@ -295,13 +252,14 @@ qeth_perf_procfile_seq_show(struct seq_file *s, void *it)
card->perf_stats.outbound_do_qdio_time,
card->perf_stats.outbound_do_qdio_cnt
);
put_device(device);
return 0;
}

static struct seq_operations qeth_perf_procfile_seq_ops = {
.start = qeth_perf_procfile_seq_start,
.stop = qeth_perf_procfile_seq_stop,
.next = qeth_perf_procfile_seq_next,
.start = qeth_procfile_seq_start,
.stop = qeth_procfile_seq_stop,
.next = qeth_procfile_seq_next,
.show = qeth_perf_procfile_seq_show,
};

Expand All @@ -324,93 +282,6 @@ static struct file_operations qeth_perf_procfile_fops = {
#define qeth_perf_procfile_created 1
#endif /* CONFIG_QETH_PERF_STATS */

/***** /proc/qeth_ipa_takeover *****/
#define QETH_IPATO_PROCFILE_NAME "qeth_ipa_takeover"
static struct proc_dir_entry *qeth_ipato_procfile;

static void *
qeth_ipato_procfile_seq_start(struct seq_file *s, loff_t *offset)
{
struct device *dev;
loff_t nr;

down_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
/* TODO: finish this */
/*
* maybe SEQ_SATRT_TOKEN can be returned for offset 0
* output driver settings then;
* else output setting for respective card
*/

dev = driver_find_device(&qeth_ccwgroup_driver.driver, NULL, NULL,
qeth_procfile_seq_match);

/* get card at pos *offset */
nr = *offset;
while (nr-- > 1 && dev)
dev = driver_find_device(&qeth_ccwgroup_driver.driver, dev,
NULL, qeth_procfile_seq_match);
return (void *) dev;
}

static void
qeth_ipato_procfile_seq_stop(struct seq_file *s, void* it)
{
up_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
}

static void *
qeth_ipato_procfile_seq_next(struct seq_file *s, void *it, loff_t *offset)
{
struct device *prev, *next;

prev = (struct device *) it;
next = driver_find_device(&qeth_ccwgroup_driver.driver, prev,
NULL, qeth_procfile_seq_match);
if (next)
(*offset)++;
return (void *) next;
}

static int
qeth_ipato_procfile_seq_show(struct seq_file *s, void *it)
{
struct device *device;
struct qeth_card *card;

/* TODO: finish this */
/*
* maybe SEQ_SATRT_TOKEN can be returned for offset 0
* output driver settings then;
* else output setting for respective card
*/
device = (struct device *) it;
card = device->driver_data;

return 0;
}

static struct seq_operations qeth_ipato_procfile_seq_ops = {
.start = qeth_ipato_procfile_seq_start,
.stop = qeth_ipato_procfile_seq_stop,
.next = qeth_ipato_procfile_seq_next,
.show = qeth_ipato_procfile_seq_show,
};

static int
qeth_ipato_procfile_open(struct inode *inode, struct file *file)
{
return seq_open(file, &qeth_ipato_procfile_seq_ops);
}

static struct file_operations qeth_ipato_procfile_fops = {
.owner = THIS_MODULE,
.open = qeth_ipato_procfile_open,
.read = seq_read,
.llseek = seq_lseek,
.release = seq_release,
};

int __init
qeth_create_procfs_entries(void)
{
Expand All @@ -426,13 +297,7 @@ qeth_create_procfs_entries(void)
qeth_perf_procfile->proc_fops = &qeth_perf_procfile_fops;
#endif /* CONFIG_QETH_PERF_STATS */

qeth_ipato_procfile = create_proc_entry(QETH_IPATO_PROCFILE_NAME,
S_IFREG | 0444, NULL);
if (qeth_ipato_procfile)
qeth_ipato_procfile->proc_fops = &qeth_ipato_procfile_fops;

if (qeth_procfile &&
qeth_ipato_procfile &&
qeth_perf_procfile_created)
return 0;
else
Expand All @@ -446,62 +311,5 @@ qeth_remove_procfs_entries(void)
remove_proc_entry(QETH_PROCFILE_NAME, NULL);
if (qeth_perf_procfile)
remove_proc_entry(QETH_PERF_PROCFILE_NAME, NULL);
if (qeth_ipato_procfile)
remove_proc_entry(QETH_IPATO_PROCFILE_NAME, NULL);
}


/* ONLY FOR DEVELOPMENT! -> make it as module */
/*
static void
qeth_create_sysfs_entries(void)
{
struct device *dev;
down_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
list_for_each_entry(dev, &qeth_ccwgroup_driver.driver.devices,
driver_list)
qeth_create_device_attributes(dev);
up_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
}
static void
qeth_remove_sysfs_entries(void)
{
struct device *dev;
down_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
list_for_each_entry(dev, &qeth_ccwgroup_driver.driver.devices,
driver_list)
qeth_remove_device_attributes(dev);
up_read(&qeth_ccwgroup_driver.driver.bus->subsys.rwsem);
}
static int __init
qeth_fs_init(void)
{
printk(KERN_INFO "qeth_fs_init\n");
qeth_create_procfs_entries();
qeth_create_sysfs_entries();
return 0;
}
static void __exit
qeth_fs_exit(void)
{
printk(KERN_INFO "qeth_fs_exit\n");
qeth_remove_procfs_entries();
qeth_remove_sysfs_entries();
}
module_init(qeth_fs_init);
module_exit(qeth_fs_exit);
MODULE_LICENSE("GPL");
*/
Loading

0 comments on commit 3df3cc6

Please sign in to comment.