static int ref_count = 0;
static GSList *card_list = 0;
static guint sco_watch = 0;
+static GSList *drivers = 0;
static void send_new_connection(const char *card, int fd)
{
{ }
};
+int ofono_handsfree_card_driver_register(
+ const struct ofono_handsfree_card_driver *d)
+{
+ DBG("driver: %p", d);
+
+ if (d->probe == NULL)
+ return -EINVAL;
+
+ drivers = g_slist_prepend(drivers, (void *) d);
+
+ return 0;
+}
+
+void ofono_handsfree_card_driver_unregister(
+ const struct ofono_handsfree_card_driver *d)
+{
+ DBG("driver: %p", d);
+
+ drivers = g_slist_remove(drivers, (void *) d);
+}
+
void ofono_handsfree_audio_ref(void)
{
ref_count += 1;