Openmoko Bug #2293: linux/andy-tracking: gps does not always honor power_on
Openmoko Public Trac
bugs at docs.openmoko.org
Thu Jun 4 22:03:45 CEST 2009
#2293: linux/andy-tracking: gps does not always honor power_on
-----------------------------+----------------------------------------------
Reporter: lindi | Owner: openmoko-kernel
Type: defect | Status: new
Priority: normal | Milestone:
Component: System Software | Version: unspecified
Severity: normal | Keywords: kernel gps power_on
Haspatch: 0 | Blockedby:
Estimated: | Patchreview:
Blocking: | Reproducible: always
-----------------------------+----------------------------------------------
Steps to reproduce:
1) echo 1 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973
-pm-gps.0/power_on
2) echo mem > /sys/power/state
3) cat /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973-pm-
gps.0/power_on
4) echo 1 > /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973
-pm-gps.0/power_on
5) cat /sys/class/i2c-adapter/i2c-0/0-0073/pcf50633-regltr.7/neo1973-pm-
gps.0/power_on
Expected results:
3) 1 or 0, both are ok to me
5) 1
Actual results:
3) 0
5) 0
More info:
6) I can start the GPS chip if I first write 0 to power_on and then write
1 there.
7) I am using andy-tracking 9ecc089861ab238e
8) I think the bug is that neo1973_gps.power_was_on is updated only in
power_gps_write() but gta01_pm_gps_suspend calls gps_pwron_set(0) directly
and bypasses this.
9) My understanding:
* cat power_on returns 0
* since gps_pwron_get returns 0
* since regulator_is_enabled(neo1973_gps.regulator[GTA02_GPS_REG_RF_3V])
returns 0
* echo 1 > power_on does not enable regulator
* since neo1973_gps.power_was_on is set
* => power_was_on state is wrong.
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/2293>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
More information about the openmoko-kernel
mailing list