Add vendor flag capability to devinfo

This commit is contained in:
Denis Kenzior 2009-09-01 17:18:42 -05:00 committed by Denis Kenzior
parent 933f803967
commit c7d35dd039
6 changed files with 13 additions and 10 deletions

View File

@ -189,10 +189,12 @@ static gboolean at_devinfo_register(gpointer user_data)
return FALSE;
}
static int at_devinfo_probe(struct ofono_devinfo *info)
static int at_devinfo_probe(struct ofono_devinfo *info, int vendor, void *data)
{
/* There are no useful initializations we can do */
g_timeout_add(0, at_devinfo_register, info);
GAtChat *chat = data;
ofono_devinfo_set_data(info, chat);
g_idle_add(at_devinfo_register, info);
return 0;
}

View File

@ -370,9 +370,9 @@ static gboolean isi_devinfo_register(gpointer user)
return FALSE;
}
static int isi_devinfo_probe(struct ofono_devinfo *info)
static int isi_devinfo_probe(struct ofono_devinfo *info, int vendor, void *user)
{
GIsiModem *idx = ofono_devinfo_get_data(info);
GIsiModem *idx = user;
struct devinfo_data *data = g_try_new0(struct devinfo_data, 1);
if (!data)

View File

@ -149,7 +149,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
{
struct isi_data *isi = ofono_modem_get_data(modem);
ofono_devinfo_create(isi->modem, "isi", isi->idx);
ofono_devinfo_create(isi->modem, 0, "isi", isi->idx);
ofono_phonebook_create(isi->modem, "isi", isi->idx);
ofono_netreg_create(isi->modem, "isi", isi->idx);
ofono_voicecall_create(isi->modem, "isi", isi->idx);

View File

@ -35,7 +35,7 @@ typedef void (*ofono_devinfo_query_cb_t)(const struct ofono_error *error,
struct ofono_devinfo_driver {
const char *name;
int (*probe)(struct ofono_devinfo *info);
int (*probe)(struct ofono_devinfo *info, int vendor, void *data);
int (*remove)(struct ofono_devinfo *info);
void (*query_manufacturer)(struct ofono_devinfo *info,
ofono_devinfo_query_cb_t cb, void *data);
@ -51,6 +51,7 @@ int ofono_devinfo_driver_register(const struct ofono_devinfo_driver *d);
void ofono_devinfo_driver_unregister(const struct ofono_devinfo_driver *d);
struct ofono_devinfo *ofono_devinfo_create(struct ofono_modem *modem,
int vendor,
const char *driver,
void *data);
void ofono_devinfo_register(struct ofono_devinfo *info);

View File

@ -509,7 +509,7 @@ static int generic_at_populate(struct ofono_modem *modem)
GAtChat *chat = d->chat;
struct ofono_message_waiting *mw;
ofono_devinfo_create(modem, "generic_at", chat);
ofono_devinfo_create(modem, 0, "generic_at", chat);
ofono_ussd_create(modem, "generic_at", chat);
ofono_sim_create(modem, "generic_at", chat);
ofono_call_forwarding_create(modem, 0, "generic_at", chat);

View File

@ -824,6 +824,7 @@ static void devinfo_remove(struct ofono_atom *atom)
}
struct ofono_devinfo *ofono_devinfo_create(struct ofono_modem *modem,
int vendor,
const char *driver,
void *data)
{
@ -834,7 +835,6 @@ struct ofono_devinfo *ofono_devinfo_create(struct ofono_modem *modem,
info->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_DEVINFO,
devinfo_remove, info);
info->driver_data = data;
for (l = g_devinfo_drivers; l; l = l->next) {
const struct ofono_devinfo_driver *drv = l->data;
@ -842,7 +842,7 @@ struct ofono_devinfo *ofono_devinfo_create(struct ofono_modem *modem,
if (g_strcmp0(drv->name, driver))
continue;
if (drv->probe(info) < 0)
if (drv->probe(info, vendor, data) < 0)
continue;
info->driver = drv;