Commit 386aa051 authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390/pci: remove per device debug attribute

The per-pci-device 'debug' attribute is ill defined. For each device
it prints the same information, the adapter interrupt bit vector for
irq numbers 0 & 1, the start of the global interrupt summary vector
and the global irq retries counter. Just remove the attribute and
the associated code.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent a9a5250c
......@@ -120,7 +120,6 @@ struct zpci_dev {
struct dentry *debugfs_dev;
struct dentry *debugfs_perf;
struct dentry *debugfs_debug;
};
struct pci_hp_callback_ops {
......
......@@ -85,8 +85,6 @@ static struct intr_bucket *bucket;
/* Adapter local summary indicator */
static u8 *zpci_irq_si;
static atomic_t irq_retries = ATOMIC_INIT(0);
/* I/O Map */
static DEFINE_SPINLOCK(zpci_iomap_lock);
static DECLARE_BITMAP(zpci_iomap, ZPCI_IOMAP_MAX_ENTRIES);
......@@ -452,7 +450,6 @@ static void zpci_irq_handler(void *dont, void *need)
max = aisb_max;
sbit = find_first_bit_left(bucket->aisb, max);
if (sbit != max) {
atomic_inc(&irq_retries);
rescan++;
goto scan;
}
......@@ -751,16 +748,6 @@ static void zpci_irq_exit(void)
kfree(bucket);
}
void zpci_debug_info(struct zpci_dev *zdev, struct seq_file *m)
{
if (!zdev)
return;
seq_printf(m, "global irq retries: %u\n", atomic_read(&irq_retries));
seq_printf(m, "aibv[0]:%016lx aibv[1]:%016lx aisb:%016lx\n",
get_imap(0)->aibv, get_imap(1)->aibv, *bucket->aisb);
}
static struct resource *zpci_alloc_bus_resource(unsigned long start, unsigned long size,
unsigned long flags, int domain)
{
......
......@@ -115,27 +115,6 @@ static const struct file_operations debugfs_pci_perf_fops = {
.release = single_release,
};
static int pci_debug_show(struct seq_file *m, void *v)
{
struct zpci_dev *zdev = m->private;
zpci_debug_info(zdev, m);
return 0;
}
static int pci_debug_seq_open(struct inode *inode, struct file *filp)
{
return single_open(filp, pci_debug_show,
file_inode(filp)->i_private);
}
static const struct file_operations debugfs_pci_debug_fops = {
.open = pci_debug_seq_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};
void zpci_debug_init_device(struct zpci_dev *zdev)
{
zdev->debugfs_dev = debugfs_create_dir(dev_name(&zdev->pdev->dev),
......@@ -149,19 +128,11 @@ void zpci_debug_init_device(struct zpci_dev *zdev)
&debugfs_pci_perf_fops);
if (IS_ERR(zdev->debugfs_perf))
zdev->debugfs_perf = NULL;
zdev->debugfs_debug = debugfs_create_file("debug",
S_IFREG | S_IRUGO | S_IWUSR,
zdev->debugfs_dev, zdev,
&debugfs_pci_debug_fops);
if (IS_ERR(zdev->debugfs_debug))
zdev->debugfs_debug = NULL;
}
void zpci_debug_exit_device(struct zpci_dev *zdev)
{
debugfs_remove(zdev->debugfs_perf);
debugfs_remove(zdev->debugfs_debug);
debugfs_remove(zdev->debugfs_dev);
}
......
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