rockbox/firmware/export
Amaury Pouly 1245c5fe61 Implement speaker enable/disable on jack (un)plug
The implementation is not very complicated but there are a few things worth
noting. There was a previous "speaker enable" setting but it was a boolean.
I decided to replace it with a choice setting that has 2 options (on, off)
if headphones cannot be detect on this target, or 3 options (on, off, auto)
if we can detect headphones. This will break the old setting on target that
cannot detect jack but it makes the code more uniform and avoid maintaining
two settings with more #ifdef. The third option (auto) uses the LANG_AUTO
text, which I think is clear enough (disable speaker on jack plug).
In order to avoid code duplication (both in apps and firmware), I decided to
keep the audiohw_enable_speaker function as-is: it takes a boolean and doesn't
care about the speaker policy. I introduced a new audio_enable_speaker that
takes directly the mode (which follows the setting encoding): 0=off, 1=on
and 2=auto. This way one calls audio_enable_speaker and it changes the speaker
once to reflect the request mode. The apps code then uses this function in the
places where it makes sense: on setting load, setting change and jack (un)plug
event.

Change-Id: I027873f698eb4bc365d7c02b515297806355d9e2
2017-02-04 17:22:08 +01:00
..
config Improve imx31 interrupt code for PMIC and GPIO 2017-01-29 19:07:55 -05:00
adc.h adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
aic3x.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
ak4537.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
akcodec.h
as3514.h as3514: document hardware setting based on as3514.c 2016-12-12 13:10:52 +01:00
as3525.h Move usb-s3c6400 register comments to usb-s3c6400.h 2011-12-13 04:21:06 +00:00
as3525v2.h as3525v2: use the new USB DesignWare driver 2016-08-15 02:56:23 +02:00
ascodec.h AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
at91sam9260.h
ata-defines.h Bulk convert all DOS line endings to UNIX. 2011-11-06 22:44:25 +00:00
ata-driver.h Add STORAGE_INIT_ATTR to some target-specific ATA functions. 2011-12-09 02:07:24 +00:00
ata.h iPod Classic: ATA SMART updates 2016-02-14 15:17:42 +01:00
ata_idle_notify.h events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
ata_mmc.h
audio.h Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
audiohw.h Document AUDIOHW_SETTING 2016-12-12 12:15:07 +01:00
audiohw_settings.h Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
backlight-sw-fading.h
backlight.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
bidi.h
bitswap.h
bootchart.h bootchart.h doesn't need _ansi.h, especially not in a relative path 2010-07-25 15:28:24 +00:00
button.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
config.h action.c must desist in calling set_cpu_frequency from a tick 2017-01-21 12:03:23 -05:00
config_caps.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
cpu.h Rockchip rk27xx port initial commit. This is still work in progress. 2011-05-30 21:10:37 +00:00
cs42l55.h iPod Classic: capture support for CS42L55 codec 2015-10-07 06:15:03 +02:00
cscodec.h New port: iPod Classic (also known as iPod 6G/6.5G/7G) 2011-01-02 23:16:27 +00:00
dac3550a.h Straighten out the mad twisted state of sound.c and related areas. 2013-04-15 12:02:05 -04:00
debug.h Hosted: Merge debugf() implementations. Cleanup debug.h. 2012-01-21 18:39:19 +01:00
df1704.h ma9: Slightly change df1704 driver API. 2013-11-05 09:59:45 +04:00
disk.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
dm320.h Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
ds2411.h
dsp-util.h Add rbcodecplatform.h and rbcodecconfig.h. 2012-05-03 14:49:35 +02:00
dummy_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
eeprom_24cxx.h
eeprom_settings.h
enc_base.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
events.h events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
fat.h Do some debug and preparatory work for ramcache and playlist 2017-01-17 14:35:36 -05:00
fmradio.h
fmradio_3wire.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
fmradio_i2c.h mark some functions as init functions (discarded after init() has run) 2010-05-27 12:00:29 +00:00
font.h fonts: Fix regression(s) caused by c23ce62. 2014-01-26 14:01:48 +01:00
gdb_api.h
general.h Simplify mpegplayer a bit and use array-based lists rather than linked lists for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them. 2010-05-17 12:34:05 +00:00
generic_i2c.h Apply FS #11423 - Use udelay in AMS driver for FM radio I2C 2010-06-21 21:41:07 +00:00
hangul.h
hd66789r.h
hosted_codec.h iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
hostfs.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
hwcompat.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
i2c-coldfire.h Fix more tabs 2010-01-03 10:27:43 +00:00
i2c-pp.h
i2c-rk27xx.h Rockchip rk27xx port initial commit. This is still work in progress. 2011-05-30 21:10:37 +00:00
i2c-s5l8700.h
i2c-s5l8702.h iPod Classic: HW initialization for RB 2016-05-25 12:23:47 +02:00
i2c.h imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences 2011-07-03 15:18:41 +00:00
i2s.h
iap.h iAP: lingo 1 (microphone) 2015-10-07 06:15:04 +02:00
ifp_usb_serial.h
imx31l.h Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead. 2011-02-02 17:43:32 +00:00
imx233-codec.h imx233: slightly rework 3D audio setting 2016-12-12 12:15:24 +01:00
imx233.h imx233: fix soc header for stmp3600 and stmp3700 2013-06-18 15:33:07 +02:00
ipod_remote_tuner.h iap: pass length and data pointer to iap_handlepkt functions, this prepares for iap large packet support. 2011-05-02 21:55:13 +00:00
isp1362.h
isp1583.h creative zvm isp1583 defines: move to isp1583.h 2011-12-31 18:44:32 +00:00
jz4740-codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
jz4740.h jz4740: a few minor fixes 2013-03-11 08:33:18 +01:00
jz_mxu.h
lcd-charcell.h Fix Player red and icons on mono displays. 2014-01-07 23:39:37 +01:00
lcd-remote.h put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
lcd.h lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
led.h
load_code.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
logdiskf.h logdiskf.h - fix wrong cpp conditionals 2012-10-22 22:36:11 +02:00
logf.h Don't add new message to logf when we dump it to file 2016-04-04 11:07:44 +02:00
ltv350qv.h
lv24020lp.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
m5636.h
m66591.h
mas35xx.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
mascodec.h FS#12378 : Removal of Archos HWCODEC unused code and data. Several large hardware-specific functions are kept for reference or future use. 2011-11-22 19:59:31 +00:00
mc13783.h Improve imx31 interrupt code for PMIC and GPIO 2017-01-29 19:07:55 -05:00
mcf5249.h
mcf5250.h
mi4-loader.h Move load_firmware() to separate file 2013-06-27 13:50:11 +02:00
mips-archdefs.h
mips.h
mipsregs.h
mmc.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
mp3_playback.h Use buflib for the allocation of voice PCM resources. 2012-05-02 17:22:28 -04:00
mpr121.h zenxfi3: rewrite mpr121 driver 2016-06-01 23:09:27 +02:00
mv.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
nand.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
nand_id.h
ohci.h
panic.h panicf doesn't return so why not tell GCC and $AVE : 2014-08-25 13:55:16 -04:00
pathfuncs.h Fix track formatting problems in playlist.c 2017-01-07 19:10:02 -05:00
pca9555.h Introduce HiFi E.T MA9 port. 2013-05-06 14:09:24 +04:00
pcf5060x.h D2: Use a common function for reading ADC values from the PMU 2009-10-08 15:47:43 +00:00
pcf5063x.h iPod Classic: ADC updates 2016-08-12 14:17:46 +02:00
pcf50605.h
pcf50606.h D2: Use a common function for reading ADC values from the PMU 2009-10-08 15:47:43 +00:00
pcf50635.h Initial support for runtime detection of the PMU used in newer D2+ models (PCF50635). The backlight and battery monitoring should work, but the RTC and touchscreen are not yet implemented. 2009-10-10 17:35:02 +00:00
pcm-internal.h Greatly reduce volume-change zipper artifacts with SW volume. 2014-03-08 08:04:41 +01:00
pcm.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm1792.h Introduce HiFi E.T. MA8/MA8C ports. 2013-11-05 09:59:45 +04:00
pcm_mixer.h iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
pcm_sampr.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sw_volume.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
pl080.h iPod Classic: introduce PL080 DMA controller driver 2015-10-07 06:15:03 +02:00
pl081.h
pl180.h AMS Sansa: Add voltage defines to pl180.h. No functional changes. 2009-10-19 05:34:17 +00:00
pnx0101.h
power.h Rework powermgmt to enable code re-use on appliation and sims. 2012-01-03 23:44:38 +00:00
powermgmt.h Fix checking for CONFIG_CHARGING 2016-04-04 11:19:51 +02:00
pp5002.h Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
pp5020.h Bootloader USB mode for PP502x. Enable only on GoGear SA9200 for the time being. Add HAVE_BOOTLOADER_USB_MODE to config if BOOTLOADER is defined to enable it. Clean up some kernel stuff a little to support it. Mess up a bunch of other stuff (hopefully not too badly). 2011-01-15 08:19:30 +00:00
pp5024.h
pp6100.h sansaview: fix lcd code 2014-05-11 19:56:43 +02:00
profile.h
qt1106.h
r61509.h Onda VX7x7: fix error when compiling with USB_BOOT defined 2009-07-29 12:57:42 +00:00
ramdisk.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
rbpaths.h iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
rda5802.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
rds.h rds: add basic RDS clock-time support 2012-02-18 11:02:13 +01:00
rk27xx.h Revert "rk27xx: implement usb driver" 2013-08-11 19:21:24 +02:00
rk27xx_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
rkw-loader.h rename rkw.h header file 2012-03-04 00:36:02 +01:00
rolo.h
rtc.h rtc_enable_alarm() needs no return value 2010-05-22 00:28:26 +00:00
s1a0903x01.h
s3c2440.h s5l870x : use mmu-arm.S 2010-04-13 15:59:49 +00:00
s5l8700.h iPod Nano 2G: use the new USB DesignWare driver 2016-08-02 04:57:50 +02:00
s5l8702.h iPod Classic: rework on I2C driver 2016-08-12 14:17:46 +02:00
screendump.h Really fix yellow: Rename BMP_LINESIZE and BMP_BPP to get rid of the macro name collision 2010-10-25 12:52:02 +00:00
scroll_engine.h put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
sd.h storage: fix MD vs MV confusion 2013-12-06 01:55:21 +01:00
sdmmc.h imx233: merge sd and mmc drivers, fix dma issues 2012-08-18 18:24:42 +02:00
serial.h
sh7034.h
si4700.h RDS: Use a define that doesn't imply any particular hardware dependency. 2011-12-29 14:55:49 +00:00
sound.h Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
spdif.h
spi.h Clean spi.h and spi-target.h 2012-01-07 22:04:12 +00:00
stfm1000.h zenxfi3&stfm1000: implement fmradio i2c and debug screen 2012-05-19 18:04:25 +02:00
storage.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
structec.h
sw_i2c.h
synaptics-mep.h SA9200: Adjust touchpad sensitivities so that actual contact with the player is needed to cause button presses and hopefully those settings will work nicely. Add a parameter read function to the MEP driver for debugging and RE purposes; enable compilation of it if you want to use it. Make a note in power-sa9200.c about button inits. 2011-01-11 23:48:29 +00:00
synaptics-rmi.h fuze+: rewrite touchpad driver 2016-06-01 23:08:17 +02:00
system.h AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
tcc77x.h Define CACHEALIGN_BITS for missing ARM CPUs for later use. 2010-11-19 07:17:20 +00:00
tcc780x.h Define CACHEALIGN_BITS for missing ARM CPUs for later use. 2010-11-19 07:17:20 +00:00
tea5760.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
tea5767.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
timer.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
tlv320.h tlv320: document audiohw setting based on tlv320.c 2016-12-12 13:13:52 +01:00
touchpad.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
touchscreen.h fix red 2013-09-05 20:35:51 +02:00
tsc200x.h Touchscreen support for newer Cowon D2+ hardware revisions (using TSC200x touchscreen controller). 2009-10-15 20:13:29 +00:00
tsc2100.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
tuner.h Add stub STFM1000 tuner driver 2012-05-19 16:10:52 +02:00
uc870x.h iPod Classic: updates for uc8702 driver 2016-05-13 23:21:42 +02:00
uda1341.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
uda1380.h uda1380: document audiohw setting based on uda1380.c 2016-12-12 13:14:22 +01:00
udacodec.h
usb-designware.h Introduce new USB driver for Synopsys DesignWare USB OTG core. 2016-08-02 04:57:49 +02:00
usb-s3c6400x.h GHWCFG* are not as3525v2 specific 2012-01-01 19:21:49 +00:00
usb-tcc.h Fix more tabs 2010-01-03 10:27:43 +00:00
usb.h usb: make usb_release_exclusive_storage private 2015-01-08 16:45:41 +01:00
usb_ch9.h Fix more tabs 2010-01-03 10:27:43 +00:00
usb_core.h usb: move usb charging function prototype from usb_core.h to usb.h 2015-01-08 16:44:55 +01:00
usb_drv.h Get rid of usb_drv_attach() from USB code. 2013-05-14 22:13:38 -04:00
wm8731.h wm8731: document audiohw settings 2016-12-12 13:11:25 +01:00
wm8751.h wm8751: document and fix audiohw settings 2016-12-12 13:12:15 +01:00
wm8758.h wm8758: document and fix audiohw settings 2016-12-12 13:12:47 +01:00
wm8975.h wm8975: document audiohw settings 2016-12-12 13:13:13 +01:00
wm8978.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8985.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wmcodec.h