aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2013-06-19 08:26:46 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-06-26 15:10:27 -0400
commit386aa051fb4b6298c23996e68b7c92f186e484b6 (patch)
treeedb3cef554b84278ba9c405a9f2ba1574d0638c1
parenta9a5250cc650b54623827386247b85ba2aeeecc7 (diff)
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>
-rw-r--r--arch/s390/include/asm/pci.h1
-rw-r--r--arch/s390/pci/pci.c13
-rw-r--r--arch/s390/pci/pci_debug.c29
3 files changed, 0 insertions, 43 deletions
diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h
index be41f4f885ce..6e577ba0e5da 100644
--- a/arch/s390/include/asm/pci.h
+++ b/arch/s390/include/asm/pci.h
@@ -120,7 +120,6 @@ struct zpci_dev {
120 120
121 struct dentry *debugfs_dev; 121 struct dentry *debugfs_dev;
122 struct dentry *debugfs_perf; 122 struct dentry *debugfs_perf;
123 struct dentry *debugfs_debug;
124}; 123};
125 124
126struct pci_hp_callback_ops { 125struct pci_hp_callback_ops {
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index 628769b91b97..51c3ca86bd05 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -85,8 +85,6 @@ static struct intr_bucket *bucket;
85/* Adapter local summary indicator */ 85/* Adapter local summary indicator */
86static u8 *zpci_irq_si; 86static u8 *zpci_irq_si;
87 87
88static atomic_t irq_retries = ATOMIC_INIT(0);
89
90/* I/O Map */ 88/* I/O Map */
91static DEFINE_SPINLOCK(zpci_iomap_lock); 89static DEFINE_SPINLOCK(zpci_iomap_lock);
92static DECLARE_BITMAP(zpci_iomap, ZPCI_IOMAP_MAX_ENTRIES); 90static DECLARE_BITMAP(zpci_iomap, ZPCI_IOMAP_MAX_ENTRIES);
@@ -452,7 +450,6 @@ scan:
452 max = aisb_max; 450 max = aisb_max;
453 sbit = find_first_bit_left(bucket->aisb, max); 451 sbit = find_first_bit_left(bucket->aisb, max);
454 if (sbit != max) { 452 if (sbit != max) {
455 atomic_inc(&irq_retries);
456 rescan++; 453 rescan++;
457 goto scan; 454 goto scan;
458 } 455 }
@@ -751,16 +748,6 @@ static void zpci_irq_exit(void)
751 kfree(bucket); 748 kfree(bucket);
752} 749}
753 750
754void zpci_debug_info(struct zpci_dev *zdev, struct seq_file *m)
755{
756 if (!zdev)
757 return;
758
759 seq_printf(m, "global irq retries: %u\n", atomic_read(&irq_retries));
760 seq_printf(m, "aibv[0]:%016lx aibv[1]:%016lx aisb:%016lx\n",
761 get_imap(0)->aibv, get_imap(1)->aibv, *bucket->aisb);
762}
763
764static struct resource *zpci_alloc_bus_resource(unsigned long start, unsigned long size, 751static struct resource *zpci_alloc_bus_resource(unsigned long start, unsigned long size,
765 unsigned long flags, int domain) 752 unsigned long flags, int domain)
766{ 753{
diff --git a/arch/s390/pci/pci_debug.c b/arch/s390/pci/pci_debug.c
index 771b82359af4..75c69b402e05 100644
--- a/arch/s390/pci/pci_debug.c
+++ b/arch/s390/pci/pci_debug.c
@@ -115,27 +115,6 @@ static const struct file_operations debugfs_pci_perf_fops = {
115 .release = single_release, 115 .release = single_release,
116}; 116};
117 117
118static int pci_debug_show(struct seq_file *m, void *v)
119{
120 struct zpci_dev *zdev = m->private;
121
122 zpci_debug_info(zdev, m);
123 return 0;
124}
125
126static int pci_debug_seq_open(struct inode *inode, struct file *filp)
127{
128 return single_open(filp, pci_debug_show,
129 file_inode(filp)->i_private);
130}
131
132static const struct file_operations debugfs_pci_debug_fops = {
133 .open = pci_debug_seq_open,
134 .read = seq_read,
135 .llseek = seq_lseek,
136 .release = single_release,
137};
138
139void zpci_debug_init_device(struct zpci_dev *zdev) 118void zpci_debug_init_device(struct zpci_dev *zdev)
140{ 119{
141 zdev->debugfs_dev = debugfs_create_dir(dev_name(&zdev->pdev->dev), 120 zdev->debugfs_dev = debugfs_create_dir(dev_name(&zdev->pdev->dev),
@@ -149,19 +128,11 @@ void zpci_debug_init_device(struct zpci_dev *zdev)
149 &debugfs_pci_perf_fops); 128 &debugfs_pci_perf_fops);
150 if (IS_ERR(zdev->debugfs_perf)) 129 if (IS_ERR(zdev->debugfs_perf))
151 zdev->debugfs_perf = NULL; 130 zdev->debugfs_perf = NULL;
152
153 zdev->debugfs_debug = debugfs_create_file("debug",
154 S_IFREG | S_IRUGO | S_IWUSR,
155 zdev->debugfs_dev, zdev,
156 &debugfs_pci_debug_fops);
157 if (IS_ERR(zdev->debugfs_debug))
158 zdev->debugfs_debug = NULL;
159} 131}
160 132
161void zpci_debug_exit_device(struct zpci_dev *zdev) 133void zpci_debug_exit_device(struct zpci_dev *zdev)
162{ 134{
163 debugfs_remove(zdev->debugfs_perf); 135 debugfs_remove(zdev->debugfs_perf);
164 debugfs_remove(zdev->debugfs_debug);
165 debugfs_remove(zdev->debugfs_dev); 136 debugfs_remove(zdev->debugfs_dev);
166} 137}
167 138