Subversion Repositories freemyipod

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
29 theseven 1
//
2
//
3
//    Copyright 2010 TheSeven
4
//
5
//
427 farthen 6
//    This file is part of emCORE.
29 theseven 7
//
427 farthen 8
//    emCORE is free software: you can redistribute it and/or
29 theseven 9
//    modify it under the terms of the GNU General Public License as
10
//    published by the Free Software Foundation, either version 2 of the
11
//    License, or (at your option) any later version.
12
//
427 farthen 13
//    emCORE is distributed in the hope that it will be useful,
29 theseven 14
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
//    See the GNU General Public License for more details.
17
//
18
//    You should have received a copy of the GNU General Public License along
427 farthen 19
//    with emCORE.  If not, see <http://www.gnu.org/licenses/>.
29 theseven 20
//
21
//
22
 
23
 
24
#include "global.h"
71 theseven 25
#include "storage.h"
423 theseven 26
#include "thread.h"
29 theseven 27
 
28
 
127 theseven 29
void shutdown(bool shutdownhw)
29 theseven 30
{
71 theseven 31
    DEBUGF("Shutting down...");
423 theseven 32
    thread_killlevel(USER_THREAD, false);
240 theseven 33
#ifdef HAVE_USB
34
    usb_exit();
35
#endif
71 theseven 36
#ifdef HAVE_STORAGE_FLUSH
37
    storage_flush();
422 theseven 38
    storage_sleepnow();
71 theseven 39
#endif
181 theseven 40
    if (shutdownhw)
41
    {
42
#ifdef HAVE_BACKLIGHT
43
        backlight_set_fade(0);
44
        backlight_on(false);
45
#endif
46
#ifdef HAVE_LCD_SHUTDOWN
47
        lcd_shutdown();
48
#endif
49
    }
307 theseven 50
#ifdef HAVE_LCD
51
    else displaylcd_sync();
52
#endif
29 theseven 53
}