- 13 8月, 2015 1 次提交
-
-
由 Chanwoo Choi 提交于
With commit b17d1bf1 ("gpio: make flags mandatory for gpiod_get functions") it becomes necessary to pass the flags argument. And this patch adds the gpio header file to fix the build breakage when build testing with random configuration files. Reported-by: NStephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
- 10 8月, 2015 13 次提交
-
-
由 Roger Quadros 提交于
Some palmas based chip variants do not have OTG based ID logic. For these variants we rely on GPIO based USB ID detection. These chips do have VBUS comparator for VBUS detection so we continue to use the old way of detecting VBUS. Signed-off-by: NRoger Quadros <rogerq@ti.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Dan Carpenter 提交于
Unsigned is never less than zero so this error handling won't work. Fixes: be052cc8 ('extcon: Fix hang and extcon_get/set_cable_state().') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NRoger Quadros <rogerq@ti.com> [cw00.choi: Change the patch title and fix signedness bug of find_cable_index_by_id() ] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Krzysztof Kozlowski 提交于
i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
Currently micd_dbtime can be set to 0 for default, 1 for 4 measurements, or a greater than 16-bit value for 2 measurements. This patch simplifies the symantics to 2 for 2 measurements, 4 for 4 measurements and any other value for the default. I am not super keen on changing the symantics of the pdata at this stage in the drivers life, but acceptance of the DT binding for this field has been made conditional on this happening. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
Detecting an open-circuit on the microphone pin, usually means the headset has a microphone but the cable is faulty. Currently the code will simply stop detecting and declare nothing in this situation. It is better to declare this as headphones such that the user can still use their headset as plain headphones even if the microphone is faulty. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch check whether argument is NULL to prevent NULL pointer access. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Charles Keepax 提交于
The detecting flag really refers to the microphone detection stage and as such should be cleared before arizona_identify_headphones is called. Also the mic flag should be set before identify headphones is called as well. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
Convert to using the newer gpiod interface for the micd_pol_gpio. Although we still carry support for the old gpio interface from pdata. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> [cw00.choi: Modify the patch titlei to include the detailed content] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
This patch adds bindings for the basic microphone detection platform data. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
The device properties API will load data from both device tree and ACPI, update the binding to use this API instead of the OF API. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch removes the mutually_exclusive array of extcon-palmas.c. After used the unique id of each external connector on 2a9de9c0 ("extcon: Use the unique id for external connector instead of string"), extcon driver can't directly handle the bit value indicating the external connectors. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch removes the optional print_state() function pointer which included in 'struct extcon_dev' because the extcon must maintain the consistent name of extcon device on sysfs instead of inconsistent state of external connectors. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Jaewon Kim 提交于
IRQ signal before driver probe is needless because driver sends current state after platform booting done. So, this patch clears MUIC IRQ bits before request IRQ. Signed-off-by: NJaewon Kim <jaewon02.kim@samsung.com> Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 31 7月, 2015 2 次提交
-
-
由 Roger Quadros 提交于
Currently the extcon code notifiers the interested listeners before it updates the extcon state with the new state. This will cause the listeners that use extcon_cable_get_state() to get the stale state and loose the new state. Fix this by first changing the extcon state variable and then notifying listeners. Signed-off-by: NRoger Quadros <rogerq@ti.com> Tested-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Roger Quadros 提交于
Users of find_cable_index_by_name() will cause a kernel hang as the while loop counter is never incremented and end condition is never reached. extcon_get_cable_state() and extcon_set_cable_state() are broken because they use cable index instead of cable id. This causes the first cable state (cable.0) to be always invalid in sysfs or extcon_get_cable_state() users. Introduce a new function find_cable_id_by_name() that fixes both of the above issues. Fixes: commit 73b6ecdb ("extcon: Redefine the unique id of supported external connectors without 'enum extcon' type") Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NRoger Quadros <rogerq@ti.com> Tested-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> [cw00.choi: Fix minor coding style] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 29 7月, 2015 1 次提交
-
-
由 Chanwoo Choi 提交于
This patch fixes NULL pointer error by removing the unneeded kfree() call of edev->name because extcon-palmas no longer allocate the memory for edev->name. Fixes: d71aadda ("extcon: Remove the optional name of extcon device") Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
- 17 7月, 2015 5 次提交
-
-
由 Krzysztof Kozlowski 提交于
Add MAX77843_MUIC prefix to some of the defines used in max77843 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Krzysztof Kozlowski 提交于
Add MAX77693 prefix to some of the defines used in max77693 extcon driver so the max77693-private.h can be included simultaneously with max77843-private.h. Additionally use BIT() macro in header. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Krzysztof Kozlowski 提交于
Switch to the same definition of state container as in MAX77693 drivers. This will allow usage of one regulator driver in both devices: MAX77693 and MAX77843. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Krzysztof Kozlowski 提交于
This prepares for merging some of the drivers between max77693 and max77843 so the child MFD driver can be attached to any parent MFD main driver. Move the state container to common header file. Additionally add consistent 'i2c' prefixes to its members (of 'struct i2c_client' type). Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Acked-by: NSebastian Reichel <sre@kernel.org> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Acked-by: NLee Jones <lee.jones@linaro.org> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Krzysztof Kozlowski 提交于
Clean up the max77693 private header file by removing: 1. Left-overs from previous way of interrupt handling (driver uses regmap_irq_chip). 2. Unused members of struct 'max77693_dev' related to interrupts in extcon driver. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 13 6月, 2015 1 次提交
-
-
由 Chanwoo Choi 提交于
This patch just redefine the unique id of supported external connectors without 'enum extcon' type. Because unique id would be used on devictree file(*.dts) to indicate the specific external connectors like key number of input framework. So, I have the plan to move this definitions to following header file which includes the unique id of supported external connectors. - include/dt-bindings/extcon/extcon.h Fixes: 2a9de9c0 ("extcon: Use the unique id for external connector instead of string") Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 29 5月, 2015 1 次提交
-
-
由 Chanwoo Choi 提交于
This patch removes the optional print_name() function pointer included in 'struct extcon_dev' because the extcon must maintain the consistent name of extcon device on sysfs instead of inconsistent name. After merged patch[1], extcon can maintain the consistent name of extcon device without any hard-coded device name. [1] https://lkml.org/lkml/2015/4/27/258Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 22 5月, 2015 3 次提交
-
-
由 Chanwoo Choi 提交于
Previously, extcon consumer driver used the extcon_register_interest() to register the notifier chain and then to receive the notifier event when external connector's state is changed. When registering the notifier chain for specific external connector with extcon_register_interest(), it used the the string name of external connector directly. There are potential problem because of unclear, non-standard and inconsequent cable name. Namely, it is not appropriate method to identify each external connector. So, this patch modify the prototype of extcon_register_notifier() by using the 'enum extcon' which are the unique id for each external connector instead of unclear string method. - Previously, the extcon consumer driver used the extcon_register_interest() with 'cable_name' to point out the specific external connector. Also. it used the un-needed structure (struct extcon_specific_cable_nb). : int extcon_register_interest(struct extcon_specific_cable_nb *obj, const char *extcon_name, const char *cable_name, struct notifier_block *nb) - Newly, the updated extcon_register_notifier() would definitely support the same feature to detech the changed state of external connector without any specific structure (struct extcon_specific_cable_nb). : int extcon_register_notifier(struct extcon_dev *edev, enum extcon id, struct notifier_block *nb) This patch support the both extcon_register_interest() and new extcon_register_ notifier(). But the extcon_{register|unregister}_interest() will be deprecated because extcon core would support the notifier event for extcon consumer driver with only updated extcon_register_notifier() and 'extcon_specific_cable_nb' will be removed if there are no extcon consumer driver with legacy extcon_{register|unregister}_interest(). Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> -
由 Chanwoo Choi 提交于
This patch uses the capital letter for the name of external connectors to improve the readability instead of small letter. Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch uses the unique id to identify the type of external connector instead of string name. The string name have the many potential issues. So, this patch defines the 'extcon' enumeration which includes all supported external connector on EXTCON subsystem. If new external connector is necessary, the unique id of new connector have to be added in 'extcon' enumeration. There are current supported external connector in 'enum extcon' as following: enum extcon { EXTCON_NONE = 0x0, /* USB external connector */ EXTCON_USB = 0x1, EXTCON_USB_HOST = 0x2, /* Charger external connector */ EXTCON_TA = 0x10, EXTCON_FAST_CHARGER = 0x11, EXTCON_SLOW_CHARGER = 0x12, EXTCON_CHARGE_DOWNSTREAM = 0x13, /* Audio and video external connector */ EXTCON_LINE_IN = 0x20, EXTCON_LINE_OUT = 0x21, EXTCON_MICROPHONE = 0x22, EXTCON_HEADPHONE = 0x23, EXTCON_HDMI = 0x30, EXTCON_MHL = 0x31, EXTCON_DVI = 0x32, EXTCON_VGA = 0x33, EXTCON_SPDIF_IN = 0x34, EXTCON_SPDIF_OUT = 0x35, EXTCON_VIDEO_IN = 0x36, EXTCON_VIDEO_OUT = 0x37, /* Miscellaneous external connector */ EXTCON_DOCK = 0x50, EXTCON_JIG = 0x51, EXTCON_MECHANICAL = 0x52, EXTCON_END, }; For example in extcon-arizona.c: To use unique id removes the potential issue about handling the inconsistent name of external connector with string. - Previously, use the string to register the type of arizona jack connector static const char *arizona_cable[] = { "Mechanical", "Microphone", "Headphone", "Line-out", }; - Newly, use the unique id to register the type of arizona jack connector static const enum extcon arizona_cable[] = { EXTCON_MECHANICAL, EXTCON_MICROPHONE, EXTCON_HEADPHONE, EXTCON_LINE_OUT, EXTCON_NONE, }; And this patch modify the prototype of extcon_{get|set}_cable_state_() which uses the 'enum extcon id' instead of 'cable_index'. Because although one more extcon drivers support USB cable, each extcon driver might has the differnt 'cable_index' for USB cable. All extcon drivers can use the unique id number for same external connector with modified extcon_{get|set}_cable_state_(). - Previously, use 'cable_index' on these functions: extcon_get_cable_state_(struct extcon_dev*, int cable_index) extcon_set_cable_state_(struct extcon_dev*, int cable_index, bool state) -Newly, use 'enum extcon id' on these functions: extcon_get_cable_state_(struct extcon_dev*, enum extcon id) extcon_set_cable_state_(struct extcon_dev*, enum extcon id, bool state) Cc: Arnd Bergmann <arnd@arndb.de> Cc: Felipe Balbi <balbi@ti.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NRoger Quadros <rogerq@ti.com> Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NRamakrishna Pallala <ramakrishna.pallala@intel.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> [arnd: Report the build break about drivers/usb/phy/phy-tahvo.c after using the unique id for external connector insteadf of string] Reported-by: NArnd Bergmann <arnd@arndb.de> [dan.carpenter: Report the build warning of extcon_{set|get}_cable_state_()] Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
-
- 20 5月, 2015 1 次提交
-
-
由 Uwe Kleine-König 提交于
Since 39b2bbe3 (gpio: add flags argument to gpiod_get*() functions) which appeared in v3.17-rc1, the gpiod_get* functions take an additional parameter that allows to specify direction and initial value for output. Without this patch there is no call to gpiod_direction_input but the gpio is used for irq reporting and for that the line should be in input mode. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 19 5月, 2015 12 次提交
-
-
由 Chanwoo Choi 提交于
This patch removes the optional name of extcon device. Instead, extcon_dev_register() set the device name as 'extcon[number]' naming pattern. - /sys/class/extcon/[hardcoded device name] -> /sys/class/extcon/extcon[number] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Cc: MyungJoo Ham <myungjoo.ham@samsung.com> Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Cc: Graeme Gregory <gg@slimlogic.co.uk> Cc: Kishon Vijay Abraham I <kishon@ti.com> Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com> Cc: Jaewon Kim <jaewon02.kim@samsung.com>
-
由 Geert Uytterhoeven 提交于
The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer functionality only, can still be compiled if GPIOLIB is not enabled. Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where appropriate. If GPIOLIB=n and asm-generic/gpio.h is not used: drivers/extcon/extcon-usb-gpio.c: In function ‘usb_extcon_detect_cable’: drivers/extcon/extcon-usb-gpio.c:63: error: implicit declaration of function ‘gpiod_get_value_cansleep’ drivers/extcon/extcon-usb-gpio.c: In function ‘usb_extcon_probe’: drivers/extcon/extcon-usb-gpio.c:116: error: implicit declaration of function ‘devm_gpiod_get’ drivers/extcon/extcon-usb-gpio.c:116: warning: assignment makes pointer from integer without a cast drivers/extcon/extcon-usb-gpio.c:122: error: implicit declaration of function ‘gpiod_set_debounce’ drivers/extcon/extcon-usb-gpio.c:129: error: implicit declaration of function ‘gpiod_to_irq’ Add the missing #include <linux/gpio/consumer.h> to fix this. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch removes the 'num_cables' filed from 'struct adc_jack_pdata' because 'struct extcon_dev' contains the 'max_supported' field which means the number of supported cable of extcon device. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch alters the MHL-TA cable name to TA cable name because MHL-TA is not standard name. The MHL-TA is MHL cable with charger cable (TA or USB). So, this patch use the TA cable instead of MHL-TA to inform the charger cable state. - MHL-TA -> TA Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch change the name of various dock devices as 'DOCK' because the name of various dock devices have not the standard naming rules. The name of dock devices include the differenct word but it is ambiguous and never important information on user-space aspect. This patch unifies the name of dock devices as following: - Dock-Smart -->|--> DOCK - Dock-Desk -->| - Dock-Audio -->| - Dock-Card -->| Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
-
由 Chanwoo Choi 提交于
This patch change the name of various jig cables as 'JIG' because the name of various jig cables are strange and ambiguous on user-space aspect. They include the different information of either USB and UART state. It is never important for user-space process. This patch unifies the name of jig cables as following: - JIG-USB-ON -->|--> JIG - JIG-USB-OFF -->| - JIG-UART-ON -->| - JIG-UART-OFF -->| Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Inha Song 提交于
This patch add support for select accessory detect mode to HPDETL or HPDETR. Arizona provides a headphone detection circuit on the HPDETL and HPDETR pins to measure the impedance of an external load connected to the headphone. Depending on board design, headphone detect pins can change to HPDETR or HPDETL. Signed-off-by: NInha Song <ideal.song@samsung.com> Acked-by: NLee Jones <lee@kernel.org> Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
The headphone clamping is not set correctly currently, this was missed because the wm8280 patches and the patch fixing the clamping for wm5110 went upstream at very similar times. This patch sets the headphone clamping correctly for wm8280. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch removes the setting of device name. Instead, extcon_dev_register() set the device name such as 'extcon[number]' naming method. - /sys/class/extcon/Headset Jack -> /sys/class/extcon/extcon[number] Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
-
由 Chanwoo Choi 提交于
This patch clean up the extcon core driver by fixing the checkpatch warning and minor coding style issue. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch adds the extcon_get_edev_name() API to get the name of extcon device because all information inclued in the structure extcon_dev should be accessed by extcon core API instead of directly accessing the data. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch modify the device name as extcon[X] for sysfs by using the 'extcon' prefix word instead of separate device name. On user-space aspect, user would find the some extcon drvier with extcon[X] pattern. So, this patch modify the device name as following: - /sys/class/extcon/[device name] -> /sys/class/extcon/extcon[X] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-