mirror of git://git.sysmocom.de/ofono
Add vendor flag capability to devinfo
This commit is contained in:
parent
933f803967
commit
c7d35dd039
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue