All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] Simplify ofono_modem_set_powered() logic
@ 2010-11-16 20:49 Gustavo F. Padovan
  2010-11-16 20:49 ` [PATCH 2/4] Add ofono_modem_reset() Gustavo F. Padovan
  2010-11-17 14:30 ` [PATCH 1/4] Simplify ofono_modem_set_powered() logic Denis Kenzior
  0 siblings, 2 replies; 5+ messages in thread
From: Gustavo F. Padovan @ 2010-11-16 20:49 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 2315 bytes --]

---
 src/modem.c |   47 +++++++++++++++++++++++++----------------------
 1 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/modem.c b/src/modem.c
index 3776461..3fb6809 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -752,6 +752,7 @@ static GDBusSignalTable modem_signals[] = {
 void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
 {
 	DBusConnection *conn = ofono_dbus_get_connection();
+	dbus_bool_t dbus_powered = powered;
 
 	if (modem->timeout > 0) {
 		g_source_remove(modem->timeout);
@@ -771,32 +772,34 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
 
 	modem->powered_pending = powered;
 
-	if (modem->powered != powered) {
-		dbus_bool_t dbus_powered = powered;
-		modem->powered = powered;
+	if (modem->powered == powered)
+		goto out;
 
-		if (modem->driver == NULL) {
-			ofono_error("Calling ofono_modem_set_powered on a"
-					"modem with no driver is not valid, "
-					"please fix the modem driver.");
-			return;
-		}
+	modem->powered = powered;
 
-		ofono_dbus_signal_property_changed(conn, modem->path,
-						OFONO_MODEM_INTERFACE,
-						"Powered", DBUS_TYPE_BOOLEAN,
-						&dbus_powered);
+	if (modem->driver == NULL) {
+		ofono_error("Calling ofono_modem_set_powered on a"
+				"modem with no driver is not valid, "
+				"please fix the modem driver.");
+		return;
+	}
 
-		if (powered) {
-			modem_change_state(modem, MODEM_STATE_PRE_SIM);
+	ofono_dbus_signal_property_changed(conn, modem->path,
+					OFONO_MODEM_INTERFACE,
+					"Powered", DBUS_TYPE_BOOLEAN,
+					&dbus_powered);
 
-			/* Force SIM Ready for devies with no sim atom */
-			if (__ofono_modem_find_atom(modem,
-						OFONO_ATOM_TYPE_SIM) == NULL)
-				sim_state_watch(OFONO_SIM_STATE_READY, modem);
-		} else
-			modem_change_state(modem, MODEM_STATE_POWER_OFF);
-	}
+	if (powered) {
+		modem_change_state(modem, MODEM_STATE_PRE_SIM);
+
+		/* Force SIM Ready for devies with no sim atom */
+		if (__ofono_modem_find_atom(modem,
+					OFONO_ATOM_TYPE_SIM) == NULL)
+			sim_state_watch(OFONO_SIM_STATE_READY, modem);
+	} else
+		modem_change_state(modem, MODEM_STATE_POWER_OFF);
+
+out:
 
 	if (powering_down && powered == FALSE) {
 		modems_remaining -= 1;
-- 
1.7.3.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-11-17 14:30 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-16 20:49 [PATCH 1/4] Simplify ofono_modem_set_powered() logic Gustavo F. Padovan
2010-11-16 20:49 ` [PATCH 2/4] Add ofono_modem_reset() Gustavo F. Padovan
2010-11-16 20:49   ` [PATCH 3/4] phonesim: Add modem reset trigger Gustavo F. Padovan
2010-11-16 20:49     ` [PATCH 4/4] modem: add support to restore state when resetting the modem Gustavo F. Padovan
2010-11-17 14:30 ` [PATCH 1/4] Simplify ofono_modem_set_powered() logic Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.