summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denis.kenzior@intel.com>2009-09-01 17:36:27 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-09-01 18:14:58 -0500
commitaecf42646e80e334b50c07f482079457b33b8860 (patch)
treea1e60a82e06510c1eefeaed8cc1fa1881135c295
parent1fb9ecca468a56e237047db01193582c6c7fb889 (diff)
downloadofono-aecf42646e80e334b50c07f482079457b33b8860.tar.bz2
Add vendor flag capability to sim
-rw-r--r--drivers/atmodem/sim.c5
-rw-r--r--drivers/isimodem/isimodem.c2
-rw-r--r--drivers/isimodem/sim.c4
-rw-r--r--include/sim.h4
-rw-r--r--plugins/generic_at.c2
-rw-r--r--src/sim.c4
6 files changed, 12 insertions, 9 deletions
diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c
index 27fef762..9f4577d9 100644
--- a/drivers/atmodem/sim.c
+++ b/drivers/atmodem/sim.c
@@ -440,8 +440,11 @@ static gboolean at_sim_register(gpointer user)
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);
return 0;
diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c
index 016b17ce..7b5bdacb 100644
--- a/drivers/isimodem/isimodem.c
+++ b/drivers/isimodem/isimodem.c
@@ -154,7 +154,7 @@ static int isi_modem_populate(struct ofono_modem *modem)
ofono_netreg_create(isi->modem, 0, "isi", isi->idx);
ofono_voicecall_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_ussd_create(isi->modem, "isi", isi->idx);
ofono_call_forwarding_create(isi->modem, 0, "isi", isi->idx);
diff --git a/drivers/isimodem/sim.c b/drivers/isimodem/sim.c
index e0e64252..1537ccf5 100644
--- a/drivers/isimodem/sim.c
+++ b/drivers/isimodem/sim.c
@@ -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);
if (!data)
diff --git a/include/sim.h b/include/sim.h
index b6a9b514..2cabd79f 100644
--- a/include/sim.h
+++ b/include/sim.h
@@ -66,7 +66,7 @@ typedef void (*ofono_sim_file_write_cb_t)(int ok, void *userdata);
struct ofono_sim_driver {
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);
void (*read_file_info)(struct ofono_sim *sim, int fileid,
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);
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);
void ofono_sim_register(struct ofono_sim *sim);
diff --git a/plugins/generic_at.c b/plugins/generic_at.c
index e69717af..7f30c3d3 100644
--- a/plugins/generic_at.c
+++ b/plugins/generic_at.c
@@ -511,7 +511,7 @@ static int generic_at_populate(struct ofono_modem *modem)
ofono_devinfo_create(modem, 0, "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_settings_create(modem, 0, "generic_at", chat);
ofono_netreg_create(modem, 0, "generic_at", chat);
diff --git a/src/sim.c b/src/sim.c
index 3d4be240..8ab7306d 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -1299,6 +1299,7 @@ static void sim_remove(struct ofono_atom *atom)
}
struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
+ int vendor,
const char *driver,
void *data)
{
@@ -1313,7 +1314,6 @@ struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
if (sim == NULL)
return NULL;
- sim->driver_data = data;
sim->atom = __ofono_modem_add_atom(modem, OFONO_ATOM_TYPE_SIM,
sim_remove, sim);
@@ -1323,7 +1323,7 @@ struct ofono_sim *ofono_sim_create(struct ofono_modem *modem,
if (g_strcmp0(drv->name, driver))
continue;
- if (drv->probe(sim) < 0)
+ if (drv->probe(sim, vendor, data) < 0)
continue;
sim->driver = drv;