summaryrefslogtreecommitdiffstats
path: root/drivers/extcon (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'extcon-for-3.10' of ↵Greg Kroah-Hartman2013-04-092-11/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: This is small fixes for extcon driver. MAX77693 extcon driver - Add 'static' keryword to internal data structure - Fix return value using 'ret' instead of hardcoding MAX8997 extcon driver - Use dev_err() instead of pr_err() - Fix return value using 'ret' instead of hardcoding
| * extcon: max8997: Fix return valueSachin Kamat2013-04-091-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Return the value obtained from the function instead of hardcoding. Fixes the following warnings: drivers/extcon/extcon-max8997.c:235 max8997_muic_set_path() info: why not propagate 'ret' from max8997_update_reg() instead of (-11)? drivers/extcon/extcon-max8997.c:248 max8997_muic_set_path() info: why not propagate 'ret' from max8997_update_reg() instead of (-11)? Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Fix return valueSachin Kamat2013-04-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Return the value obtained from the function instead of hardcoding. Silences the following warnings: drivers/extcon/extcon-max77693.c:297 max77693_muic_set_path() info: why not propagate 'ret' from max77693_update_reg() instead of (-11)? drivers/extcon/extcon-max77693.c:310 max77693_muic_set_path() info: why not propagate 'ret' from max77693_update_reg() instead of (-11)? Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: use dev_err() instead of pr_err()Jingoo Han2013-04-091-1/+1
| | | | | | | | | | | | | | | | dev_err() is more preferred than pr_err(). Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Staticize default_init_dataSachin Kamat2013-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0ec83bd246 ("extcon: max77693: Initialize register of MUIC device to bring up it without platform data") added this structure but forgot to make it static. Without this patch we get the following warning: drivers/extcon/extcon-max77693.c:41:26: warning: symbol 'default_init_data' was not declared. Should it be static? Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* | Merge tag 'extcon-arizona-v3.10' of ↵Greg Kroah-Hartman2013-04-031-104/+287
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into char-misc-next Mark writes: extcon: arizona: Updates for v3.10 There's a bunch of different things in this series, I can split them out if need be: - Support for configuring the button detection circuit to reflect the accessories supplied with the system. - Improvements in the HPDET based detection scheme. - Additional robustness against more pathological use cases. - A few small standalone fixes.
| * | extcon: arizona: Make mic detection timeout configurableMark Brown2013-04-021-3/+10
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Allow additional debounce during microphone detectionMark Brown2013-04-021-5/+30
| | | | | | | | | | | | | | | | | | | | | | | | Help mitigate against mechanical bounce during the initial detection by allowing the configuration of an additional debounce on top of that the hardware does during the initial phase of microphone detection operation. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Clear existing button reports before reporting new oneMark Brown2013-04-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user moves directly from one button to another then we won't get a no buttons pressed event and will therefore end up reporting that two buttons are simultaneously pressed which isn't supported by the hardware. Make sure we clear any existing button reports before reporting any new ones. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Time out if MICDET fails to reportMark Brown2013-04-021-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | In pathological cases the microphone detection may fail to report, for example due to a failure to get a stable measurement. Provide a timeout to cover such cases. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Simplify HPDET based identificationMark Brown2013-04-021-21/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than measuring both HP channels we can simply directly measure the microphone impedance and then rely on MICDET for final confirmation of the presence of a suitable microphone. This improves the overall performance of the identification process. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Don't ground flip when using HPDET identificationMark Brown2013-04-021-23/+1
| | | | | | | | | | | | | | | | | | | | | This extra check makes the procedure take longer and is of marginal use in identification so do not execute it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Retry HPDET identification for high impedanceMark Brown2013-04-021-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes we can trigger measurements early if contacts are shorted during a slow insertion. As well as debouncing add further robustness by retrying if we get a high impedance measurement for headphones as this can indicate that the headphones were not yet connected. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Tune up HPDET debounceMark Brown2013-04-021-1/+1
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Check we report a valid impedanceCharles Keepax2013-04-021-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we can trigger an interrupt before we have completed impedance measurement, although the valid bit will still be set. This patch spins reading the impedance value until a valid value is seen. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Suppress duplicate JACKDET reportsMark Brown2013-04-021-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | In cases where we see a brief (dis)connection of the jack detection signals we may see a noop jack insertion or removal where the jack has returned to the original state by the time the interrupt is serviced. Suppress these events in order to save work and avoid confusing the rest of the code. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Raise minimum microphone impedance for HPDET methodMark Brown2013-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Ensure greater reliability by increasing the minimum threashold for identifying a microphone. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Allow pull to be disabled on GPIO5 when used for JACKETMark Brown2013-04-021-2/+7
| | | | | | | | | | | | | | | | | | In some designs an external pull won't be needed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Don't pulse MICBIAS for HPDET identificationMark Brown2013-04-021-2/+0
| | | | | | | | | | | | | | | | | | | | | There is no need to do this as HPDET identification will cause MICBIAS to be powered down again. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Allow configuration of button detectionMark Brown2013-04-021-39/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Arizona button detection circuit is configurable, allowing the system integrator to program a range of thresholds for the buttons supported on the accessory but currently the driver uses the default button ranges and does not provide any flexibility in how this is exposed to the application layer. Provide platform data allowing the user to control this and to map the buttons to keys in the input subsystem. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | extcon: arizona: Attempt more microphone measurementsMark Brown2013-04-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | In some pathological use cases users may insert an accessory very slowly causing multiple indeterminate measurements. Handle this by retrying many measurements before we give up and declare a headphone. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge branch 'char-misc-linus' into char-misc-nextGreg Kroah-Hartman2013-03-272-45/+114
|\ \ \ | |/ / |/| / | |/ | | | | This picks up the MEI fixes that we need in this branch now. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * extcon: max77693: Initialize register of MUIC device to bring up it without ↵Chanwoo Choi2013-03-131-25/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | platform data This patch set default value of MUIC register to bring up MUIC device. If user don't set some initial value for MUIC device through platform data, extcon-max77693 driver use 'default_init_data' to bring up base operation of MAX77693 MUIC device. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Fix bug of wrong pointer when platform data is not usedChanwoo Choi2013-03-131-38/+52
| | | | | | | | | | | | | | | | | | This patch fix wrong pointer of platform data. If each machine set platform data for h/w path or delay time of workqueue, this driver happen kernel panic related to null pointer. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Check the pointer of platform data to protect null pointer ↵Chanwoo Choi2013-03-131-22/+34
| | | | | | | | | | | | | | | | | | | | error This patch check the pointer of platform data to protect kernel panic when platform data is not used and code clean. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* | extcon: arizona: Fix interaction between headphone outputs and identificationMark Brown2013-03-261-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Running HPDET while the headphone outputs are enabled can disrupt the operation of HPDET. In order to avoid this HPDET needs to disable the headphone outputs and ASoC needs to not enable them while HPDET is running. For extcon instead of checking if the headphone output is enabled when doing magic application unconditionally disable the output and restore the state which ASoC wants set when undoing the magic. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | extcon: arizona: Factor out magic applicationMark Brown2013-03-261-55/+36
|/ | | | | | | | We have a very similar sequence doing magic writes in several places (one of which missed an update to interlock with the CODEC driver) so factor it out into a function. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* Merge tag 'char-misc-3.9-rc1' of ↵Linus Torvalds2013-02-215-559/+1972
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver patches from Greg Kroah-Hartman: "Here's the big char/misc driver patches for 3.9-rc1. Nothing major here, just lots of different driver updates (mei, hyperv, ipack, extcon, vmci, etc.). All of these have been in the linux-next tree for a while." * tag 'char-misc-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (209 commits) w1: w1_therm: Add force-pullup option for "broken" sensors w1: ds2482: Added 1-Wire pull-up support to the driver vme: add missing put_device() after device_register() fails extcon: max8997: Use workqueue to check cable state after completing boot of platform extcon: max8997: Set default UART/USB path on probe extcon: max8997: Consolidate duplicate code for checking ADC/CHG cable type extcon: max8997: Set default of ADC debounce time during initialization extcon: max8997: Remove duplicate code related to set H/W line path extcon: max8997: Move defined constant to header file extcon: max77693: Make max77693_extcon_cable static extcon: max8997: Remove unreachable code extcon: max8997: Make max8997_extcon_cable static extcon: max77693: Remove unnecessary goto statement to improve readability extcon: max77693: Convert to devm_input_allocate_device() extcon: gpio: Rename filename of extcon-gpio.c according to kernel naming style CREDITS: update email and address of Harald Hoyer extcon: arizona: Use MICDET for final microphone identification extcon: arizona: Always take the first HPDET reading as the final one extcon: arizona: Clear _trig_sts bits after jack detection extcon: arizona: Don't HPDET magic when headphones are enabled ...
| * extcon: max8997: Use workqueue to check cable state after completing boot of ↵Chanwoo Choi2013-02-131-9/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | platform This patch use delayed workqueue to check cable state after a certain time. If extcon-max8997 driver check cable state during booting of platform, this couldn't send the correct notification of cable state to extcon consumer. Alwasys, this driver should check cable state after the completion of platform initialization Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Set default UART/USB path on probeChanwoo Choi2013-02-131-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch set default H/W line path according to platfomr data. The MAX8997 MUIC device can possibly set UART/USB or UART_AUX /USB_AUX to internal H/W line path of MUIC device. Namely, only one H/W line is used for two operation. For example, if H/W line path of MAX8997 device set UART/USB, micro usb cable is connected to AP(Application Processor) and if H/W line path set UART_AUX/USB_AUX, micro usb cable is connected to CP(Coprocessor). Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Consolidate duplicate code for checking ADC/CHG cable typeChanwoo Choi2013-02-131-169/+323
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch make max8997_muic_get_cable_type() function to remove duplicate code for checking ADC/Charger cable type because almost internal function need to read adc/chg_type value of MUIC register. Also, remove *_detach() function, extcon-max8997 driver treat attach/detach operation of cable in max8997_*_handler() function. Lastly, this patch move defined constant in header file(include/ linux/mfd/max8997.h, max8997-private.h) because defined constant is only used in the 'extcon-max8997.c'. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Set default of ADC debounce time during initializationChanwoo Choi2013-02-131-0/+42
| | | | | | | | | | | | | | | | | | This patch set default of ADC Debounce Time(25ms) during probe step. Also, can possible change ADC Debounce Time according to H/W situation by using max8997_set_adc_debounce_time() Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Remove duplicate code related to set H/W line pathChanwoo Choi2013-02-131-11/+51
| | | | | | | | | | Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Move defined constant to header fileChanwoo Choi2013-02-131-61/+31
| | | | | | | | | | | | | | | | | | This patch move defined constants to header file(max77693-private.h) because of mask/unmask selectively interrupt of MUIC device according to attribute of H/W board. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Make max77693_extcon_cable staticSachin Kamat2013-02-131-1/+1
| | | | | | | | | | | | | | | | | | 'max77693_extcon_cable' is used only in this file. Hence make it static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Remove unreachable codeSachin Kamat2013-02-131-1/+0
| | | | | | | | | | | | | | | | 'break' after 'return' is never executed and hence can be deleted. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max8997: Make max8997_extcon_cable staticSachin Kamat2013-02-131-1/+1
| | | | | | | | | | | | | | | | 'max8997_extcon_cable' is used only in this file. Hence make it static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Remove unnecessary goto statement to improve readabilityChanwoo Choi2013-02-131-34/+43
| | | | | | | | | | | | Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * extcon: max77693: Convert to devm_input_allocate_device()Chanwoo Choi2013-02-131-1/+1
| | | | | | | | | | | | Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * extcon: gpio: Rename filename of extcon-gpio.c according to kernel naming styleChanwoo Choi2013-02-131-1/+1
| | | | | | | | | | | | Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * Merge tag 'extcon-arizona-3.9' of ↵Greg Kroah-Hartman2013-02-112-38/+204
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc into char-misc-next Mark writes: extcon: arizona: Updates for v3.9 More updates for v3.9, a mix of fixes for the code that's already there and a few new features.
| | * extcon: arizona: Use MICDET for final microphone identificationMark Brown2013-02-111-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | When using HPDET to identify the accessory still run MICDET before we report a microphone in order to ensure that the accessory identified is compatible with the MICDET detection ranges after having confirmed that the device is not using a headphone. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Always take the first HPDET reading as the final oneMark Brown2013-02-111-3/+4
| | | | | | | | | | | | | | | | | | | | | This should always be the most accurate reading for supported accessory configurations. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Clear _trig_sts bits after jack detectionCharles Keepax2013-02-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | It is important to clear the wake trigger status bits otherwise DCVDD will be held high independent of the state of the LDOENA line. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Don't HPDET magic when headphones are enabledMark Brown2013-02-111-12/+46
| | | | | | | | | | | | | | | | | | | | | | | | The magic is already done as part of enabling the headphone output so does not need to be done when the headphone outputs are enabled. We hold the DAPM lock so the headphone status can't be changed underneath us. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Add some debounce time before starting HPDET identificationMark Brown2013-02-111-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | The HPDET identification method does not have the same natural debounce built into it that the standard MICDET method does so add some extra on top of what the jack detection does in hardware to make sure we get a robust result. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Remove extra jack flip incrementCharles Keepax2013-02-111-2/+0
| | | | | | | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Use regulated mode for microphone supply when detectingMark Brown2013-02-072-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | When starting microphone detection some headsets should be exposed to the fully regulated microphone bias in order to ensure that they behave in an optimal fashion. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Support additional configuration of microphone detectionMark Brown2013-02-071-0/+12
| | | | | | | | | | | | | | | | | | | | | Allow systems to tune detection rate and debounce suitably for their mechanical parameters. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * extcon: arizona: Remove duplicate rate configurationMark Brown2013-01-231-4/+0
| | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>