summaryrefslogtreecommitdiffstats
path: root/drivers/extcon/extcon-max77693.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'extcon-next-for-3.13' of ↵Greg Kroah-Hartman2013-09-271-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for 3.13 This patchset modify extcon core to remove unnecessary allocation sequence for 'dev' instance and change extcon_dev_register() interface. extcon-gpio use gpiolib API to get debounce time and include small fix of extcon core/device driver. Detailed description for patchset: 1. Modify extcon core driver - The extcon-gpio driver use gpio_set_debounce() API provided from gpiolib if gpio driver for SoC support gpio_set_debounce() function and support 'gpio_ activ_low' filed to check whether gpio active state is 1(high) or 0(low). - Change field type of 'dev' in structure extcon_dev and remove the sequence of allocating memory of 'struct dev' on extcon_dev_register() function because extcon device must need 'struct device. - Change extcon_dev_register() prototype to simplify it and remove unnecessary parameter as below: 2. Fix coding style and typo - extcon core : Fix indentation coding style and remove unnecessary casting - extcon-max8997 : Fix checkpatch warning - extcon-max77693 : Fix checkpatch warning - extcon-arizona : Fix typo of comment and modify minor issue - extcon-palmas : Use dev_get_platdata() 3. Modify extcon-arizona driver - Modify minor issue about micbias and comparision statement
| * extcon: Simplify extcon_dev_register() prototype by removing unnecessary ↵Chanwoo Choi2013-09-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parameter This patch remove extcon_dev_register()'s second parameter which means the pointer of parent device to simplify prototype of this function. So, if extcon device has the parent device, it should set the pointer of parent device to edev.dev.parent in extcon device driver instead of in extcon_dev_register(). Cc: Graeme Gregory <gg@slimlogic.co.uk> Cc: Kishon Vijay Abraham I <kishon@ti.com> Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Cc: Mark Brown <broonie@kernel.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
| * extcon: max77693: Fix checkpatch warningSachin Kamat2013-09-271-2/+2
| | | | | | | | | | | | | | | | Fixes the following warning: WARNING: space prohibited before semicolon Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
* | extcon: Fix up 80 column coding style issuesChanwoo Choi2013-09-261-58/+71
|/ | | | | | | | | | This patch fix 80 column coding sytle issues by using checkpatch script. Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Cc: Mark Brown <broonie@kernel.org> 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: 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: 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>
* 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: 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: 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: max77693: Add support Dock-Smart device for desktop modeChanwoo Choi2013-01-151-62/+138
| | | | | | | | | | | | | | | | | | | | | This patch support the detection of Dock-Smart device which include three type of port(HDMI, USB for mouse/keyboard and Micro-USB for USB/TA cable).The Dock-Smart device need always exteranl power supply (USB/TA cable through micro-usb cable). Dock-Smart device support screen output of target to separate monitor and mouse/keyboard for desktop mode. Features of 'Dock-Smart device' - Support HDMI - Support external output feature of audio - Support charging through micro-usb port without data connection if TA cable is connected to target. - Support charging and data connection through micro-usb port if USB cable is connected between target and host device. - Support OTG device (Mouse/Keyboard) Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Fix bug when detecting MHL/Dock-Audio with USB/TA cableChanwoo Choi2013-01-151-0/+20
| | | | | | | | | | | | | | | | | | | | | | This patch fix bug that muic couldn't detect MHL/Dock-Audio with USB/TA cable on exception situation. I explain detail case on following: When MHL(with USB/TA cable) or Dock-Audio with USB/TA cable is attached, the MUIC device happen following two interrupt. - 'MAX77693_MUIC_IRQ_INT1_ADC' for detecting MHL/Dock-Audio. - 'MAX77693_MUIC_IRQ_INT2_CHGTYP' for detecting USB/TA cable connected to MHL/Dock-Audio. Always, happen eariler MAX77693_MUIC_IRQ_INT1_ADC interrupt than MAX77693_MUIC_IRQ_INT2_CHGTYP interrupt. If user attach MHL with USB/TA cable and immediately detach MHL with USB/TA cable before MAX77693_MUIC_IRQ_INT2_CHGTYP interrupt is happened, USB/TA connected to MHL cable remain connected state to target. But USB/TA connected to MHL cable isn't connected to target. user be faced with unusual action. So, driver should check this situation in spite of that, previous charger type is N/A. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Set default uart/usb path by using platform dataChanwoo Choi2013-01-151-0/+24
| | | | | | | | | | This patch determine default uart/usb path by using platform data. The MAX77693 MUIC device can possibliy set USB/UART/AUDIO/USB_AUX /UART_AUX to internal h/w path of MUIC device. So, drvier should determine default uart/usb path. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max8997/max77693: Support IRQF_NO_SUSPEND flag for interruptChanwoo Choi2013-01-151-2/+2
| | | | | Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Check the state/type of cable after boot completedChanwoo Choi2013-01-151-3/+34
| | | | | | | | | | This patch check the state/type of cable after completing the initialization of platform and notify platform of cable state/type through extcon. If extcon provider driver notify the state/type of cable before completing platform boot, this uevent is unused and ignored. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Add support dock device and buttonsChanwoo Choi2013-01-151-39/+216
| | | | | | | | This patch support detection of dock device with extcon and buttons of dock device for playing music with input subsystem. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Add support jig cableChanwoo Choi2013-01-151-6/+46
| | | | | | | | | This patch detect several kinds of JIG cable according to ADC value and set the hardware line path according to type of JIG cable(JIG-USB-ON /JIG-USB-OFF/JIG-UART-OFF). Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Add support MHL_TA cable for charging batteryChanwoo Choi2013-01-151-11/+45
| | | | | | | | | | | This patch support MHL_TA cable for charging battery. The MHL_TA cable include MHL with TA cable or MHL with micro USB cable. When MHL with TA/USB cable is attached, extcon-max77693 driver detect two interrupt for handling precise operation according to each cable (MHL and TA/USB cable). Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* extcon: max77693: Remove duplicate code by making functionChanwoo Choi2013-01-151-199/+241
| | | | | | | | | | | | This patch make max77693-muic_get_cable_type() function to remove duplicate code because almost internal function need to read adc/adc1k/adclow/chg_type value of MUIC register. Also, this patch add description of internal function move field constant of muic device from extcon-max77693 driver to max77693 header file because of it is needed for masking some interrupt through platform data. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com>
* Merge tag 'pull_req_20121122' of ↵Greg Kroah-Hartman2012-11-271-20/+16Star
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mzx/extcon into char-misc-next MyungJoo writes: "extcon pull request targetting Linux 3.8 for Greg KH on 2012.11.22 This is based on Linux 3.7 rc6"
| * extcon: max77693: Fix uninitialised variable warningSachin Kamat2012-11-211-1/+2
| | | | | | | | Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
| * extcon: max77693: Use devm_kzallocSachin Kamat2012-11-211-15/+8Star
| | | | | | | | | | | | | | | | | | devm_kzalloc() is a device managed function. It makes error handling and cleanup code a bit simpler. 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 coding styleSachin Kamat2012-11-211-2/+2
| | | | | | | | | | | | | | As per kernel coding style, if one branch of conditional statement has braces, the other one should have too. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
| * extcon: max77693: Fix incorrect error check and return valueSachin Kamat2012-11-211-4/+6
| | | | | | | | | | | | | | | | | | | | | | irq_create_mapping() returns 0 if it fails to provide a valid irq number. 'ret' needs to be updated with a negative error code before returning from probe to signal probe failure. While at it, also corrected the 'virq' type to unsigned from signed. 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: remove use of __devexit_pBill Pemberton2012-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | extcon: remove use of __devinitBill Pemberton2012-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | extcon: remove use of __devexitBill Pemberton2012-11-271-1/+1
|/ | | | | | | | | | | CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* extcon: trivial: kfree missed from remove pathanish kumar2012-10-231-0/+1
| | | | | | | | | Extcon core doesn't free the memory when we do unregister. Kfree is added in the remove path as it was missing. Signed-off-by: anish kumar <anish198519851985@gmail.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
* extcon: MAX77693: Add platform data for MUIC device to initialize registersChanwoo Choi2012-10-231-0/+27
| | | | | | | | | | This patch add platform data for MUIC device to initialize register on probe() call because it should unmask interrupt mask register and initialize some register related to MUIC device. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
* extcon: max77693: Use max77693_update_reg for rmw operationsAxel Lin2012-10-231-12/+6Star
| | | | | | | This simplifies the code. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
* Merge 3.6-rc7 into driver-core-nextGreg Kroah-Hartman2012-09-171-7/+12
|\ | | | | | | | | | | This pulls in the fixes in that branch that are needed here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| * mfd: MAX77693: Fix NULL pointer error when initializing irqsChanwoo Choi2012-09-161-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch initialize register map of MUIC device because mfd driver of Maxim MAX77693 use regmap-muic instance of MUIC device when irqs of Maxim MAX77693 is initialized before call max77693-muic probe() function. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reported-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | extcon: use IRQF_ONESHOTFengguang Wu2012-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Make sure threaded IRQs without a primary handler are always requested with IRQF_ONESHOT. Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | extcon: fix typos in max77693 driverPeter Meerwald2012-09-051-3/+3
|/ | | | | | Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* extcon: MAX77693: Add extcon-max77693 driver to support Maxim MAX77693 MUIC ↵Chanwoo Choi2012-07-171-0/+779
device This patch support Maxim MAX77693 MUIC device by using EXTCON Subsystem to handle various external connector. The extcon-max77693 use regmap method for i2c communication and support irq domain instead of previous method of irq base. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Myungjoo Ham <myungjoo.ham@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>