forked from len0rd/rockbox
clean shutdown for idle timer and sleep timer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5814 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
05605866a6
commit
247fe6d698
3 changed files with 20 additions and 15 deletions
15
apps/misc.c
15
apps/misc.c
|
|
@ -35,6 +35,7 @@
|
||||||
#include "ata.h"
|
#include "ata.h"
|
||||||
#include "kernel.h"
|
#include "kernel.h"
|
||||||
#include "power.h"
|
#include "power.h"
|
||||||
|
#include "powermgmt.h"
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#ifdef HAVE_MMC
|
#ifdef HAVE_MMC
|
||||||
#include "ata_mmc.h"
|
#include "ata_mmc.h"
|
||||||
|
|
@ -232,19 +233,7 @@ bool clean_shutdown(void)
|
||||||
{
|
{
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
splash(0, true, str(LANG_SHUTTINGDOWN));
|
splash(0, true, str(LANG_SHUTTINGDOWN));
|
||||||
mpeg_stop();
|
shutdown_hw();
|
||||||
ata_flush();
|
|
||||||
ata_spindown(1);
|
|
||||||
while(ata_disk_is_active())
|
|
||||||
sleep(HZ/10);
|
|
||||||
|
|
||||||
mp3_shutdown();
|
|
||||||
#if CONFIG_KEYPAD == ONDIO_PAD
|
|
||||||
backlight_off();
|
|
||||||
sleep(1);
|
|
||||||
lcd_set_contrast(0);
|
|
||||||
#endif
|
|
||||||
power_off();
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -120,5 +120,6 @@ void set_sleep_timer(int seconds);
|
||||||
int get_sleep_timer(void);
|
int get_sleep_timer(void);
|
||||||
void set_car_adapter_mode(bool setting);
|
void set_car_adapter_mode(bool setting);
|
||||||
void reset_poweroff_timer(void);
|
void reset_poweroff_timer(void);
|
||||||
|
void shutdown_hw(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -351,7 +351,7 @@ static void handle_auto_poweroff(void)
|
||||||
TIME_AFTER(current_tick, last_disk_activity + timeout) &&
|
TIME_AFTER(current_tick, last_disk_activity + timeout) &&
|
||||||
TIME_AFTER(current_tick, last_charge_time + timeout))
|
TIME_AFTER(current_tick, last_charge_time + timeout))
|
||||||
{
|
{
|
||||||
power_off();
|
shutdown_hw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -375,7 +375,7 @@ static void handle_auto_poweroff(void)
|
||||||
we cut the power */
|
we cut the power */
|
||||||
while(ata_disk_is_active())
|
while(ata_disk_is_active())
|
||||||
sleep(HZ);
|
sleep(HZ);
|
||||||
power_off();
|
shutdown_hw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -874,3 +874,18 @@ void powermgmt_init(void)
|
||||||
|
|
||||||
#endif /* SIMULATOR */
|
#endif /* SIMULATOR */
|
||||||
|
|
||||||
|
void shutdown_hw(void) {
|
||||||
|
mpeg_stop();
|
||||||
|
ata_flush();
|
||||||
|
ata_spindown(1);
|
||||||
|
while(ata_disk_is_active())
|
||||||
|
sleep(HZ/10);
|
||||||
|
|
||||||
|
mp3_shutdown();
|
||||||
|
#if CONFIG_KEYPAD == ONDIO_PAD
|
||||||
|
backlight_off();
|
||||||
|
sleep(1);
|
||||||
|
lcd_set_contrast(0);
|
||||||
|
#endif
|
||||||
|
power_off();
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue