server: change prototype of add_service()
[fw/openocd] / src / target / openrisc / jsp_server.c
index f28815df9fc0af33a9ff0f72e99ba1362770b103..54c9694243b7a5779171f0681f573c288c31db9e 100644 (file)
@@ -57,7 +57,7 @@ static int telnet_write(struct connection *connection, const void *data, int len
        return ERROR_SERVER_REMOTE_CLOSED;
 }
 
-int jsp_poll_read(void *priv)
+static int jsp_poll_read(void *priv)
 {
        struct jsp_service *jsp_service = (struct jsp_service *)priv;
        unsigned char out_buffer[10];
@@ -103,7 +103,7 @@ static int jsp_new_connection(struct connection *connection)
 
        int retval = target_register_timer_callback(&jsp_poll_read, 1,
                TARGET_TIMER_TYPE_PERIODIC, jsp_service);
-       if (ERROR_OK != retval)
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -187,31 +187,30 @@ static int jsp_connection_closed(struct connection *connection)
        struct jsp_service *jsp_service = connection->service->priv;
 
        int retval = target_unregister_timer_callback(&jsp_poll_read, jsp_service);
-       if (ERROR_OK != retval)
+       if (retval != ERROR_OK)
                return retval;
 
-       if (connection->priv) {
-               free(connection->priv);
-               connection->priv = NULL;
-       } else
-               LOG_ERROR("BUG: connection->priv == NULL");
-
+       free(connection->priv);
+       connection->priv = NULL;
        return ERROR_OK;
 }
 
+static const struct service_driver jsp_service_driver = {
+       .name = "jsp",
+       .new_connection_during_keep_alive_handler = NULL,
+       .new_connection_handler = jsp_new_connection,
+       .input_handler = jsp_input,
+       .connection_closed_handler = jsp_connection_closed,
+       .keep_client_alive_handler = NULL,
+};
+
 int jsp_init(struct or1k_jtag *jtag_info, char *banner)
 {
        struct jsp_service *jsp_service = malloc(sizeof(struct jsp_service));
        jsp_service->banner = banner;
        jsp_service->jtag_info = jtag_info;
 
-       return add_service("jsp",
-               jsp_port,
-               1,
-               jsp_new_connection,
-               jsp_input,
-               jsp_connection_closed,
-               jsp_service);
+       return add_service(&jsp_service_driver, jsp_port, 1, jsp_service);
 }
 
 COMMAND_HANDLER(handle_jsp_port_command)