summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/audio/android.c24
-rw-r--r--firmware/drivers/button.c21
2 files changed, 21 insertions, 24 deletions
diff --git a/firmware/drivers/audio/android.c b/firmware/drivers/audio/android.c
index f26087470b..7a5f34ea48 100644
--- a/firmware/drivers/audio/android.c
+++ b/firmware/drivers/audio/android.c
@@ -22,34 +22,12 @@
22 22
23#include "config.h" 23#include "config.h"
24#include "audiohw.h" 24#include "audiohw.h"
25#if defined(DX50) || defined(DX90)
26#include "system.h"
27#include "pcm_sw_volume.h"
28#endif
29 25
30#if defined(DX50) || defined(DX90)
31void audiohw_set_volume(int vol_l, int vol_r)
32{
33 int hw_volume;
34 hw_volume = MAX(vol_l, vol_r);
35
36#ifdef HAVE_SW_VOLUME_CONTROL
37 vol_l-=hw_volume;
38 vol_r-=hw_volume;
39 pcm_set_master_volume(vol_l, vol_r);
40#endif
41
42 extern void pcm_set_mixer_volume(int);
43 pcm_set_mixer_volume(hw_volume);
44
45}
46#else
47void audiohw_set_volume(int volume) 26void audiohw_set_volume(int volume)
48{ 27{
49 extern void pcm_set_mixer_volume(int); 28 extern void pcm_set_mixer_volume(int);
50 pcm_set_mixer_volume(volume); 29 pcm_set_mixer_volume(volume);
51} 30}
52#endif
53 31
54void audiohw_set_balance(int balance) 32void audiohw_set_balance(int balance)
55{ 33{
@@ -58,8 +36,6 @@ void audiohw_set_balance(int balance)
58 36
59void audiohw_close(void) 37void audiohw_close(void)
60{ 38{
61#if !defined(DX50) && !defined(DX90)
62 extern void pcm_shutdown(void); 39 extern void pcm_shutdown(void);
63 pcm_shutdown(); 40 pcm_shutdown();
64#endif
65} 41}
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index 718fb6a6da..d47a486b43 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -215,6 +215,27 @@ static void button_tick(void)
215 } 215 }
216 else /* repeat? */ 216 else /* repeat? */
217 { 217 {
218
219#if defined(DX50) || defined(DX90)
220 /*
221 Power button on these devices reports two distinct key codes, which are
222 triggerd by a short or medium duration press. Additionlly a long duration press
223 will trigger a hard reset, which is hardwired.
224
225 The time delta between medium and long duration press is not large enough to
226 register here as power off repeat. A hard reset is triggered before Rockbox
227 can power off.
228
229 To cirumvent the hard reset, Rockbox will shutdown on the first POWEROFF_BUTTON
230 repeat. POWEROFF_BUTTON is associated with the a medium duration press of the
231 power button.
232 */
233 if(btn & POWEROFF_BUTTON)
234 {
235 sys_poweroff();
236 }
237#endif
238
218 if ( repeat ) 239 if ( repeat )
219 { 240 {
220 if (!post) 241 if (!post)