Hi Yang, > +static void phonesim_tcmd_notify(GAtResult *result, gpointer user_data) > +{ > + struct ofono_stk *stk = user_data; > + struct stk_data *data = ofono_stk_get_data(stk); > + GAtResultIter iter; > + int length; > + > + g_at_result_iter_init(&iter, result); > + > + if (!g_at_result_iter_next(&iter, "*TCMD:")) > + return; > + > + if (!g_at_result_iter_next_number(&iter, &length)) > + return; > + > + at_sim_fetch_command(data->chat, stk, length); > +} > + drivers/atmodem/stk.c: In function ‘phonesim_tcmd_notify’: drivers/atmodem/stk.c:282: error: passing argument 1 of ‘at_sim_fetch_command’ from incompatible pointer type drivers/atmodem/stk.c:92: note: expected ‘struct ofono_stk *’ but argument is of type ‘struct GAtChat *’ drivers/atmodem/stk.c:282: error: passing argument 2 of ‘at_sim_fetch_command’ makes integer from pointer without a cast drivers/atmodem/stk.c:92: note: expected ‘int’ but argument is of type ‘struct ofono_stk *’ drivers/atmodem/stk.c:282: error: too many arguments to function ‘at_sim_fetch_command’ I fixed this up for you since it was trivial, however please at least compile-check your patches ;) Regards, -Denis