Add vendor flag capability to sim

This commit is contained in:
Denis Kenzior 2009-09-01 17:36:27 -05:00 committed by Denis Kenzior
parent 1fb9ecca46
commit aecf42646e
6 changed files with 12 additions and 9 deletions

View File

@ -440,8 +440,11 @@ static gboolean at_sim_register(gpointer user)
return FALSE; return FALSE;
} }
static int at_sim_probe(struct ofono_sim *sim) static int at_sim_probe(struct ofono_sim *sim, int vendor, void *data)
{ {
GAtChat *chat = data;
ofono_sim_set_data(sim, chat);
g_idle_add(at_sim_register, sim); g_idle_add(at_sim_register, sim);
return 0; return 0;

View File

@ -154,7 +154,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
ofono_netreg_create(isi->modem, 0, "isi", isi->idx); ofono_netreg_create(isi->modem, 0, "isi", isi->idx);
ofono_voicecall_create(isi->modem, "isi", isi->idx); ofono_voicecall_create(isi->modem, "isi", isi->idx);
ofono_sms_create(isi->modem, "isi", isi->idx); ofono_sms_create(isi->modem, "isi", isi->idx);
ofono_sim_create(isi->modem, "isi", isi->idx); ofono_sim_create(isi->modem, 0, "isi", isi->idx);
ofono_ssn_create(isi->modem, "isi", isi->idx); ofono_ssn_create(isi->modem, "isi", isi->idx);
ofono_ussd_create(isi->modem, "isi", isi->idx); ofono_ussd_create(isi->modem, "isi", isi->idx);
ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx); ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx);

View File

@ -96,9 +96,9 @@ static void isi_read_imsi(struct ofono_sim *sim,
{ {
} }
static int isi_sim_probe(struct ofono_sim *sim) static int isi_sim_probe(struct ofono_sim *sim, int vendor, void *user)
{ {
GIsiModem *idx = ofono_sim_get_data(sim); GIsiModem *idx = user;
struct sim_data *data = g_try_new0(struct sim_data, 1); struct sim_data *data = g_try_new0(struct sim_data, 1);
if (!data) if (!data)

View File

@ -66,7 +66,7 @@ typedef void (*ofono_sim_file_write_cb_t)(int ok, void *userdata);
struct ofono_sim_driver { struct ofono_sim_driver {
const char *name; const char *name;
int (*probe)(struct ofono_sim *sim); int (*probe)(struct ofono_sim *sim, int vendor, void *data);
int (*remove)(struct ofono_sim *sim); int (*remove)(struct ofono_sim *sim);
void (*read_file_info)(struct ofono_sim *sim, int fileid, void (*read_file_info)(struct ofono_sim *sim, int fileid,
ofono_sim_file_info_cb_t cb, void *data); ofono_sim_file_info_cb_t cb, void *data);
@ -95,7 +95,7 @@ struct ofono_sim_driver {
int ofono_sim_driver_register(const struct ofono_sim_driver *d); int ofono_sim_driver_register(const struct ofono_sim_driver *d);
void ofono_sim_driver_unregister(const struct ofono_sim_driver *d); void ofono_sim_driver_unregister(const struct ofono_sim_driver *d);
struct ofono_sim *ofono_sim_create(struct ofono_modem *modem, struct ofono_sim *ofono_sim_create(struct ofono_modem *modem, int vendor,
const char *driver, void *data); const char *driver, void *data);
void ofono_sim_register(struct ofono_sim *sim); void ofono_sim_register(struct ofono_sim *sim);

View File

@ -511,7 +511,7 @@ static int generic_at_populate(struct ofono_modem *modem)
ofono_devinfo_create(modem, 0, "generic_at", chat); ofono_devinfo_create(modem, 0, "generic_at", chat);
ofono_ussd_create(modem, "generic_at", chat); ofono_ussd_create(modem, "generic_at", chat);
ofono_sim_create(modem, "generic_at", chat); ofono_sim_create(modem, 0, "generic_at", chat);
ofono_call_forwarding_create(modem, 0, "generic_at", chat); ofono_call_forwarding_create(modem, 0, "generic_at", chat);
ofono_call_settings_create(modem, 0, "generic_at", chat); ofono_call_settings_create(modem, 0, "generic_at", chat);
ofono_netreg_create(modem, 0, "generic_at", chat); ofono_netreg_create(modem, 0, "generic_at", chat);

View File

@ -1299,6 +1299,7 @@ static void sim_remove(struct ofono_atom *atom)
} }
struct ofono_sim *ofono_sim_create(struct ofono_modem *modem, struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
int vendor,
const char *driver, const char *driver,
void *data) void *data)
{ {
@ -1313,7 +1314,6 @@ struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
if (sim == NULL) if (sim == NULL)
return NULL; return NULL;
sim->driver_data = data;
sim->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_SIM, sim->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_SIM,
sim_remove, sim); sim_remove, sim);
@ -1323,7 +1323,7 @@ struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
if (g_strcmp0(drv->name, driver)) if (g_strcmp0(drv->name, driver))
continue; continue;
if (drv->probe(sim) < 0) if (drv->probe(sim, vendor, data) < 0)
continue; continue;
sim->driver = drv; sim->driver = drv;