29 Sep, 2014
1 commit
-
There is no need to init .owner field.
Based on the patch from Peter Griffin
"mmc: remove .owner field for drivers using module_platform_driver"This patch removes the superflous .owner field for drivers which
use the module_platform_driver API, as this is overriden in
platform_driver_register anyway."Signed-off-by: Kiran Padwal
Reviewed-by: Ivan T. Ivanov
Signed-off-by: Greg Kroah-Hartman
09 Sep, 2014
1 commit
-
Merge Linux 3.17-rc4 here so we have all the latest
fixes on next too. This also cleans up a few conflicts
when applying patches.Signed-off-by: Felipe Balbi
Conflicts:
drivers/usb/gadget/Makefile
drivers/usb/gadget/function/Makefile
drivers/usb/gadget/legacy/Makefile
drivers/usb/phy/phy-samsung-usb.h
28 Aug, 2014
1 commit
-
This patch makes the phy reset clk and reset line optional as this clk
is not available on boards like IFC6410 with APQ8064.phy-reset clk is only used as argument to the mach level callbacks, so
this patch adds condition before clk_get calls so that the driver
wouldn't fail on SOCs which do not have this support.Signed-off-by: Srinivas Kandagatla
Signed-off-by: Felipe Balbi
21 Aug, 2014
1 commit
-
that declaration is only used inside this driver,
marking it static.Signed-off-by: Felipe Balbi
19 Aug, 2014
1 commit
-
In case of error, the function devm_ioremap_nocache() returns NULL
pointer not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.Signed-off-by: Wei Yongjun
Signed-off-by: Felipe Balbi
22 Jul, 2014
1 commit
-
Felipe writes:
usb: patches for v3.17 merge window
Surprisingly enough, while a big set of patches, the majority is
composed of cleanups (using devm_*, fixing sparse errors, moving
code around, adding const, etc).The highlights are addition of new support for PLX USB338x devices,
and support for USB 2.0-only configurations of the DWC3 IP core.Signed-of-by: Felipe Balbi
01 Jul, 2014
3 commits
-
Use case is when the phy is configured in host mode and a usb device is
attached to board before bootup. On bootup, with the existing code and
runtime pm enabled, the driver would decrement the pm usage count
without checking the current state of the phy. This pm usage count
decrement would trigger the runtime pm which than would abort the
usb enumeration which was in progress. In my case a usb stick gets
detected and then immediatly the driver goes to low power mode which is
not correct.log:
[ 1.631412] msm_hsusb_host 12520000.usb: EHCI Host Controller
[ 1.636556] msm_hsusb_host 12520000.usb: new USB bus registered, assigned bus number 1
[ 1.642563] msm_hsusb_host 12520000.usb: irq 220, io mem 0x12520000
[ 1.658197] msm_hsusb_host 12520000.usb: USB 2.0 started, EHCI 1.00
[ 1.659473] hub 1-0:1.0: USB hub found
[ 1.663415] hub 1-0:1.0: 1 port detected
...
[ 1.973352] usb 1-1: new high-speed USB device number 2 using msm_hsusb_host
[ 2.107707] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 2.108993] scsi0 : usb-storage 1-1:1.0
[ 2.678341] msm_otg 12520000.phy: USB in low power mode
[ 3.168977] usb 1-1: USB disconnect, device number 2This issue was detected on IFC6410 board.
This patch fixes the intial runtime pm trigger by checking the phy
state and decrementing the pm use count only when the phy state is IDLE.Signed-off-by: Srinivas Kandagatla
Signed-off-by: Felipe Balbi -
This patch makes the phy reset clk and reset line optional as this clk
is not available on boards like IFC6410 with APQ8064.Signed-off-by: Srinivas Kandagatla
Signed-off-by: Felipe Balbi -
Make of_device_id array const, because all OF functions handle
it as const.Signed-off-by: Jingoo Han
Signed-off-by: Felipe Balbi
23 May, 2014
1 commit
-
My previous patch introduced a bug which prevented this driver from
loading. devm_ioremap_resource() has a call to
devm_request_mem_region() which will fail because the address space is
shared between this PHY driver and CI device controller driver.Fixes: 10f0577aa5cb ('usb: phy: msm: change devm_ioremap() to devm_ioremap_resource()')
Reported-by:"Ivan T. Ivanov"
Signed-off-by: Dan Carpenter
Signed-off-by: Greg Kroah-Hartman
14 May, 2014
1 commit
-
There are several issues here:
1) platform_get_resource() can return NULL and that wasn't handled.
2) We should request the memory before we remap it, and
devm_ioremap_resource() does that.
3) devm_ioremap() returns a NULL but we were checking for IS_ERR().Fixes: 6b99c68ec1f9 ('usb: phy: msm: Migrate to Managed Device Resource allocation')
Signed-off-by: Dan Carpenter
Signed-off-by: Felipe Balbi
13 May, 2014
2 commits
-
Remove that single instance of writel_relaxed()
call which is only available on ARM architecture.This will let us build test this driver on all
different architectures.Reviewed-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
this solves the following build warning found when
running compile tests.drivers/usb/phy/phy-msm-usb.c: In function ‘msm_otg_read_dt’:
drivers/usb/phy/phy-msm-usb.c:1459:20: warning: cast from pointer \
to integer of different size [-Wpointer-to-int-cast]
pdata->phy_type = (int) id->data;
^
Signed-off-by: Felipe Balbi
01 May, 2014
18 commits
-
There could be more than one USB2.0 PHY's on the platform.
This will allow all of them to be registered successfully.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
New platform uses RBCPR hardware feature, with that voting for
absolute voltage of VDD CX is not required. Hence vote for corner of
VDD CX which uses nominal corner voltage on VDD CX.Signed-off-by: Ivan T. Ivanov
Cc: Mayank Rana
Signed-off-by: Felipe Balbi -
Put the transceiver in non-driving mode. Otherwise host
may not detect soft-disconnection.Signed-off-by: Ivan T. Ivanov
Cc: Pavankumar Kondeti
Signed-off-by: Felipe Balbi -
Select the secondary PHY using the TCSR register, if phy-num=1
in the DTS (or phy_number is set in the platform data). The
SOC has 2 PHYs which can be used with the OTG port, and this
code allows configuring the correct one.Note: This resolves the problem I was seeing where I couldn't
get the USB driver working at all on a dragonboard, from cold
boot. This patch depends on patch 5/14 from Ivan's msm USB
patch set. It does not use DT for the register address, as
there's no evidence that this address changes between SoC
versions.Signed-off-by: Tim Bird
Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Fix the value used for Parallel Transceiver Select (PTS) for the MSM USB
controller. This is a standard chipidea PORTSC definition, where
a PHY_TYPE of 10b (<<
Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
On few legacy platforms, USB PHY is having dedicated reset clk.
It is used to reset USB PHY after putting USB PHY into low power
mode and for calibration of USB PHY. Putting USB PHY into low
power mode is causing ulpi read/write timeout as expected. USB PHY
reset clk is not available on newer platform.For 28nm PHY, reset USB PHY after resetting USB LINK.
Also reset USB PHY using USB_PHY_PON bit with USB_OTG_HS_PHY_CTRL
register after programming USB PHY Override registers as suggested
with hardware programming guidelines.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Tim Bird
Cc: Mayank Rana
Signed-off-by: Felipe Balbi -
Allow support to use 2nd HSPHY with USB2 Core.
Some platforms may have configuration to allow USB controller
work with any of the two HSPHYs present. By default driver
configures USB core to use primary HSPHY. Add support to allow
user select 2nd HSPHY using DT parameter.Signed-off-by: Ivan T. Ivanov
Cc: Manu Gautam
Signed-off-by: Felipe Balbi -
Using reset framework eliminate need of platform specific
callbacks and enable reset lines to be specified in DT files.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Allows controller to be specified via device tree.
Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Function return negative code on error.
Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Prefix did not bring any useful information. Currently none
of the MSM platforms define these regulators, so it is safe
to rename them.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
There are no references to 'pclk_src_name' in plaform code,
so it is unused.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Use enum usb_dr_mode and drop default usb_dr_mode from platform data.
USB DT bindings states: dr_mode: "...In case this attribute isn't
passed via DT, USB DRD controllers should default to OTG...",
so remove redundand field.Signed-off-by: Ivan T. Ivanov
Acked-by: David Brown
Signed-off-by: Felipe Balbi -
This fixes following:
WARNING: quoted string split across lines
WARNING: Prefer seq_puts to seq_printfSigned-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Whether regulators are available or not is checked at driver
probe. If they are not available driver will refuse to load,
so no need to check them again.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Move memory, regulators, clocks and irq allocation to
devm_* variants. Properly check for valid clk handles.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Using platform_driver_probe() prevent driver from requesting
probe deferral. Fix this.While at that, also switch to module_platform_driver() and
remove __init annotation from probe().Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi -
Eliminating global variables allows driver to handle multiple
device instances.Signed-off-by: Ivan T. Ivanov
Signed-off-by: Felipe Balbi
25 Feb, 2014
1 commit
-
We want the USB fixes in here as well.
Signed-off-by: Greg Kroah-Hartman
20 Feb, 2014
1 commit
-
Both the PM_RUNTIME and PM_SLEEP callbacks call into the common
msm_otg_{suspend,resume} routines, however these routines are only being
built when CONFIG_PM_SLEEP. In addition, msm_otg_{suspend,resume} also
depends on msm_hsusb_config_vddcx(), which is only built when
CONFIG_PM_SLEEP.Fix the CONFIG_PM_RUNTIME, !CONFIG_PM_SLEEP case by changing the
preprocessor conditional, and moving msm_hsusb_config_vddcx().While we're here, eliminate the CONFIG_PM conditional for setting
up the dev_pm_ops.This address the following errors Russell King has hit doing randconfig
builds:drivers/usb/phy/phy-msm-usb.c: In function 'msm_otg_runtime_suspend':
drivers/usb/phy/phy-msm-usb.c:1691:2: error: implicit declaration of function 'msm_otg_suspend'
drivers/usb/phy/phy-msm-usb.c: In function 'msm_otg_runtime_resume':
drivers/usb/phy/phy-msm-usb.c:1699:2: error: implicit declaration of function 'msm_otg_resume'Cc: Ivan T. Ivanov
Reported-by: Russell King
Signed-off-by: Josh Cartwright
Signed-off-by: Felipe Balbi
08 Feb, 2014
1 commit
-
Free "motog" on error. This is more to appease the static checkers than
a real worry.Signed-off-by: Dan Carpenter
Signed-off-by: Greg Kroah-Hartman
24 Jan, 2014
1 commit
-
Pull ARM driver updates from Olof Johansson:
"Updates of SoC-near drivers and other driver updates that makes more
sense to take through our tree.The largest part of this is a conversion of device registration for
some renesas shmobile/sh devices over to use resources. This has
required coordination with the corresponding arch/sh changes, and
we've agreed to merge the arch/sh changes through our tree.Added in this branch is support for Trusted Foundations secure
firmware, which is what is used on many of the commercial Nvidia Tegra
products that are in the market, including the Nvidia Shield. The
code is local to arch/arm at this time since it's uncertain whether it
will be shared with arm64 longer-term, if needed we will refactor
later.A couple of new RTC drivers used on ARM boards, merged through our
tree on request by the RTC maintainer.... plus a bunch of smaller updates across the board, gpio conversions
for davinci, etc"* tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
watchdog: davinci: rename platform driver to davinci-wdt
tty: serial: Limit msm_serial_hs driver to platforms that use it
mmc: msm_sdcc: Limit driver to platforms that use it
usb: phy: msm: Move mach dependent code to platform data
clk: versatile: fixup IM-PD1 clock implementation
clk: versatile: pass a name to ICST clock provider
ARM: integrator: pass parent IRQ to the SIC
irqchip: versatile FPGA: support cascaded interrupts from DT
gpio: davinci: don't create irq_domain in case of unbanked irqs
gpio: davinci: use chained_irq_enter/chained_irq_exit API
gpio: davinci: add OF support
gpio: davinci: remove unused variable intc_irq_num
gpio: davinci: convert to use irqdomain support.
gpio: introduce GPIO_DAVINCI kconfig option
gpio: davinci: get rid of DAVINCI_N_GPIO
gpio: davinci: use {readl|writel}_relaxed() instead of __raw_*
serial: sh-sci: Add OF support
serial: sh-sci: Add device tree bindings documentation
serial: sh-sci: Remove platform data mapbase and irqs fields
serial: sh-sci: Remove platform data scbrr_algo_id field
...
09 Jan, 2014
1 commit
-
This patch fix compilation error when driver is compiled
in multi-platform builds.drivers/built-in.o: In function `msm_otg_link_clk_reset':
./drivers/usb/phy/phy-msm-usb.c:314: undefined reference to `clk_reset'
./drivers/usb/phy/phy-msm-usb.c:318: undefined reference to `clk_reset'Use platform data supplied reset handlers and adjust error
messages reported when reset sequence fail.This is an intermediate step before adding support for reset
framework and newer targets.Signed-off-by: Ivan T. Ivanov
Acked-by: David Brown
Cc: Daniel Walker
Acked-by: Felipe Balbi
Cc: Greg Kroah-Hartman
Signed-off-by: Stephen Boyd
Signed-off-by: Olof Johansson
09 Dec, 2013
1 commit
-
Individual controller driver has different requirement for wakeup
setting, so move it from core to itself. In order to align with
current etting the default wakeup setting is enabled (except for
chipidea host).Pass compile test with below commands:
make O=outout/all allmodconfig
make -j$CPU_NUM O=outout/all drivers/usbSigned-off-by: Peter Chen
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
30 Jul, 2013
1 commit
-
Use the wrapper function for retrieving the platform data instead of
accessing dev->platform_data directly.Signed-off-by: Jingoo Han
Signed-off-by: Felipe Balbi
25 Jun, 2013
1 commit
-
Add calls to clk_prepare and unprepare so that MSM can migrate to
the common clock framework.Acked-by: Felipe Balbi
Signed-off-by: Stephen Boyd
Signed-off-by: David Brown
18 Mar, 2013
1 commit
-
this will make sure that we have sensible names
for all phy drivers. Current situation was already
quite bad with too generic names being used.Signed-off-by: Felipe Balbi