From 82003c3e606905ca20c78a0ceca9f412e6f71474 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Wed, 4 Sep 2013 13:35:45 +0200 Subject: s390/irq: rework irq subclass handling Let's not add a function for every external interrupt subclass for which we need reference counting. Just have two register/unregister functions which have a subclass parameter: void irq_subclass_register(enum irq_subclass subclass); void irq_subclass_unregister(enum irq_subclass subclass); Signed-off-by: Heiko Carstens --- arch/s390/mm/fault.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/s390/mm') diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index f00aefb..7de4469 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -673,7 +673,7 @@ static int __init pfault_irq_init(void) rc = pfault_init() == 0 ? 0 : -EOPNOTSUPP; if (rc) goto out_pfault; - service_subclass_irq_register(); + irq_subclass_register(IRQ_SUBCLASS_SERVICE_SIGNAL); hotcpu_notifier(pfault_cpu_notify, 0); return 0; -- cgit v1.1 From 984e2a5975e538a6475f7453523896319a1cb597 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Fri, 6 Sep 2013 18:48:58 +0200 Subject: s390/mm: add __releases()/__acquires() annotations to gmap_alloc_table() Let sparse not incorrectly complain about unbalanced locking. Signed-off-by: Heiko Carstens --- arch/s390/mm/pgtable.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'arch/s390/mm') diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 6d16132..1224db4 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c @@ -245,7 +245,9 @@ EXPORT_SYMBOL_GPL(gmap_disable); * gmap_alloc_table is assumed to be called with mmap_sem held */ static int gmap_alloc_table(struct gmap *gmap, - unsigned long *table, unsigned long init) + unsigned long *table, unsigned long init) + __releases(&gmap->mm->page_table_lock) + __acquires(&gmap->mm->page_table_lock) { struct page *page; unsigned long *new; -- cgit v1.1 From 63df41d663fc27e96571bfea86d3f9ee81289e07 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Fri, 6 Sep 2013 19:10:48 +0200 Subject: s390: make various functions static, add declarations to header files Make various functions static, add declarations to header files to fix a couple of sparse findings. Signed-off-by: Heiko Carstens --- arch/s390/mm/maccess.c | 1 + arch/s390/mm/pgtable.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/s390/mm') diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c index 921fa54..d1e0e0c 100644 --- a/arch/s390/mm/maccess.c +++ b/arch/s390/mm/maccess.c @@ -14,6 +14,7 @@ #include #include #include +#include /* * This function writes to kernel memory bypassing DAT and possible diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 1224db4..4645faf 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c @@ -958,7 +958,7 @@ void page_table_free_rcu(struct mmu_gather *tlb, unsigned long *table) tlb_remove_table(tlb, table); } -void __tlb_remove_table(void *_table) +static void __tlb_remove_table(void *_table) { const unsigned long mask = (FRAG_MASK << 4) | FRAG_MASK; void *table = (void *)((unsigned long) _table & ~mask); -- cgit v1.1