diff --git a/src/device.c b/src/device.c
index 53866de..3675616 100644
--- a/src/device.c
+++ b/src/device.c
return TRUE;
}
-static void profile_remove(struct btd_profile *profile,
- struct btd_device *device)
+static void profile_remove(gpointer data, gpointer user_data)
{
+ struct btd_profile *profile = data;
+ struct btd_device *device = user_data;
+
profile->device_remove(profile, device);
}
if (device->connected)
do_disconnect(device);
- g_slist_foreach(device->profiles, (GFunc) profile_remove, device);
+ g_slist_foreach(device->profiles, profile_remove, device);
g_slist_free(device->profiles);
device->profiles = NULL;
if (remove_stored)
device_remove_stored(device);
- g_slist_foreach(device->profiles, (GFunc) profile_remove, device);
+ g_slist_foreach(device->profiles, profile_remove, device);
g_slist_free(device->profiles);
device->profiles = NULL;