Move adb_main to its own file.

Change-Id: Ia5150e1ef8be5a8f2d2da0fdca9383e22218f4ac
diff --git a/minadbd/Android.mk b/minadbd/Android.mk
index fecce87..0cba0c5 100644
--- a/minadbd/Android.mk
+++ b/minadbd/Android.mk
@@ -12,6 +12,7 @@
 
 LOCAL_SRC_FILES := \
 	adb.c \
+	adb_main.c \
 	fuse_adb_provider.c \
 	sockets.c \
 	services.c \
diff --git a/minadbd/adb.c b/minadbd/adb.c
index 0ac16e4..5f9cfdf 100644
--- a/minadbd/adb.c
+++ b/minadbd/adb.c
@@ -370,33 +370,3 @@
 
     put_apacket(p);
 }
-
-static void adb_cleanup(void)
-{
-    usb_cleanup();
-}
-
-int adb_main()
-{
-    atexit(adb_cleanup);
-#if !defined(_WIN32)
-    // No SIGCHLD. Let the service subproc handle its children.
-    signal(SIGPIPE, SIG_IGN);
-#endif
-
-    init_transport_registration();
-
-    // The minimal version of adbd only uses USB.
-    if (access(USB_ADB_PATH, F_OK) == 0 || access(USB_FFS_ADB_EP0, F_OK) == 0) {
-        // listen on USB
-        usb_init();
-    }
-
-    D("Event loop starting\n");
-
-    fdevent_loop();
-
-    usb_cleanup();
-
-    return 0;
-}
diff --git a/minadbd/adb_main.c b/minadbd/adb_main.c
new file mode 100644
index 0000000..66d2702
--- /dev/null
+++ b/minadbd/adb_main.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define  TRACE_TAG   TRACE_ADB
+
+#include "adb.h"
+#include "sysdeps.h"
+
+int adb_main()
+{
+    atexit(usb_cleanup);
+
+    // No SIGCHLD. Let the service subproc handle its children.
+    signal(SIGPIPE, SIG_IGN);
+
+    init_transport_registration();
+    usb_init();
+
+    D("Event loop starting\n");
+    fdevent_loop();
+
+    return 0;
+}