- 29 7月, 2015 5 次提交
-
-
由 Ivan T. Ivanov 提交于
Driver handles PHY initialization, clock management, power management and workarounds required after resetting the hardware. Signed-off-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 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. Currently this parameter is made optional with the help of a cpp trick. To allow dropping this hack convert callers to explictly pass a value for flags. Acked-by: NFelipe Balbi <balbi@ti.com> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Chanwoo Choi 提交于
This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Chanwoo Choi 提交于
This patch uses the devm_extcon_dev_[allocate|register]() to manage the resource automatically and replace deprecated API as following: - extcon_[set|get]_cable_state(*edev, char *) -> extcon_[set|get]_cable_state_(*edev, id) Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Chanwoo Choi 提交于
This patch removes the deprecated notifier API of extcon framwork and then use the new extcon API with the unique id to indicate the each external connector (USB, USB-HOST). Alter deprecated API as following: - extcon_register_interest() -> extcon_register_notifier() - extcon_get_cable_state(*edev, char *) -> extcon_get_cable_state_(*edev, id) [ balbi@ti.com : fix build break ] Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 07 7月, 2015 1 次提交
-
-
由 Stefan Wahren 提交于
Triggering suspend to RAM via sysfs on a i.MX28 causes a NULL pointer dereference. This patch avoids the oops in mxs_phy_get_vbus_status() by aborting since there is no syscon available. Signed-off-by: NStefan Wahren <stefan.wahren@i2se.com> Fixes: efdbd3a5 ("usb: phy: mxs: do not set PWD.RXPWD1PT1 for low speed connection") CC: <stable@vger.kernel.org> # 4.0 Acked-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 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>
-
- 26 5月, 2015 3 次提交
-
-
由 NeilBrown 提交于
Split the "get phy from device_node" functionality out of "get phy by phandle" so it can be used directly. This is useful when a battery-charger is intimately associated with a particular phy but handled by a separate driver. The charger can find the device_node based on sibling relationships without the need for a redundant declaration in the devicetree description. As a peripheral that gets a phy will often want to register a notifier block, and de-register it later, that functionality is included so the de-registration is automatic. Acked-by: NPavel Machek <pavel@ucw.cz> Signed-off-by: NNeilBrown <neilb@suse.de> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Fabio Estevam 提交于
Since commit 1c6c6952 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Fabio Estevam 提交于
Since commit 1c6c6952 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. So pass the IRQF_ONESHOT flag in this case. The semantic patch that makes this change is available in scripts/coccinelle/misc/irqf_oneshot.cocci. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 22 5月, 2015 1 次提交
-
-
由 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>
-
- 10 5月, 2015 2 次提交
-
-
由 Krzysztof Kozlowski 提交于
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Geert Uytterhoeven 提交于
The phy-rcar-gen2-usb driver, which supports legacy platform data only, is no longer used since commit a483dcbf ("ARM: shmobile: lager: Remove legacy board support"). This driver was superseded by the DT-only phy-rcar-gen2 driver, which was introduced in commit 1233f59f ("phy: Renesas R-Car Gen2 PHY driver"). Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 5月, 2015 2 次提交
-
-
由 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. Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Cc: <linux-usb@vger.kernel.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Krzysztof Kozlowski 提交于
The platform_device_id is not modified by the driver and core uses it as const. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski.k@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 29 4月, 2015 3 次提交
-
-
由 Geert Uytterhoeven 提交于
The phy-rcar-gen2-usb driver, which supports legacy platform data only, is no longer used since commit a483dcbf ("ARM: shmobile: lager: Remove legacy board support"). This driver was superseded by the DT-only phy-rcar-gen2 driver, which was introduced in commit 1233f59f ("phy: Renesas R-Car Gen2 PHY driver"). Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Ivan T. Ivanov 提交于
VBUS is not routed to USB PHY on recent Qualcomm platforms. USB controller must see VBUS in order to pull-up DP when setting RS bit. Henc configure USB PHY and LINK registers sense VBUS and enable manual pullup on D+ line. Cc: Vamsi Krishna <vskrishn@codeaurora.org> Cc: Mayank Rana <mrana@codeaurora.org> Signed-off-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Ivan T. Ivanov 提交于
On recent Qualcomm platforms VBUS and ID lines are not routed to USB PHY LINK controller. Use extcon framework to receive connect and disconnect ID and VBUS notification. Signed-off-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 28 4月, 2015 1 次提交
-
-
由 Arnd Bergmann 提交于
The isp1301-omap driver contains special hooks for the TPS65010 power management controller. It provides its own 'tps65010_set_vbus_draw' wrapper in case that driver is not enabled through Kconfig, but fails to handle the case where isp1301-omap is built-in but TPS65010 is a loadable module, which currently results in a link error: drivers/built-in.o: In function `isp1301_set_power': :(.text+0x14e188): undefined reference to `tps65010_set_vbus_draw' This is a workaround to use the same trick as before also when tps65010 is a module. Doing a proper fix would require much larger changes to the driver that is not really worth it when the usb-phy drivers are going to eventually get replaced with generic-phy drivers. Signed-off-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 04 4月, 2015 1 次提交
-
-
由 Yoshihiro Shimoda 提交于
According to the technical update (No. TN-RCS-B011A/E), the UGSTS LOCK bit location is bit 8, not bits 9 and 8. So, this patch fixes the USBHS_UGSTS_LOCK value. Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 25 3月, 2015 1 次提交
-
-
由 Ivan T. Ivanov 提交于
USB_ULPI_VIEWPORT didn't depend on USB_ULPI, while USB_ULPI is using non user selectable USB_ULPI_VIEWPORT. Fix this. Signed-off-by: NIvan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 20 3月, 2015 1 次提交
-
-
由 Axel Lin 提交于
The res parameter passed to devm_usb_phy_match() is the location where the pointer to the usb_phy is stored, hence it needs to be dereferenced before comparing to the match data in order to find the correct match. Fixes: 410219dc ("usb: otg: utils: devres: Add API's to associate a device with the phy") Signed-off-by: NAxel Lin <axel.lin@ingics.com> Cc: <stable@vger.kernel.org> # v3.6+ Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 19 3月, 2015 1 次提交
-
-
由 Stephen Boyd 提交于
This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-usb@vger.kernel.org Cc: David Brown <davidb@codeaurora.org> Cc: Bryan Huntsman <bryanh@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 14 3月, 2015 1 次提交
-
-
由 Stephen Boyd 提交于
This code is no longer used now that mach-msm has been removed. Delete it. Cc: Felipe Balbi <balbi@ti.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-usb@vger.kernel.org Cc: David Brown <davidb@codeaurora.org> Cc: Bryan Huntsman <bryanh@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 11 3月, 2015 4 次提交
-
-
由 Fabio Estevam 提交于
Commit 9eb07977 ("usb: phy: generic: fix the gpios to be optional") calls gpiod_direction_output() in the probe function, so there is no need to call it again, as we can simply call gpiod_set_value() directly. Also, in usb_gen_phy_shutdown() we can simply put the GPIO directly in its active level state and this allows us to simplify the nop_reset function to treat only the reset case. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mickael Maison 提交于
Fixed a comment typo in drivers/usb/phy/of.c Signed-off-by: NMickael Maison <mickael.maison@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Mickael Maison 提交于
Fixed a comment typo in drivers/usb/phy/phy-ab8500-usb.c Signed-off-by: NMickael Maison <mickael.maison@gmail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 David Dueck 提交于
This fixes a potential null pointer dereference. Cc: <stable@vger.kernel.org> # v3.16+ Fixes: d4332013 ("driver core: dev_get_drvdata: Don't check for NULL dev") Acked-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: NDavid Dueck <davidcdueck@googlemail.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 10 3月, 2015 2 次提交
-
-
由 Bjorn Andersson 提交于
The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Acked-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bjorn Andersson 提交于
The function regulator_set_optimum_mode() is changing name to regulator_set_load(), so update the code accordingly. Signed-off-by: NBjorn Andersson <bjorn.andersson@sonymobile.com> Acked-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 31 1月, 2015 3 次提交
-
-
由 Fabio Estevam 提交于
Since commit e9f2cefb ("usb: phy: generic: migrate to gpio_desc") a kernel hang is observed on imx51-babbage board: [ 1.392824] ci_hdrc ci_hdrc.1: doesn't support gadget [ 1.397975] ci_hdrc ci_hdrc.1: EHCI Host Controller [ 1.403205] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1 [ 1.422335] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 [ 1.432962] hub 1-0:1.0: USB hub found [ 1.437119] hub 1-0:1.0: 1 port detected This hang happens because the reset GPIO stays at logic level 0. The USB PHY reset gpio is defined in the dts file as: reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; , which means it is active low, so what the gpio reset pin needs to do in this case is the following: - Go to logic level 0 to reset the USB PHY - Stay at 0 for a bit - Go back to logic level 1 When switching to gpiod API we need to following according to Documentation/gpio/consumer.txt: "The first thing a driver must do with a GPIO is setting its direction. If no direction-setting flags have been given to gpiod_get*(), this is done by invoking one of the gpiod_direction_*() functions: int gpiod_direction_input(struct gpio_desc *desc) int gpiod_direction_output(struct gpio_desc *desc, int value)" Since no direction-setting flags have been given to devm_gpiod_get_optional() in our case, we need to use gpiod_direction_output to comply with the gpiod API. With this change the USB PHY reset performs a proper reset, the kernel boots fine and USB host is functional. Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Robert Jarzmik 提交于
Declare the interrupt as "one shot" so that it is masked until the end of the threaded handler. This prevents the irq core from spitting out an error : "Threaded irq requested with handler=NULL and !ONESHOT for irq 63" This was introduced by commit "usb: phy: generic: add vbus support". Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Robert Jarzmik 提交于
All the gpios, ie. reset-gpios and vbus-detect-gpio, should be optional and not prevent the driver from working. Fix the regression in the behavior introduced by commit "usb: phy: generic: migrate to gpio_desc". Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Tested-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 27 1月, 2015 4 次提交
-
-
由 Peter Chen 提交于
There is a request from IC engineer that if we doesn't set phypwd as 0xffffffff, we need to delay about five 32Khz cycles before set phy's pwd register, otherwise, the wakeup signal may can't wake up controller. Signed-off-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Peter Chen 提交于
At very rare cases, the SoF will not send out after resume with low speed connection. The workaround is do not power down PWD.RXPWD1PT1 bit during the suspend. Signed-off-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Li Jun 提交于
For non-otg mode, we keep the usage of disconnect line between phy analog and digital unchanging; for otg mode, at peripheral role, we keep the usage unchanging too, at host role, the digital part needs to know dp/dm change to respond device's data pulse when it is at low power mode. Signed-off-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NLi Jun <b47624@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Peter Chen 提交于
The RLT code has already done it, so no software operation is needed. Signed-off-by: NPeter Chen <peter.chen@freescale.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 20 1月, 2015 2 次提交
-
-
由 Paul Zimmerman 提交于
The use of GPIOs should be optional for the generic phy, otherwise the Altera SOCFPGA platform at least is broken. Fixes breakage caused by a combination of e9f2cefb "usb: phy: generic: migrate to gpio_desc" and 135b3c43 "usb: dwc2: platform: add generic PHY framework support". Reviewed-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NPaul Zimmerman <paulz@synopsys.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
由 Heikki Krogerus 提交于
In practice failure to find phy when requested in non-OF case means it will never become available, so __usb_find_phy() must return -ENODEV and not -EPROBE_DEFER. This fixes a regression caused by commit 9c9d8249 (usb: phy: Fix deferred probing), where the USB controller driver is left infinitely into deferred probe when there are no phys. Fixes: 9c9d8249 (usb: phy: Fix deferred probing) Signed-off-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NFelipe Balbi <balbi@ti.com>
-
- 13 1月, 2015 1 次提交
-
-
由 Arnd Bergmann 提交于
The driver was recently adapted to a core API change, but the change was incomplete, missing out the suspend helper and leaving an extraneous local variable around: usb/phy/phy-mv-usb.c: In function 'mv_otg_update_state': usb/phy/phy-mv-usb.c:341:18: warning: unused variable 'phy' [-Wunused-variable] usb/phy/phy-mv-usb.c: In function 'mv_otg_suspend': usb/phy/phy-mv-usb.c:861:16: error: 'struct usb_phy' has no member named 'state' Signed-off-by: NArnd Bergmann <arnd@arndb.de> Fixes: e47d9254 ("usb: move the OTG state from the USB PHY to the OTG structure") Signed-off-by: NFelipe Balbi <balbi@ti.com>
-