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: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
a9a5250cc6
Коммит
386aa051fb
|
@ -120,7 +120,6 @@ struct zpci_dev {
|
||||||
|
|
||||||
struct dentry *debugfs_dev;
|
struct dentry *debugfs_dev;
|
||||||
struct dentry *debugfs_perf;
|
struct dentry *debugfs_perf;
|
||||||
struct dentry *debugfs_debug;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct pci_hp_callback_ops {
|
struct pci_hp_callback_ops {
|
||||||
|
|
|
@ -85,8 +85,6 @@ static struct intr_bucket *bucket;
|
||||||
/* Adapter local summary indicator */
|
/* Adapter local summary indicator */
|
||||||
static u8 *zpci_irq_si;
|
static u8 *zpci_irq_si;
|
||||||
|
|
||||||
static atomic_t irq_retries = ATOMIC_INIT(0);
|
|
||||||
|
|
||||||
/* I/O Map */
|
/* I/O Map */
|
||||||
static DEFINE_SPINLOCK(zpci_iomap_lock);
|
static DEFINE_SPINLOCK(zpci_iomap_lock);
|
||||||
static DECLARE_BITMAP(zpci_iomap, ZPCI_IOMAP_MAX_ENTRIES);
|
static DECLARE_BITMAP(zpci_iomap, ZPCI_IOMAP_MAX_ENTRIES);
|
||||||
|
@ -452,7 +450,6 @@ scan:
|
||||||
max = aisb_max;
|
max = aisb_max;
|
||||||
sbit = find_first_bit_left(bucket->aisb, max);
|
sbit = find_first_bit_left(bucket->aisb, max);
|
||||||
if (sbit != max) {
|
if (sbit != max) {
|
||||||
atomic_inc(&irq_retries);
|
|
||||||
rescan++;
|
rescan++;
|
||||||
goto scan;
|
goto scan;
|
||||||
}
|
}
|
||||||
|
@ -751,16 +748,6 @@ static void zpci_irq_exit(void)
|
||||||
kfree(bucket);
|
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,
|
static struct resource *zpci_alloc_bus_resource(unsigned long start, unsigned long size,
|
||||||
unsigned long flags, int domain)
|
unsigned long flags, int domain)
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,27 +115,6 @@ static const struct file_operations debugfs_pci_perf_fops = {
|
||||||
.release = single_release,
|
.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)
|
void zpci_debug_init_device(struct zpci_dev *zdev)
|
||||||
{
|
{
|
||||||
zdev->debugfs_dev = debugfs_create_dir(dev_name(&zdev->pdev->dev),
|
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);
|
&debugfs_pci_perf_fops);
|
||||||
if (IS_ERR(zdev->debugfs_perf))
|
if (IS_ERR(zdev->debugfs_perf))
|
||||||
zdev->debugfs_perf = NULL;
|
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)
|
void zpci_debug_exit_device(struct zpci_dev *zdev)
|
||||||
{
|
{
|
||||||
debugfs_remove(zdev->debugfs_perf);
|
debugfs_remove(zdev->debugfs_perf);
|
||||||
debugfs_remove(zdev->debugfs_debug);
|
|
||||||
debugfs_remove(zdev->debugfs_dev);
|
debugfs_remove(zdev->debugfs_dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче