- 09 1月, 2017 19 次提交
-
-
由 Chanwoo Choi 提交于
This patch renames the EXTCON_USB_HOST by using '-' char because the name of all external connector use the '-' char instead of '_' char. - "USB_HOST" -> "USB-HOST" Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch adds the new EXTCON_CHG_USB_PD for USB PD (Power Delivery)[1]. The USB Power Delivery specification specifies that USB cable provides the increased power more than 7.5W to device with larger power demand. The EXTCON_CHG_USB_PD has the EXTCON_TYPE_CHG and EXTCON_TYPE_USB type. [1] https://en.wikipedia.org/wiki/USB#PDSigned-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Peter Chen 提交于
At some systems, the pinctrl setting will be lost or needs to set as "sleep" state to save power consumption. So, we need to configure pinctrl as "sleep" state when system enters suspend, and as "default" state after system resumes. In this way, the pinctrl value can be recovered as "default" state after resuming. Signed-off-by: NPeter Chen <peter.chen@nxp.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch moves the 'struct extcon_dev' of extcon subsystem to driver/extcon/extcon.h header file because the struct extcon_dev have to be handled by extcon API to guarantee the consistency of strcut extcon_dev. If external drivers are able to touch the struct extcon_dev directly, it might cause the critical and unknown problem. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch uses the internal dev instance instead of using the field of struct extcon_dev because the core structure (extcon_dev) of extcon have to be touched by only extcon core driver. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 David Cohen 提交于
Add an extcon driver for USB OTG ports controlled by an Intel INT3496 ACPI device (e.g. Baytrail, Cherrytrail devices). Signed-off-by: NDavid Cohen <david.a.cohen@intel.com> [hdgoede@redhat.com: Port to current kernel, cleanup, submit upstream] [hdgoede@redhat.com: Add Documentation/extcon/intel-int3496.txt] Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Baolin Wang 提交于
According to the documentation, we should set the EXTCON_USB when one SDP charger connector was reported. Signed-off-by: NBaolin Wang <baolin.wang@linaro.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch removes the potential problem of extcon_register_notifier() when edev parameter is NULL. When edev is NULL, this function returns the first extcon device which includes the sepecific external connector of second paramter. But, it don't guarantee the same operation in all cases. To remove this confusion and potential problem, this patch fixes it. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Hans de Goede 提交于
Add a MODULE_DEVICE_TABLE to fix the module not auto-loading. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
Setting the irq_enable bits is taken care of by the irq chip when we request the irqs and the driver should not be meddling with the irq?_en registers itself. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
The vbus-present bit in the power status register also gets set to 1 when a usb-host cable (id-pin shorted to ground) is plugged in and a 5v boost converter is supplying 5v to the otg usb bus. This causes a "disconnect or unknown or ID event" warning in dmesg as well as the extcon device to report the last detected charger cable type as being connected even though none is connected. This commit switches to checking the vbus-valid bit instead, which is only 1 when both vbus is present and the vbus-path is enabled in the vbus-path control register (the vbus-path gets disabled when a usb-host cable is detected, to avoid the pmic drawing power from the 5v boost converter). Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
When the charger type changes from e.g. SDP to CDP, without Vbus being seen as low in between axp288_handle_chrg_det_event would set the state for the new cable type to true, without clearing the state of the previous cable type to false. This commit fixes this and also gets rid of the function local static cable variable, properly storing all drv state in the axp288_extcon_info struct. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
axp288_handle_chrg_det_event only gets called on change interrupts (so not that often), extcon_set_state_sync() checks itself if there are any actual changes before notifying listeners, and gpiod_set_value is not really expensive either. So we can simply always do both on each interrupt removing a bunch of somewhat magic looking code from axp288_handle_chrg_det_event. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
The usb_phy based intel-usb-phy code never got merged into the mainline kernel, so the devm_usb_get_phy() call will always fail, blocking the driver from loading. Since new drivers should use the generic-phy framework, not the old-style usb_phy stuff, keeping this around is not useful. Therefor this patch removes the usb_phy notification bits, which together with the patch to remove the platform_data dependency, makes this driver actually successfully probe on systems with an axp288 pmic. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Hans de Goede 提交于
When the extcon_axp288 driver was originally merged, it was merged with a dependency on some other driver providing platform data for it. However such another driver was never merged, so the extcon_axp288 as merged upstream has never worked, its probe method simply always returns -ENODEV. This commit drops the dependency on the pdata always being there, instead it treats not having pdata as the pdata having a NULL gpio_mux_control, something which the code was already prepared to handle. Note that the code for controlling the mux_control gpio is left in place, as this may be necessary to allow the axp288 pmic to properly detect the charger type (instead of assuming 500mA max charge current) on some tablets. This will make it easier for future patches to add support for this gpio by getting the gpio info from somewhere. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Roger Quadros 提交于
extcon-palmas must be child of palmas and expects parent's drvdata to be valid. Check for non NULL parent drvdata and fail if it is NULL. Not doing so will result in a NULL pointer dereference later in the probe() parent drvdata is NULL (e.g. misplaced extcon-palmas node in device tree). Signed-off-by: NRoger Quadros <rogerq@ti.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Srikant Ritolia 提交于
Aligning all block comments in extcon subsystem as per linux coding style. Found using checkpatch.pl script. Signed-off-by: NSrikant Ritolia <s.ritolia@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Pan Bian 提交于
Function get_zeroed_page() returns a NULL pointer if there is no enough memory. In function extcon_sync(), it returns 0 if the call to get_zeroed_page() fails. The return value 0 indicates success in the context, which is incosistent with the execution status. This patch fixes the bug by returning -ENOMEM. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188611Signed-off-by: NPan Bian <bianpan2016@163.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Charles Keepax 提交于
Currently we handle both old style GPIO and new style GPIOD differently simplify this slightly by converting the old style GPIO to a GPIOD and just using that from then on. Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 02 12月, 2016 1 次提交
-
-
由 Richard Fitzgerald 提交于
The name of a codec pin can have an optional prefix string, which is defined by the SoC machine driver. The snd_soc_dapm_x_pin functions take the fully-specified name including the prefix and so the existing code would fail to find the pin if the audio machine driver had added a prefix. Switch to using the snd_soc_component_x_pin equivalent functions that take a specified SoC component and automatically add the name prefix to the provided pin name. Signed-off-by: NRichard Fitzgerald <rf@opensource.wolfsonmicro.com> Acked-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 20 11月, 2016 1 次提交
-
-
由 Roger Quadros 提交于
Driver can now work with both ID and VBUS pins or either one of them. There can be the following 3 cases 1) Both ID and VBUS GPIOs are available: ID = LOW -> USB_HOST active, USB inactive ID = HIGH -> USB_HOST inactive, USB state is same as VBUS. 2) Only ID GPIO is available: ID = LOW -> USB_HOST active, USB inactive ID = HIGH -> USB_HOST inactive, USB active 3) Only VBUS GPIO is available: VBUS = LOW -> USB_HOST inactive, USB inactive VBUS = HIGH -> USB_HOST inactive, USB active Signed-off-by: NRoger Quadros <rogerq@ti.com> Reviewed-by: NPeter Chen <peter.chen@nxp.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 26 10月, 2016 1 次提交
-
-
由 Stephen Boyd 提交于
The driver was changed after submission to use the new style APIs like extcon_set_state(). Unfortunately, that only sets the state, and doesn't notify any consumers that the cable state has changed. Use extcon_set_state_sync() here instead so that we notify cable consumers of the state change. This fixes USB host-device role switching on the db8074 platform. Fixes: 38085c98 ("extcon: Add support for qcom SPMI PMIC USB id detection hardware") Signed-off-by: NStephen Boyd <stephen.boyd@linaro.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 13 9月, 2016 4 次提交
-
-
由 Stephen Boyd 提交于
Some Qualcomm PMICs have a misc device that performs USB id pin detection via an interrupt. When the interrupt triggers, we should read the interrupt line to see if it has gone high or low. If the interrupt is low then the ID pin is grounded, and if the interrupt is high then the ID pin is being held high. Cc: Roger Quadros <rogerq@ti.com> Signed-off-by: NStephen Boyd <stephen.boyd@linaro.org> [cw00.choi: Edited the driver description and added the author information] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch alters the renamed extcon API to set the state of the external connectors instead of deprecated extcon_set_cable_state_(). Because the patch[1] modifies the function name to maintain the function naming pattern. - extcon_set_cable_state_() -> extcon_set_state_sync() - extcon_get_cable_state_() -> extcon_get_state() [1] https://lkml.org/lkml/2016/8/4/729 - extcon: Rename the extcon_set/get_state() to maintain the function naming pattern Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: NRoger Quadros <rogerq@ti.com>
-
由 Colin Ian King 提交于
This patch fixes the spelling mistake in dev_dbg messages. Signed-off-by: NColin Ian King <colin.king@canonical.com> [cw00.choi: Modify the patch title/description] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Krzysztof Kozlowski 提交于
Change my email address to kernel.org instead of Samsung one for the purpose of any future contact. The copyrights remain untouched and are attributed to Samsung. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
- 10 9月, 2016 14 次提交
-
-
由 Chanwoo Choi 提交于
This patchs add the new EXTCON_CHG_WPT for Wireless Power Transfer[1]. The Wireless Power Transfer is the transmission of electronical energy from a power source. The EXTCON_CHG_WPT has the EXTCON_TYPE_CHG. [1] https://en.wikipedia.org/wiki/Wireless_power_transferSigned-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chanwoo Choi 提交于
This patch adds the new EXTCON_DISP_HMD id for Head-mounted Display[1] device. The HMD device is usually for USB connector type So, the HMD connector has the two extcon types of both EXTCON_TYPE_DISP and EXTCON_TYPE_USB. [1] https://en.wikipedia.org/wiki/Head-mounted_displaySigned-off-by: NChanwoo Choi <cw00.choi@samsung.com>
-
由 Chris Zhong 提交于
Add EXTCON_DISP_DP for the Display external connector. For Type-C connector the DisplayPort can work as an Alternate Mode(VESA DisplayPort Alt Mode on USB Type-C Standard). The Type-C support both normal and flipped orientation, so add a property to extcon. Signed-off-by: NChris Zhong <zyw@rock-chips.com> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Chanwoo Choi 提交于
This patch adds the synchronization extcon APIs to support the notifications for both state and property. When extcon_*_sync() functions is called, the extcon informs the information from extcon provider to extcon client. The extcon driver may need to change the both state and multiple properties at the same time. After setting the data of a external connector, the extcon send the notification to client driver with the extcon_*_sync(). The list of new extcon APIs as following: - extcon_sync() : Send the notification for each external connector to synchronize the information between extcon provider driver and extcon client driver. - extcon_set_state_sync() : Set the state of external connector with noti. - extcon_set_property_sync() : Set the property of external connector with noti. For example, case 1, change the state of external connector and synchronized the data. extcon_set_state_sync(edev, EXTCON_USB, 1); case 2, change both the state and property of external connector and synchronized the data. extcon_set_state(edev, EXTCON_USB, 1); extcon_set_property(edev, EXTCON_USB, EXTCON_PROP_USB_VBUS 1); extcon_sync(edev, EXTCON_USB); case 3, change the property of external connector and synchronized the data. extcon_set_property(edev, EXTCON_USB, EXTCON_PROP_USB_VBUS, 0); extcon_sync(edev, EXTCON_USB); case 4, change the property of external connector and synchronized the data. extcon_set_property_sync(edev, EXTCON_USB, EXTCON_PROP_USB_VBUS, 0); Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Chanwoo Choi 提交于
This patch just renames the existing extcon_get/set_cable_state_() as following because of maintaining the function naming pattern like as extcon APIs for property. - extcon_set_cable_state_() -> extcon_set_state() - extcon_get_cable_state_() -> extcon_get_state() But, this patch remains the old extcon_set/get_cable_state_() functions to prevent the build break. After altering new APIs, remove the old APIs. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Chanwoo Choi 提交于
This patch adds the support of the property capability setting. This function decides the supported properties of each external connector on extcon provider driver. Ths list of new extcon APIs to get/set the capability of property as following: - int extcon_get_property_capability(struct extcon_dev *edev, unsigned int id, unsigned int prop); - int extcon_set_property_capability(struct extcon_dev *edev, unsigned int id, unsigned int prop); Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Chanwoo Choi 提交于
This patch support the extcon property for the external connector because each external connector might have the property according to the H/W design and the specific characteristics. - EXTCON_PROP_USB_[property name] - EXTCON_PROP_CHG_[property name] - EXTCON_PROP_JACK_[property name] - EXTCON_PROP_DISP_[property name] Add the new extcon APIs to get/set the property value as following: - int extcon_get_property(struct extcon_dev *edev, unsigned int id, unsigned int prop, union extcon_property_value *prop_val) - int extcon_set_property(struct extcon_dev *edev, unsigned int id, unsigned int prop, union extcon_property_value prop_val) Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Chanwoo Choi 提交于
This patch adds the new extcon type to group the each connecotr into following five category. This type would be used to handle the connectors as a group unit instead of a connector unit. - EXTCON_TYPE_USB : USB connector - EXTCON_TYPE_CHG : Charger connector - EXTCON_TYPE_JACK : Jack connector - EXTCON_TYPE_DISP : Display connector - EXTCON_TYPE_MISC : Miscellaneous connector Also, each external connector is possible to belong to one more extcon type. In caes of EXTCON_CHG_USB_SDP, it have the EXTCON_TYPE_CHG and EXTCON_TYPE_USB. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Tested-by: NChris Zhong <zyw@rock-chips.com> Tested-by: NGuenter Roeck <groeck@chromium.org> Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com> Reviewed-by: NGuenter Roeck <groeck@chromium.org>
-
由 Maninder Singh 提交于
This patch fixes below compilation warning:- drivers/extcon/extcon.c: In function extcon_register_notifier: drivers/extcon/extcon.c:455:6: warning: idx may be used uninitialized in this function [-Wmaybe-uninitialized] if (idx >= 0) { Signed-off-by: NVaneet Narang <v.narang@samsung.com> Signed-off-by: NManinder Singh <maninder1.s@samsung.com> [cw00.choi : Modify the patch title using the a captical letter for first char] Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch restrict the usage of extcon_update_state() in the extcon core because the extcon_update_state() use the bit masking to change the state of external connector. When this function is used in device drivers, it may occur the probelm with the handling mistake of bit masking. Also, this patch removes the extcon_get/set_state() functions because these functions use the bit masking which is reluctant way. Instead, extcon provides the extcon_set/get_cable_state_() functions. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch removes the state_store() which change the state of external connectors with bit masking on user-space. It is wrong access to modify the change the state of external connectors. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch removes the usage of extcon_set_state() because it uses the bit masking to change the state of external connectors. The extcon framework should handle the state by extcon_set_cable_state_() with extcon id. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch removes the usage of extcon_set_state() because it uses the bit masking to change the state of external connectors. The extcon framework should handle the state by extcon_set/get_cable_state_() with extcon id. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> -
由 Chanwoo Choi 提交于
This patch remvoes the usage of extcon_update_state() because the extcon_update_state() use directly the bit masking calculation to change the state of external connector without the unique id of external connector. It makes the code diffcult to read it. So, this patch uses the extcon_set_cable_state_() instead. Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
-