Re: [PATCH v2 07/10] battery: Add Battery to device
flat view
From: Andrzej Kaczmarek <hidden>
Date: 2012-09-14 16:15:55
Hi Chen, On Thu, Sep 13, 2012 at 3:03 PM, [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Chen Ganir <redacted> Add/Remove battery from device --- profiles/battery/battery.c | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/profiles/battery/battery.c b/profiles/battery/battery.c index c368768..3a2e604 100644 --- a/profiles/battery/battery.c +++ b/profiles/battery/battery.c@@ -49,6 +49,7 @@ struct battery { static GSList *servers; struct characteristic { + struct btd_battery *devbatt; /* device_battery pointer */ struct gatt_char attr; /* Characteristic */ struct battery *batt; /* Parent Battery Service */ GSList *desc; /* Descriptors */@@ -79,6 +80,8 @@ static void char_free(gpointer user_data) g_slist_free_full(c->desc, g_free); + btd_device_remove_battery(c->devbatt); + g_free(c); }@@ -228,6 +231,8 @@ static void configure_battery_cb(GSList *characteristics, guint8 status, gatt_find_info(batt->attrib, start, end, discover_desc_cb, ch); + + ch->devbatt = btd_device_add_battery(ch->batt->dev);
This should be done before starting characteristics discovery as otherwise Battery won't be registered in case characteristics has no descriptors (e.g. most devices which do not support notifications for Battery Level and have only one battery).
}
}
}BR, Andrzej