diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/hypfs/inode.c | 6 | ||||
-rw-r--r-- | arch/s390/include/asm/jump_label.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/perf_event.h | 1 | ||||
-rw-r--r-- | arch/s390/include/asm/qeth.h | 7 | ||||
-rw-r--r-- | arch/s390/include/asm/socket.h | 4 | ||||
-rw-r--r-- | arch/s390/kernel/irq.c | 9 | ||||
-rw-r--r-- | arch/s390/kernel/process.c | 4 | ||||
-rw-r--r-- | arch/s390/kernel/smp.c | 6 |
8 files changed, 16 insertions, 23 deletions
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c index 8a2a887478cc..6a2cb560e968 100644 --- a/arch/s390/hypfs/inode.c +++ b/arch/s390/hypfs/inode.c | |||
@@ -293,11 +293,9 @@ static int hypfs_fill_super(struct super_block *sb, void *data, int silent) | |||
293 | return -ENOMEM; | 293 | return -ENOMEM; |
294 | root_inode->i_op = &simple_dir_inode_operations; | 294 | root_inode->i_op = &simple_dir_inode_operations; |
295 | root_inode->i_fop = &simple_dir_operations; | 295 | root_inode->i_fop = &simple_dir_operations; |
296 | sb->s_root = root_dentry = d_alloc_root(root_inode); | 296 | sb->s_root = root_dentry = d_make_root(root_inode); |
297 | if (!root_dentry) { | 297 | if (!root_dentry) |
298 | iput(root_inode); | ||
299 | return -ENOMEM; | 298 | return -ENOMEM; |
300 | } | ||
301 | if (MACHINE_IS_VM) | 299 | if (MACHINE_IS_VM) |
302 | rc = hypfs_vm_create_files(sb, root_dentry); | 300 | rc = hypfs_vm_create_files(sb, root_dentry); |
303 | else | 301 | else |
diff --git a/arch/s390/include/asm/jump_label.h b/arch/s390/include/asm/jump_label.h index 95a6cf2b5b67..6c32190dc73e 100644 --- a/arch/s390/include/asm/jump_label.h +++ b/arch/s390/include/asm/jump_label.h | |||
@@ -13,7 +13,7 @@ | |||
13 | #define ASM_ALIGN ".balign 4" | 13 | #define ASM_ALIGN ".balign 4" |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | static __always_inline bool arch_static_branch(struct jump_label_key *key) | 16 | static __always_inline bool arch_static_branch(struct static_key *key) |
17 | { | 17 | { |
18 | asm goto("0: brcl 0,0\n" | 18 | asm goto("0: brcl 0,0\n" |
19 | ".pushsection __jump_table, \"aw\"\n" | 19 | ".pushsection __jump_table, \"aw\"\n" |
diff --git a/arch/s390/include/asm/perf_event.h b/arch/s390/include/asm/perf_event.h index a75f168d2718..4eb444edbe49 100644 --- a/arch/s390/include/asm/perf_event.h +++ b/arch/s390/include/asm/perf_event.h | |||
@@ -6,4 +6,3 @@ | |||
6 | 6 | ||
7 | /* Empty, just to avoid compiling error */ | 7 | /* Empty, just to avoid compiling error */ |
8 | 8 | ||
9 | #define PERF_EVENT_INDEX_OFFSET 0 | ||
diff --git a/arch/s390/include/asm/qeth.h b/arch/s390/include/asm/qeth.h index 90efda0b137d..2c7c898c03e4 100644 --- a/arch/s390/include/asm/qeth.h +++ b/arch/s390/include/asm/qeth.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #define SIOC_QETH_ARP_FLUSH_CACHE (SIOCDEVPRIVATE + 4) | 20 | #define SIOC_QETH_ARP_FLUSH_CACHE (SIOCDEVPRIVATE + 4) |
21 | #define SIOC_QETH_ADP_SET_SNMP_CONTROL (SIOCDEVPRIVATE + 5) | 21 | #define SIOC_QETH_ADP_SET_SNMP_CONTROL (SIOCDEVPRIVATE + 5) |
22 | #define SIOC_QETH_GET_CARD_TYPE (SIOCDEVPRIVATE + 6) | 22 | #define SIOC_QETH_GET_CARD_TYPE (SIOCDEVPRIVATE + 6) |
23 | #define SIOC_QETH_QUERY_OAT (SIOCDEVPRIVATE + 7) | ||
23 | 24 | ||
24 | struct qeth_arp_cache_entry { | 25 | struct qeth_arp_cache_entry { |
25 | __u8 macaddr[6]; | 26 | __u8 macaddr[6]; |
@@ -107,4 +108,10 @@ struct qeth_arp_query_user_data { | |||
107 | char *entries; | 108 | char *entries; |
108 | } __attribute__((packed)); | 109 | } __attribute__((packed)); |
109 | 110 | ||
111 | struct qeth_query_oat_data { | ||
112 | __u32 command; | ||
113 | __u32 buffer_len; | ||
114 | __u32 response_len; | ||
115 | __u64 ptr; | ||
116 | }; | ||
110 | #endif /* __ASM_S390_QETH_IOCTL_H__ */ | 117 | #endif /* __ASM_S390_QETH_IOCTL_H__ */ |
diff --git a/arch/s390/include/asm/socket.h b/arch/s390/include/asm/socket.h index 67b5c1b14b51..c91b720965c0 100644 --- a/arch/s390/include/asm/socket.h +++ b/arch/s390/include/asm/socket.h | |||
@@ -72,5 +72,9 @@ | |||
72 | 72 | ||
73 | #define SO_WIFI_STATUS 41 | 73 | #define SO_WIFI_STATUS 41 |
74 | #define SCM_WIFI_STATUS SO_WIFI_STATUS | 74 | #define SCM_WIFI_STATUS SO_WIFI_STATUS |
75 | #define SO_PEEK_OFF 42 | ||
76 | |||
77 | /* Instruct lower device to use last 4-bytes of skb data as FCS */ | ||
78 | #define SO_NOFCS 43 | ||
75 | 79 | ||
76 | #endif /* _ASM_SOCKET_H */ | 80 | #endif /* _ASM_SOCKET_H */ |
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 7a97d57f7073..2429ecd68872 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c | |||
@@ -165,13 +165,6 @@ static inline int ext_hash(u16 code) | |||
165 | return (code + (code >> 9)) & 0xff; | 165 | return (code + (code >> 9)) & 0xff; |
166 | } | 166 | } |
167 | 167 | ||
168 | static void ext_int_hash_update(struct rcu_head *head) | ||
169 | { | ||
170 | struct ext_int_info *p = container_of(head, struct ext_int_info, rcu); | ||
171 | |||
172 | kfree(p); | ||
173 | } | ||
174 | |||
175 | int register_external_interrupt(u16 code, ext_int_handler_t handler) | 168 | int register_external_interrupt(u16 code, ext_int_handler_t handler) |
176 | { | 169 | { |
177 | struct ext_int_info *p; | 170 | struct ext_int_info *p; |
@@ -202,7 +195,7 @@ int unregister_external_interrupt(u16 code, ext_int_handler_t handler) | |||
202 | list_for_each_entry_rcu(p, &ext_int_hash[index], entry) | 195 | list_for_each_entry_rcu(p, &ext_int_hash[index], entry) |
203 | if (p->code == code && p->handler == handler) { | 196 | if (p->code == code && p->handler == handler) { |
204 | list_del_rcu(&p->entry); | 197 | list_del_rcu(&p->entry); |
205 | call_rcu(&p->rcu, ext_int_hash_update); | 198 | kfree_rcu(p, rcu); |
206 | } | 199 | } |
207 | spin_unlock_irqrestore(&ext_int_hash_lock, flags); | 200 | spin_unlock_irqrestore(&ext_int_hash_lock, flags); |
208 | return 0; | 201 | return 0; |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 78b3c149b8b6..3732e4c09cbe 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -92,9 +92,7 @@ void cpu_idle(void) | |||
92 | tick_nohz_idle_exit(); | 92 | tick_nohz_idle_exit(); |
93 | if (test_thread_flag(TIF_MCCK_PENDING)) | 93 | if (test_thread_flag(TIF_MCCK_PENDING)) |
94 | s390_handle_mcck(); | 94 | s390_handle_mcck(); |
95 | preempt_enable_no_resched(); | 95 | schedule_preempt_disabled(); |
96 | schedule(); | ||
97 | preempt_disable(); | ||
98 | } | 96 | } |
99 | } | 97 | } |
100 | 98 | ||
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index 64ebbcbb31ea..a8bf9994b086 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -714,12 +714,6 @@ static void __cpuinit smp_start_secondary(void *cpuvoid) | |||
714 | ipi_call_lock(); | 714 | ipi_call_lock(); |
715 | set_cpu_online(smp_processor_id(), true); | 715 | set_cpu_online(smp_processor_id(), true); |
716 | ipi_call_unlock(); | 716 | ipi_call_unlock(); |
717 | /* | ||
718 | * Wait until the cpu which brought this one up marked it | ||
719 | * active before enabling interrupts. | ||
720 | */ | ||
721 | while (!cpumask_test_cpu(smp_processor_id(), cpu_active_mask)) | ||
722 | cpu_relax(); | ||
723 | local_irq_enable(); | 717 | local_irq_enable(); |
724 | /* cpu_idle will call schedule for us */ | 718 | /* cpu_idle will call schedule for us */ |
725 | cpu_idle(); | 719 | cpu_idle(); |