aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/cio/chsc.c9
-rw-r--r--drivers/s390/cio/chsc.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c
index 65264a38057d..29826fdd47b8 100644
--- a/drivers/s390/cio/chsc.c
+++ b/drivers/s390/cio/chsc.c
@@ -27,7 +27,13 @@
27 27
28static void *sei_page; 28static void *sei_page;
29 29
30static int chsc_error_from_response(int response) 30/**
31 * chsc_error_from_response() - convert a chsc response to an error
32 * @response: chsc response code
33 *
34 * Returns an appropriate Linux error code for @response.
35 */
36int chsc_error_from_response(int response)
31{ 37{
32 switch (response) { 38 switch (response) {
33 case 0x0001: 39 case 0x0001:
@@ -45,6 +51,7 @@ static int chsc_error_from_response(int response)
45 return -EIO; 51 return -EIO;
46 } 52 }
47} 53}
54EXPORT_SYMBOL_GPL(chsc_error_from_response);
48 55
49struct chsc_ssd_area { 56struct chsc_ssd_area {
50 struct chsc_header request; 57 struct chsc_header request;
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h
index fb6c4d6c45b4..ba59bceace98 100644
--- a/drivers/s390/cio/chsc.h
+++ b/drivers/s390/cio/chsc.h
@@ -101,4 +101,6 @@ void chsc_chp_online(struct chp_id chpid);
101void chsc_chp_offline(struct chp_id chpid); 101void chsc_chp_offline(struct chp_id chpid);
102int chsc_get_channel_measurement_chars(struct channel_path *chp); 102int chsc_get_channel_measurement_chars(struct channel_path *chp);
103 103
104int chsc_error_from_response(int response);
105
104#endif 106#endif