s390/qdio: consolidate thinint init/exit
authorJulian Wiedmann <jwi@linux.ibm.com>
Thu, 2 Apr 2020 09:37:50 +0000 (11:37 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 28 Apr 2020 11:49:47 +0000 (13:49 +0200)
Wrap the init/exit steps for thinint into a single helper that follows
the established naming scheme.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/cio/qdio.h
drivers/s390/cio/qdio_main.c
drivers/s390/cio/qdio_thinint.c

index a2afd7bc100bb960165cc485e30fd61de158ef83..291b63ccdaf71de7ceebd57e9373342b65f0b194 100644 (file)
@@ -369,10 +369,8 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr);
 void tiqdio_add_device(struct qdio_irq *irq_ptr);
 void tiqdio_remove_device(struct qdio_irq *irq_ptr);
 void tiqdio_inbound_processing(unsigned long q);
-int tiqdio_allocate_memory(void);
-void tiqdio_free_memory(void);
-int tiqdio_register_thinints(void);
-void tiqdio_unregister_thinints(void);
+int qdio_thinint_init(void);
+void qdio_thinint_exit(void);
 int test_nonshared_ind(struct qdio_irq *);
 
 /* prototypes for setup */
index 80cc811bd2e0e7324cf212d2982d306eafecae0e..2abb1d2a0629b56d2a715d9a3e2f42e26d5f97ab 100644 (file)
@@ -1861,16 +1861,11 @@ static int __init init_QDIO(void)
        rc = qdio_setup_init();
        if (rc)
                goto out_debug;
-       rc = tiqdio_allocate_memory();
+       rc = qdio_thinint_init();
        if (rc)
                goto out_cache;
-       rc = tiqdio_register_thinints();
-       if (rc)
-               goto out_ti;
        return 0;
 
-out_ti:
-       tiqdio_free_memory();
 out_cache:
        qdio_setup_exit();
 out_debug:
@@ -1880,8 +1875,7 @@ out_debug:
 
 static void __exit exit_QDIO(void)
 {
-       tiqdio_unregister_thinints();
-       tiqdio_free_memory();
+       qdio_thinint_exit();
        qdio_setup_exit();
        qdio_debug_exit();
 }
index 0faa0ad217326832729ab871dadfe3dac5a74bbf..7a440e4328cd6a51a270950a57cb784d11af9615 100644 (file)
@@ -197,34 +197,6 @@ out:
        return rc;
 }
 
-/* allocate non-shared indicators and shared indicator */
-int __init tiqdio_allocate_memory(void)
-{
-       q_indicators = kcalloc(TIQDIO_NR_INDICATORS,
-                              sizeof(struct indicator_t),
-                              GFP_KERNEL);
-       if (!q_indicators)
-               return -ENOMEM;
-       return 0;
-}
-
-void tiqdio_free_memory(void)
-{
-       kfree(q_indicators);
-}
-
-int __init tiqdio_register_thinints(void)
-{
-       int rc;
-
-       rc = register_adapter_interrupt(&tiqdio_airq);
-       if (rc) {
-               DBF_EVENT("RTI:%x", rc);
-               return rc;
-       }
-       return 0;
-}
-
 int qdio_establish_thinint(struct qdio_irq *irq_ptr)
 {
        int rc;
@@ -252,8 +224,27 @@ void qdio_shutdown_thinint(struct qdio_irq *irq_ptr)
        put_indicator(irq_ptr->dsci);
 }
 
-void __exit tiqdio_unregister_thinints(void)
+int __init qdio_thinint_init(void)
+{
+       int rc;
+
+       q_indicators = kcalloc(TIQDIO_NR_INDICATORS, sizeof(struct indicator_t),
+                              GFP_KERNEL);
+       if (!q_indicators)
+               return -ENOMEM;
+
+       rc = register_adapter_interrupt(&tiqdio_airq);
+       if (rc) {
+               DBF_EVENT("RTI:%x", rc);
+               kfree(q_indicators);
+               return rc;
+       }
+       return 0;
+}
+
+void __exit qdio_thinint_exit(void)
 {
        WARN_ON(!list_empty(&tiq_list));
        unregister_adapter_interrupt(&tiqdio_airq);
+       kfree(q_indicators);
 }