From 5e2a1745fbc044c48c30cc6e90f5160184bd6a43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= Date: Tue, 18 Aug 2009 14:34:27 +0300 Subject: [PATCH] Phonet: add modem parameter to ISI client API --- drivers/isimodem/isimodem.c | 2 +- drivers/isimodem/isiphonebook.c | 3 ++- gisi/client.c | 4 ++-- gisi/client.h | 3 ++- gisi/pipe.c | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/isimodem/isimodem.c b/drivers/isimodem/isimodem.c index 8c6b40d4..c9b523db 100644 --- a/drivers/isimodem/isimodem.c +++ b/drivers/isimodem/isimodem.c @@ -418,7 +418,7 @@ static void netlink_status_cb(bool up, uint8_t addr, GIsiModem *idx, if (up) { if (!client) { - client = g_isi_client_create(PN_PHONE_INFO); + client = g_isi_client_create(idx, PN_PHONE_INFO); if (!client) return; } diff --git a/drivers/isimodem/isiphonebook.c b/drivers/isimodem/isiphonebook.c index 10e353a6..407d0662 100644 --- a/drivers/isimodem/isiphonebook.c +++ b/drivers/isimodem/isiphonebook.c @@ -390,7 +390,8 @@ static int isi_phonebook_probe(struct ofono_phonebook *pb) struct pb_data *pbd; if (!client) { - client = g_isi_client_create(PN_SIM); + /* FIXME: pass GIsiModem object */ + client = g_isi_client_create(NULL, PN_SIM); if (!client) return -ENOMEM; } diff --git a/gisi/client.c b/gisi/client.c index 3b86577b..8f425659 100644 --- a/gisi/client.c +++ b/gisi/client.c @@ -84,7 +84,7 @@ static inline GIsiClient *g_isi_cl(void *ptr) * @param resource PhoNet resource ID for the client * @return NULL on error (see errno), a GIsiClient pointer on success, */ -GIsiClient *g_isi_client_create(uint8_t resource) +GIsiClient *g_isi_client_create(GIsiModem *modem, uint8_t resource) { void *ptr; GIsiClient *cl; @@ -112,7 +112,7 @@ GIsiClient *g_isi_client_create(uint8_t resource) cl->next[254] = 0; cl->prev[255] = cl->next[255] = 255; - channel = phonet_new(NULL, resource); + channel = phonet_new(modem, resource); if (channel == NULL) { free(cl); return NULL; diff --git a/gisi/client.h b/gisi/client.h index 660b1ea7..8f9c7bfd 100644 --- a/gisi/client.h +++ b/gisi/client.h @@ -30,6 +30,7 @@ extern "C" { #include #include +#include struct _GIsiClient; typedef struct _GIsiClient GIsiClient; @@ -45,7 +46,7 @@ typedef void (*GIsiIndicationFunc) (GIsiClient *client, const void *restrict data, size_t len, uint16_t object, void *opaque); -GIsiClient *g_isi_client_create(uint8_t resource); +GIsiClient *g_isi_client_create(GIsiModem *modem, uint8_t resource); uint8_t g_isi_client_resource(GIsiClient *client); diff --git a/gisi/pipe.c b/gisi/pipe.c index 73116dc9..8f30ed3f 100644 --- a/gisi/pipe.c +++ b/gisi/pipe.c @@ -191,7 +191,7 @@ GIsiPipe *g_isi_pipe_create(uint16_t obj1, uint16_t obj2, }; GIsiPipe *pipe = g_malloc(sizeof(*pipe)); - pipe->client = g_isi_client_create(PN_PIPE); + pipe->client = g_isi_client_create(NULL, PN_PIPE); pipe->error = 0; pipe->enabling = false; pipe->enabled = false;