Tony Lindgren [Mon, 12 Oct 2009 16:22:03 +0000 (09:22 -0700)]
Merge rebuilt linux-omap back into master
Merge branch 'master' into tmp-rebuild-
1255364515
Tony Lindgren [Mon, 12 Oct 2009 16:21:59 +0000 (09:21 -0700)]
Merge for-next
Merge branch 'for-next' into tmp-rebuild-
1255364515
Tony Lindgren [Mon, 12 Oct 2009 16:21:58 +0000 (09:21 -0700)]
Merge omap-testing
Merge branch 'omap-testing' into tmp-rebuild-
1255364515
Tony Lindgren [Mon, 12 Oct 2009 16:21:57 +0000 (09:21 -0700)]
Merge omap-fixes
Merge branch 'omap-fixes' into tmp-rebuild-
1255364515
Tony Lindgren [Mon, 12 Oct 2009 16:21:57 +0000 (09:21 -0700)]
Merge ehci
Merge branch 'ehci' into tmp-rebuild-
1255364515
Juha Yrjola [Mon, 12 Oct 2009 16:17:33 +0000 (09:17 -0700)]
omap: Add drivers/cbus support
CBUS is the bus that Energy Management ASICs are connected to on
some Nokia mobile devices. Added support for CBUS and two EM ASIC
drivers.
This commit is a merge of all the commits that were in the linux-omap
tree:
aae6da6d5f09307b1feb391a47d1ddb6bf2d523e CBUS: Switch to gpio_request/free calls
702e65cebefe0af8ac4a648286f229947f3e1b68 cbus build fixes
f03fdeddbbaafb57f0f62629a316036f270a973d use gpio_to_irq (OMAP tree only)
570f10b7d3aaa3d542b749622df2a1f86e54ebc3 use gpio_direction_output (OMAP tree only)
d59842e6881e8f58cb17de5c0d11866796347d50 use gpio_direction_input (OMAP tree only)
7270f33b7b0139f40fcfbf771dc5ec5a773a71cd use standard gpio get/set calls (OMAP tree only)
f228a725b975832ac5771ab2fc86d06bd694cdb3 ARM: OMAP: Remove io_p2v, use ioremap and XXX_IO_ADDRESS
fdee8764947cde1e6933e7d981ce5b9de00e83e6 Merge current mainline tree into linux-omap tree
5061bcd119547453b32c847d2b9490a052bc1755 Merge mainline v2.6.27-rc2 tree into linux-omap tree
2d46b9c984d1c862f2525b4d0cabcb092f77ac64 CBUS: A workaround for ADC S/H HW bug: always keep ch 8 selected when S/H is used
648f41f57c2bfa7152f0760ca29a1e9dac566ca4 USB: Change omap USB code to use omap_read/write instead of __REG for multi-omap
d305c615bb7f85d49788a4ed28cb6aace2317ab7 ARM: OMAP: Misc compile fixes
bfbd53fcc738ff33ebcf91bc3ef25ae637cc4175 CBUS: Checkpatch.pl fixes for retu-wdt.c
2d28be5848928fbb17952e8eb5295fb506e0c40e CBUS: Fix retu mutex handling
7faa6dd4ae4db44f9c3142484266e17080314d79 CBUS: Fix retu-headset driver by not using removed input_dev->private field
8964c7d13133723ef2fe6a2b798a3fd336b15f4e ARM: OMAP: Add return value check for input_register_device()
2cf7bc8a039d6a6b4558c8c3a319ea15eccab60c CBUS: Fix retu-headset driver by not using removed input_dev->cdev field
97b705ad835f1481270c4b67b402d6e37fa8ad15 ARM: OMAP: Misc compile fixes after syncing with mainline
488de021a75771df95473c85bfaa9c8f1c9db659 tahvo-usb: compile fix usb/gadget.h
d079a1c74ea46f75cc406838c45652b97205e6be CBUS: Do not BUG_ON in retu-headset in case of spurious release event
074e3419440ba83e659be554f827e928826b512d CBUS: Fix reentrant issues in retu-headset driver
9afd4b705891e8afd505ecabec25539b22416d7a CBUS: Manage bias voltage in retu-headset suspend/resume code
0de1ae4b1cee28514dec435bf58c4b5960dfb4e1 CBUS: Cleanup retu-headset driver
dff99b718dffb5c041c99eebb3607f411d377f4d ARM: OMAP: Misc compile fixes after updating to current mainline tree
e0f2c271e0e3feaab8f8190b39876683099d3f6a ARM: OMAP: Fix inconsistency of completion in retu-rtc
6cda72c73944cc50250b3ae959174b6778d5e19f ARM: OMAP: Fix USB compilation for N770 defconfig
d041f80e997ff7c21b14fdee920a034e576aa226 CBUS: Add driver for Retu/Vilma headset detection
699d8412c1bf505f24d1a2048b49b8ffd8fe1d00 ARM: OMAP: Clean up bitrot to sync with mainline
ba9ca80b6468c5500a84a5c5e84383a6925a0bc3 ARM: OMAP: Convert driver interrupt flags SA_* to IRQF_*
7adeaaa4390dff8dcd4e44e6bcb144befcc2816f ARM: OMAP: Workqueue changes for retu-rtc
708739a058a59b76f72062bda81fb961e05d61e8 ARM: OMAP: Workqueue changes for tahvo-usb
995dda5fa21c77d337fa2fc07914ecb15cd08e54 ARM: OMAP: Fix warnings in N770 build
e2f0b012fd0fc16899dcdabc0b43fabdfdadcd8c ARM: OMAP: Fix broken N770 build (tahvo-usb)
d5c772f519236d8683b460e5da37f4a943ca4aae Fix some pt_regs users
229b59cdb41742aa4aee3628962af6ef2c4d944a Sync with mainline: Get rid of unnecessary pt_regs
b983452be56be4169233c34be1134e8030be674b Sync with mainline: Get rid of <#include linux/config.h>
77845293a4eb6cfea806ecc74ea9988c044a76bc CBUS: Retu: add atomic set and clear register bits function
d2db44bd92af99576cdf976f7dfc95f54884b14d CBUS: Tahvo: add atomic set and clear register bits function
e19cba0ecf9dd2d9adfdba175e335aebe973023a CBUS: Enable suspend wakeup for Retu IRQ
8c81aa40bea255769f13449dfb7699552ddb8438 Merge source.mvista.com:/home/git/linux-omap-2.6
1230366a669d16c7a292586adc7ab0725395f5b4 Manual merge to make things compile after updating to 2.6.18-rc4
6b411907432fe97bce3e6a253f6b98ab6c105efc CBUS: turn off tahvo-usb OTG idle mode during enabling
e3b2a7b6c6bcb4d6e839695fdac3e23b86046f98 CBUS: Make Retu RTC and Tahvo USB drivers use sysfs_notify
fe3702054f6412aea04373ceb9d27a4a417ff3f0 OMAP: Fix USB on Nokia 770
9c926661738080ee298bc3a51240dd102973fa61 [PATCH] ARM: OMAP: tahvo_user: sem2mutex conversion
ea90ef431139e4ac40b1d08726f45283f98d50ef [PATCH] ARM: OMAP: tahvo usb: sem2mutex conversion
06563a863d399ab6a3a5c104ddf086030f33b6f6 [PATCH] ARM: OMAP: retu-user: sem2mutex conversion
72a222f41989a4b8ad8cddf62c47608ad2e9e358 [PATCH] ARM: OMAP: retu-rtc: sem2mutex conversion
7508d984603f5ce3cb6883c229c97ed0a35d24c6 [PATCH] CBUS: Fix tahvo-usb omap_otg_remove
07f4f04763e2ff4333d44bec438d4bacbea0b4ae CBUS: Convert Retu power button driver to use input_allocate_device()
c604ff0bb1bbd3c6bf14bb9e5cae67c5a89e4ece cbus: Update tahvo-usb for kernel API changes.
f5c9432bb9bd44968cb785e3bb8aad95d6af3431 [PATCH] ARM: OMAP: gpio-switch and retu-rtc kobject_uevent() fixes
517df76f9295ac1865494476e8b531c65232dc5a ARM: OMAP: Replace clock.h with clk.h
93cb1e87df6ac03d315c0408634831e7db898a77 ARM: OMAP: Support for new Retu chips
480a299b3f3a5302f068fb7e3c68069ab3d355a5 ARM: OMAP: Support for 7-bit backlight register on new Tahvo chips
19deb6846965d9fdd5a87cae3593a953ccfea778 ARM: OMAP: Add CBUS support
Tony Lindgren [Mon, 12 Oct 2009 16:17:28 +0000 (09:17 -0700)]
omap3: ehci build-fix
omap3: ehci build-fix
Commit
b5d4fdd9 (omap: ehci: remove chargepump hack) by me
introduced a build error.
Fix this.
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:17:27 +0000 (09:17 -0700)]
omap: ehci: remove DPLL5 programming
DPLL5 programming should be taken care of by the clock framework.
The driver should not need to worry about programming this
explicitly.
Also, the DPLL5 m and n values used were valid only for a
specific value of the system clock. So they would not work
correctly for other input frequencies anyway.
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:17:27 +0000 (09:17 -0700)]
omap: ehci: remove chargepump hack
This hack was for a very early development board that is no longer
in use. Remove it. No board should require it.
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Koen Kooi [Mon, 12 Oct 2009 16:17:26 +0000 (09:17 -0700)]
ARM: OMAP: Fix beagleboard EHCI setup
The EHCI configuration in the beagleboard board file was copy/pasted
from the sdp one and hence wrong. The beagleboard only used one port
and lacks a charge pump.
Tested on revision C1D and C3 boards
Signed-off-by: Koen Kooi <koen@beagleboard.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:25 +0000 (09:17 -0700)]
ehci: Support for ES3.x
OMAP ES3.x supports portwise PHY or TLL mode of operation whereas
in ES2.x all the three ports can either be in PHY mode or in TLL
mode.Port3 can not be configured in PHY mode.
Port mode must be defined either PHY, TLL or UNKNOWN in platform
files.Be careful of the scenario where one port is set as PHY and
other in TLL but the OMAP silicon version is 2.x or earlier where
this scenario is *not* supported.
Changes are :
- Setup all the bypass configuration in omap_start_ehc()
based on ES version.
- Remove UHH_HOSTCONFIG programming for bypass settings
in omap_usb_utmi_init()
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Olof Johansson [Mon, 12 Oct 2009 16:17:25 +0000 (09:17 -0700)]
[v2] omap2: ehci: Make Overo compile again
Overo needs the same changes as the other platforms do for the ehci changes.
Also, roll in the corresponding change from Steve Sakoman fixing the
port setup (removing the redundant GPIO setup and switching to port 2).
Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:24 +0000 (09:17 -0700)]
ehci: update driver with another generic change
Update the OMAP EHCI driver in accordance with below patch
introduced in generic EHCI driver.
commit
914b701280a76f96890ad63eb0fa99bf204b961c
USB: EHCI: use the new clear_tt_buffer interface
Without this EHCI becomes unusable when a compound device
DELL USB keyboard)is connected and disconnected.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:23 +0000 (09:17 -0700)]
ehci: fix kernel panic in ehci_probe
hcd_priv_size has to be sizeof(struct ehci_hcd).
- .hcd_priv_size = sizeof(struct ehci_hcd_omap),
+ .hcd_priv_size = sizeof(struct ehci_hcd),
Without this kernel panic is observed in probe function.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Olof Johansson [Mon, 12 Oct 2009 16:17:23 +0000 (09:17 -0700)]
EHCI USB: Don't use generic shutdown function
The OMAP EHCI glue code has a layer of driver state struct between
the platform_device and usb_hcd. So it can't use the generic
usb_hcd_platform_shutdown.
This fixes a panic at reboot time.
Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:22 +0000 (09:17 -0700)]
ehci: portwise configurations
OMAP3 EHCI has three ports and we can configure port modes
(PHY/TLL) on per port basis in silicon version ES3.0 onwards.
This patch modifies the existing EHCI driver to accomodate
portwise mode configuration.
Changes being done:
- Pass platform_data pointer as parameter to usb_ehci_init()
to avoid multiple parameters.
- Use platform_data pointer in usb-ehci.c as platform_data
directly without copying it to another *pdata*.
- Initializing platform_data in all platform files with
platform specific ehci parameters.
- Added port_mode[OMAP_HS_USB_PORTS]in platform_data
structures.This allows to setup mux pins on per port basis.
- Added phy_reset_gpio[OMAP_HS_USB_PORTS].
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:21 +0000 (09:17 -0700)]
ehci: increase timeout to fix ehci failure
Sometime during TLL reset and waiting loop for TLL reset timeouts and thus
ehci init fails. Fixing this by increasing timeout value.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:21 +0000 (09:17 -0700)]
ehci: fix phy_reset init in ehci probe
phy_reset is not getting updated from platform_data.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:15 +0000 (09:17 -0700)]
ehci: correct EHCI init parameters on OMAP3EVM
Multimedia Daughter card on OMAP3EVM uses port2 as EHCI port.
Other ports (port1 and port3)are not used.
GPIO135 has been used as EHCI phy reset pin so the mux config
is also setup.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:14 +0000 (09:17 -0700)]
ehci: update driver with generic change
Update the OMAP EHCI driver in accordance with below patch
introduced in generic EHCI driver.
commit:
b18ffd49e86102a9ed0a1cc83fdafe3891e844e5
USB: EHCI: update toggle state for linked QHs
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Ajay Kumar Gupta [Mon, 12 Oct 2009 16:17:13 +0000 (09:17 -0700)]
ehci: fix ehci pin mux init
EHCI pin mux init fucntion is still using old #ifdef
which are not defined anymore.This causes pin mux init to
always set TLL settings and thus EHCI PHY mode doesn't work.
Fixing this issue by using phy_mode parameter to initialize
mux settings.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Felipe Balbi [Mon, 12 Oct 2009 16:17:13 +0000 (09:17 -0700)]
usb: host: introduce ehci-omap driver
This patch introduces ehci support for omap hardware.
Signed-off-by: Felipe Balbi <me@felipebalbi.com>
Vikram Pandita [Mon, 12 Oct 2009 16:17:12 +0000 (09:17 -0700)]
USB: Add OMAP EHCI glue layer
Add OMAP EHCI glue layer
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Acked-by: Kamat, Nishant <nskamat@ti.com>
Roger Quadros [Mon, 12 Oct 2009 16:13:41 +0000 (09:13 -0700)]
omap_hsmmc: Add missing probe handler hook to platform driver data
The missing probe handler hook will never probe the driver. Add it back.
Fixes broken MMC on OMAP.
We use platform_driver_probe() API since omap_hsmmc is not a hot-pluggable
device.
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Amit Kucheria [Mon, 12 Oct 2009 16:13:41 +0000 (09:13 -0700)]
input: fix rx51 board keymap
The original driver was written with the KEY() macro defined as (col, row)
instead of (row, col) as defined by the matrix keypad infrastructure. So the
keymap was defined accordingly.
Since the driver that was merged upstream uses the matrix keypad
infrastructure, modify the keymap accordingly.
While we are at it, fix the comments in twl4030.h and define PERSISTENT_KEY as
(r,c) instead of (c, r)
Tested on a RX51 (N900) device.
Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Roger Quadros [Mon, 12 Oct 2009 16:13:40 +0000 (09:13 -0700)]
twl4030: Fix boot with twl4030 usb transceiver enabled
The usb regulator supplies (usb1v5, usb1v8 & usb3v1) must be available
before adding the twl4030_usb child, else twl4030_usb_ldo_init() will
always fail thus causing boot lock-up.
This patch fixes boot on OMAP systems using the twl4030 usb transceiver.
CONFIG_TWL4030_USB=y
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Teerth Reddy [Mon, 12 Oct 2009 16:13:19 +0000 (09:13 -0700)]
ZOOM2: Initialization of SDRC params on Zoom2
This patch initializes the correct SDRC settings required
for DVFS on Zoom2.
Signed-off-by: Teerth Reddy <teerth@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Aaro Koskinen [Mon, 12 Oct 2009 16:13:18 +0000 (09:13 -0700)]
[v2] OMAP: RX-51: Drop I2C-1 speed to 2200
The I2C-1 bus frequency on RX-51 should be 2.2 MHz. The speed is limited
by TWL5030/GAIA; a higher speed could lead to errors on the interface. The
maximum speed depends on the system clock for GAIA: 2.2 MHz (if 19.2 MHz),
2.4 MHz (26 MHz) or 2.9 MHz (38.4 MHz).
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:13:18 +0000 (09:13 -0700)]
omap: SDMA: Fixing bug in omap_dma_set_global_params()
Argument tparams was not being used to program
global register GCR.HI_THREAD_RESERVED. This patch fixes the same.
Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Mon, 12 Oct 2009 16:13:17 +0000 (09:13 -0700)]
omap: CONFIG_ISP1301_OMAP redefined in Beagle defconfig
The symbol CONFIG_ISP1301_OMAP was defined twice in the
defconfig. This was causing the warning:
arch/arm/configs/omap3_beagle_defconfig:972:warning:
override: reassigning to symbol ISP1301_OMAP
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Roel Kluin [Mon, 12 Oct 2009 16:13:15 +0000 (09:13 -0700)]
omap: Fix Unlikely(x) < y
The closing parenthesis was not on the right location.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:11:24 +0000 (09:11 -0700)]
omap: Introduce OMAP3630
OMAP3630 is the latest in the family of OMAP3 devices
and among the changes it introduces are:
New OPP levels for new voltage and frequency levels. a bunch of
Bug fixes to various modules feature additions, notably with ISP,
sDMA etc.
Details about the chip is available here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606
Strategy used:
Strategy to introduce this device into Linux was discussed here:
Ref: http://marc.info/?t=
125343303400003&r=1&w=2
Two approaches were available:
a) Consider 3630 generation of devices as a new family of silicon
b) Consider 3630 as an offshoot of 3430 family of devices
As a common consensus, (b) seems to be more valid for 3630 as:
* There are changes which are easily handled by using "FEATURES"
infrastructure.
For details how to do this, see thread:
http://marc.info/?t=
125050998500001&r=1&w=2
* Most of existing 34xx infrastructure can be reused(almost 90%+)
- so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx())
all over the place
- lesser chance of bugs due to reuse of proven code flow
- 36xx specific handling can still be done where required
within the existing infrastructure
NOTE:
* If additional 34xx series are added, OMAP3430_REV_ESXXXX can be
added on top of the existing 3630 ones are renumbered
This patch was tested on SDP3430, boot tested on 3630 platform using
3430sdp defconfig
Signed-off-by: Madhusudhan Chikkature Rajashekar <madhu.cr@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Allen Pais <allen.pais@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Sanjeev Premi <premi@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Sergio Alberto Aguirre Rodriguez <saaguirre@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Mon, 12 Oct 2009 16:09:29 +0000 (09:09 -0700)]
omap: Runtime detection of OMAP35x devices
Add runtime check for these OMAP35x variations
based on the detected Si features:
OMAP3503, OMAP3515, OMAP3525 and OMA3530.
Also, delayed the call to pr_info() into actual
variant is detected in omap3_cpuinfo()
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:09:29 +0000 (09:09 -0700)]
omap: Include bitops from cpu.h
Otherwise we need to include bitops.h everywhere where we
test the omap_rev.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Mon, 12 Oct 2009 16:09:29 +0000 (09:09 -0700)]
omap: Runtime detection of Si features
The OMAP35x family has multiple variants differing
in the HW features. This patch detects these features
at runtime and prints information during the boot.
Since most of the code seemed repetitive, macros
have been used for readability.
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Alexander Shishkin [Mon, 12 Oct 2009 16:09:28 +0000 (09:09 -0700)]
omap: Eliminate OMAP_MAX_NR_PORTS
Eliminate OMAP_MAX_NR_PORTS
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:09:28 +0000 (09:09 -0700)]
omap: Use getnstimeofday for omap_device
Otherwise we cannot remove OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:09:27 +0000 (09:09 -0700)]
omap: Use ioremap for omap_hwmod instead of OMAP2_IO_ADDRESS
Otherwise we cannot get rid of OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:09:27 +0000 (09:09 -0700)]
omap: Use OMAP2_L4_IO_ADDRESS instead of OMAP2_IO_ADDRESS
Otherwise we cannot remove OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 12 Oct 2009 16:09:27 +0000 (09:09 -0700)]
omap: Add OMAP4 L3 and L4 peripherals.
This patch adds few necessary peripherals for OMAP4.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 12 Oct 2009 16:09:26 +0000 (09:09 -0700)]
omap: Fix DEBUG_LL UART io address
This patch fixes the low level debug UART io address as per this series.
The change is essential to have CONFIG_DEBUG_LL working.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 12 Oct 2009 16:09:26 +0000 (09:09 -0700)]
omap: Move SRAM map to claim more io space
This patch moves SRAM map to free up more kernel address io space.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 12 Oct 2009 16:09:26 +0000 (09:09 -0700)]
omap: Remap L3, L4 to get more kernel io address space
This patch remap L3 and L4 io space to get more kernel address space.
With this patch, 512 MB of IO space is reclaimed.
Some more combinations are possible but to make it uniform across
OMAP24XX, OMAP34XX and OMAP4430, these io combinations are chosen
Once this is reviewed and tested sufficiently, a documentation entry can
be created to ease up reading and debugging.
Like "Documentation/arm/omap/io_map.txt"
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Mon, 12 Oct 2009 16:09:25 +0000 (09:09 -0700)]
omap: Split OMAP2_IO_ADDRESS to L3 and L4
This patch splits OMAP2_IO_ADDRESS to OMAP2_L3_IO_ADDRESS and
OMAP2_L4_IO_ADDRESS to reclaim more IO space.
The omap_read*() and omap_write*() functions will work only over
L4 address space. Current omap kernel stack uses these functions
only to access registers over L4 io address space
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 12 Oct 2009 16:09:06 +0000 (09:09 -0700)]
Merge branch 'omap7xx-fortony-rc3' of git://robotfuzz.com/linwizard-kernel into omap7xx
Linus Torvalds [Sun, 11 Oct 2009 21:43:56 +0000 (14:43 -0700)]
Linux 2.6.32-rc4
Yinghai Lu [Sun, 11 Oct 2009 21:17:16 +0000 (14:17 -0700)]
pci: increase alignment to make more space for hidden code
As reported in
http://bugzilla.kernel.org/show_bug.cgi?id=13940
on some system when acpi are enabled, acpi clears some BAR for some
devices without reason, and kernel will need to allocate devices for
them. It then apparently hits some undocumented resource conflict,
resulting in non-working devices.
Try to increase alignment to get more safe range for unassigned devices.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 11 Oct 2009 18:34:50 +0000 (11:34 -0700)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (21 commits)
[S390] dasd: fix race condition in resume code
[S390] Add EX_TABLE for addressing exception in usercopy functions.
[S390] 64-bit register support for 31-bit processes
[S390] hibernate: Use correct place for CPU address in lowcore
[S390] pm: ignore time spend in suspended state
[S390] zcrypt: Improve some comments
[S390] zcrypt: Fix sparse warning.
[S390] perf_counter: fix vdso detection
[S390] ftrace: drop nmi protection
[S390] compat: fix truncate system call wrapper
[S390] Provide arch specific mdelay implementation.
[S390] Fix enabled udelay for short delays.
[S390] cio: allow setting boxed devices offline
[S390] cio: make not operational handling consistent
[S390] cio: make disconnected handling consistent
[S390] Fix memory leak in /proc/cio_ignore
[S390] cio: channel path memory leak
[S390] module: fix memory leak in s390 module loader
[S390] Enable kmemleak on s390.
[S390] 3270 console build fix
...
Bernd Schmidt [Tue, 6 Oct 2009 08:55:26 +0000 (09:55 +0100)]
ROMFS: fix length used with romfs_dev_strnlen() function
An interestingly corrupted romfs file system exposed a problem with the
romfs_dev_strnlen function: it's passing the wrong value to its helpers.
Rather than limit the string to the length passed in by the callers, it
uses the size of the device as the limit.
Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 11 Oct 2009 18:24:25 +0000 (11:24 -0700)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (32 commits)
USB: serial: no unnecessary GFP_ATOMIC in oti6858
USB: serial: fix race between unthrottle and completion handler in visor
USB: serial: fix assumption that throttle/unthrottle cannot sleep
USB: serial: fix race between unthrottle and completion handler in symbolserial
USB: serial: fix race between unthrottle and completion handler in opticon
USB: ehci: Fix isoc scheduling boundary checking.
USB: storage: When a device returns no sense data, call it a Hardware Error
USB: small fix in error case of suspend in generic usbserial code
USB: visor: fix trivial accounting bug in visor driver
USB: Fix throttling in generic usbserial driver
USB: cp210x: Add support for the DW700 UART
USB: ipaq: fix oops when device is plugged in
USB: isp1362: fix build warnings on 64-bit systems
USB: gadget: imx_udc: Use resource size
USB: storage: iRiver P7 UNUSUAL_DEV patch
USB: musb: make HAVE_CLK support optional
USB: xhci: Fix dropping endpoints from the xHC schedule.
USB: xhci: Don't wait for a disable slot cmd when HC dies.
USB: xhci: Handle canceled URBs when HC dies.
USB: xhci: Stop debugging polling loop when HC dies.
...
Linus Torvalds [Sun, 11 Oct 2009 18:24:05 +0000 (11:24 -0700)]
Merge git://git./linux/kernel/git/gregkh/staging-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
Staging: comedi: fix build on arches that don't want comedi drivers
Staging: comedi: pcmcia irq fixes
Staging: comedi: ni_pcimio: Added device id for pxi-6225.
Staging: comedi: ni_65xx.c: fix output inversion problem.
Staging: comedi: ni_65xx.c: fix insn_bits shift calculation.
Staging: comedi: s526: fixes for pulse generator
Staging: comedi: s526: Take account of arch's byte order.
Staging: comedi: s526: Get rid of global variable 'cmReg'.
Staging: comedi: s526: Fix number of channels on DIO subdevice
Staging: comedi: cb_pcidio: fix "section mismatch" error
Staging: comedi: jr3_pci: Initialize transf variable fully in jr3_pci_poll_subdevice().
Staging: comedi: Corrected type of a printk argument in resize_async_buffer().
Staging: p9auth: a few fixes
Staging: rtl8192e: Add #include <linux/vmalloc.h>
Staging: iio: Don't build on s390
Staging: winbond: implement prepare_multicast and fix API usage
Staging: w35und: Fix ->beacon_int breakage
Staging: remove cowloop driver
Staging: remove agnx driver
Staging: comedi: serial2002: fix include build issue
Linus Torvalds [Sun, 11 Oct 2009 18:23:33 +0000 (11:23 -0700)]
Merge branch 'hwmon-for-linus' of git://git./linux/kernel/git/jdelvare/staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
hwmon: (s3c-hwmon) Disable build for S3C64xx
MAINTAINERS: Fix Riku Voipio's address
hwmon: (asus_atk0110) Enable the EC
hwmon: (asus_atk0110) Refactor the code
hwmon: (sht15) Fix spurious section mismatch warning
Linus Torvalds [Sun, 11 Oct 2009 18:23:13 +0000 (11:23 -0700)]
Merge git://git./linux/kernel/git/mason/btrfs-unstable
* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
Btrfs: fix file clone ioctl for bookend extents
Btrfs: fix uninit compiler warning in cow_file_range_nocow
Btrfs: constify dentry_operations
Btrfs: optimize back reference update during btrfs_drop_snapshot
Btrfs: remove negative dentry when deleting subvolumne
Btrfs: optimize fsync for the single writer case
Btrfs: async delalloc flushing under space pressure
Btrfs: release delalloc reservations on extent item insertion
Btrfs: delay clearing EXTENT_DELALLOC for compressed extents
Btrfs: cleanup extent_clear_unlock_delalloc flags
Btrfs: fix possible softlockup in the allocator
Btrfs: fix deadlock on async thread startup
Alexey Dobriyan [Wed, 7 Oct 2009 13:09:06 +0000 (17:09 +0400)]
headers: remove sched.h from interrupt.h
After m68k's task_thread_info() doesn't refer to current,
it's possible to remove sched.h from interrupt.h and not break m68k!
Many thanks to Heiko Carstens for allowing this.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Linus Torvalds [Sun, 11 Oct 2009 18:12:33 +0000 (11:12 -0700)]
Merge git://git./linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (34 commits)
[SCSI] qla2xxx: Fix NULL ptr deref bug in fail path during queue create
[SCSI] st: fix possible memory use after free after MTSETBLK ioctl
[SCSI] be2iscsi: Moving to pci_pools v3
[SCSI] libiscsi: iscsi_session_setup to allow for private space
[SCSI] be2iscsi: add 10Gbps iSCSI - BladeEngine 2 driver
[SCSI] zfcp: Fix hang when offlining device with offline chpid
[SCSI] zfcp: Fix lockdep warning when offlining device with offline chpid
[SCSI] zfcp: Fix oops during shutdown of offline device
[SCSI] zfcp: Fix initial device and cfdc for delayed adapter allocation
[SCSI] zfcp: correctly initialize unchained requests
[SCSI] mpt2sas: Bump version 02.100.03.00
[SCSI] mpt2sas: Support dev remove when phy status is MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT
[SCSI] mpt2sas: Timeout occurred within the HANDSHAKE logic while waiting on firmware to ACK.
[SCSI] mpt2sas: Call init_completion on a per request basis.
[SCSI] mpt2sas: Target Reset will be issued from Interrupt context.
[SCSI] mpt2sas: Added SCSIIO, Internal and high priority memory pools to support multiple TM
[SCSI] mpt2sas: Copyright change to 2009.
[SCSI] mpt2sas: Added mpi2_history.txt for MPI2 headers.
[SCSI] mpt2sas: Update driver to MPI2 REV K headers.
[SCSI] bfa: Brocade BFA FC SCSI driver
...
Tony Lindgren [Fri, 9 Oct 2009 23:09:57 +0000 (16:09 -0700)]
Merge rebuilt linux-omap back into master
Merge branch 'master' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:52 +0000 (16:09 -0700)]
Merge for-next into tmp-rebuild-
1255129783
Merge branch 'for-next' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:50 +0000 (16:09 -0700)]
Merge omap-testing into tmp-rebuild-
1255129783
Merge branch 'omap-testing' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:49 +0000 (16:09 -0700)]
Merge omap-fixes into tmp-rebuild-
1255129783
Merge branch 'omap-fixes' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:48 +0000 (16:09 -0700)]
Merge ehci into tmp-rebuild-
1255129783
Merge branch 'ehci' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:47 +0000 (16:09 -0700)]
Merge cbus into tmp-rebuild-
1255129783
Merge branch 'cbus' into tmp-rebuild-
1255129783
Tony Lindgren [Fri, 9 Oct 2009 23:09:46 +0000 (16:09 -0700)]
Merge branch 'omap7xx-fortony-rc3' of git://robotfuzz.com/linwizard-kernel into tmp-rebuild-
1255129783
Roger Quadros [Fri, 9 Oct 2009 23:09:17 +0000 (16:09 -0700)]
omap_hsmmc: Add missing probe handler hook to platform driver data
The missing probe handler hook will never probe the driver. Add it back.
Fixes broken MMC on OMAP.
We use platform_driver_probe() API since omap_hsmmc is not a hot-pluggable
device.
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Amit Kucheria [Fri, 9 Oct 2009 23:09:17 +0000 (16:09 -0700)]
input: fix rx51 board keymap
The original driver was written with the KEY() macro defined as (col, row)
instead of (row, col) as defined by the matrix keypad infrastructure. So the
keymap was defined accordingly.
Since the driver that was merged upstream uses the matrix keypad
infrastructure, modify the keymap accordingly.
While we are at it, fix the comments in twl4030.h and define PERSISTENT_KEY as
(r,c) instead of (c, r)
Tested on a RX51 (N900) device.
Signed-off-by: Amit Kucheria <amit.kucheria@verdurent.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Roger Quadros [Fri, 9 Oct 2009 23:09:17 +0000 (16:09 -0700)]
twl4030: Fix boot with twl4030 usb transceiver enabled
The usb regulator supplies (usb1v5, usb1v8 & usb3v1) must be available
before adding the twl4030_usb child, else twl4030_usb_ldo_init() will
always fail thus causing boot lock-up.
This patch fixes boot on OMAP systems using the twl4030 usb transceiver.
CONFIG_TWL4030_USB=y
Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Fri, 9 Oct 2009 23:01:52 +0000 (16:01 -0700)]
omap: Runtime detection of OMAP35x devices
Add runtime check for these OMAP35x variations
based on the detected Si features:
OMAP3503, OMAP3515, OMAP3525 and OMA3530.
Also, delayed the call to pr_info() into actual
variant is detected in omap3_cpuinfo()
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 9 Oct 2009 23:01:52 +0000 (16:01 -0700)]
omap: Include bitops from cpu.h
Otherwise we need to include bitops.h everywhere where we
test the omap_rev.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sanjeev Premi [Fri, 9 Oct 2009 23:01:51 +0000 (16:01 -0700)]
omap: Runtime detection of Si features
The OMAP35x family has multiple variants differing
in the HW features. This patch detects these features
at runtime and prints information during the boot.
Since most of the code seemed repetitive, macros
have been used for readability.
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Alexander Shishkin [Fri, 9 Oct 2009 23:01:29 +0000 (16:01 -0700)]
omap: Eliminate OMAP_MAX_NR_PORTS
Eliminate OMAP_MAX_NR_PORTS
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 9 Oct 2009 23:00:59 +0000 (16:00 -0700)]
omap: Use getnstimeofday for omap_device
Otherwise we cannot remove OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 9 Oct 2009 23:00:59 +0000 (16:00 -0700)]
omap: Use ioremap for omap_hwmod instead of OMAP2_IO_ADDRESS
Otherwise we cannot get rid of OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 9 Oct 2009 23:00:58 +0000 (16:00 -0700)]
omap: Use OMAP2_L4_IO_ADDRESS instead of OMAP2_IO_ADDRESS
Otherwise we cannot remove OMAP2_IO_ADDRESS.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Fri, 9 Oct 2009 23:00:57 +0000 (16:00 -0700)]
omap: Add OMAP4 L3 and L4 peripherals.
This patch adds few necessary peripherals for OMAP4.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Fri, 9 Oct 2009 23:00:56 +0000 (16:00 -0700)]
omap: Fix DEBUG_LL UART io address
This patch fixes the low level debug UART io address as per this series.
The change is essential to have CONFIG_DEBUG_LL working.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Fri, 9 Oct 2009 23:00:55 +0000 (16:00 -0700)]
omap: Move SRAM map to claim more io space
This patch moves SRAM map to free up more kernel address io space.
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Fri, 9 Oct 2009 23:00:53 +0000 (16:00 -0700)]
omap: Remap L3, L4 to get more kernel io address space
This patch remap L3 and L4 io space to get more kernel address space.
With this patch, 512 MB of IO space is reclaimed.
Some more combinations are possible but to make it uniform across
OMAP24XX, OMAP34XX and OMAP4430, these io combinations are chosen
Once this is reviewed and tested sufficiently, a documentation entry can
be created to ease up reading and debugging.
Like "Documentation/arm/omap/io_map.txt"
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Fri, 9 Oct 2009 23:00:52 +0000 (16:00 -0700)]
omap: Split OMAP2_IO_ADDRESS to L3 and L4
This patch splits OMAP2_IO_ADDRESS to OMAP2_L3_IO_ADDRESS and
OMAP2_L4_IO_ADDRESS to reclaim more IO space.
The omap_read*() and omap_write*() functions will work only over
L4 address space. Current omap kernel stack uses these functions
only to access registers over L4 io address space
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Fri, 9 Oct 2009 22:59:10 +0000 (15:59 -0700)]
Merge branch 'omap7xx-fortony-rc3' of git://robotfuzz.com/linwizard-kernel into omap7xx
Teerth Reddy [Fri, 9 Oct 2009 22:44:04 +0000 (15:44 -0700)]
ZOOM2: Initialization of SDRC params on Zoom2
This patch initializes the correct SDRC settings required
for DVFS on Zoom2.
Signed-off-by: Teerth Reddy <teerth@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Aaro Koskinen [Fri, 9 Oct 2009 22:43:27 +0000 (15:43 -0700)]
[v2] OMAP: RX-51: Drop I2C-1 speed to 2200
The I2C-1 bus frequency on RX-51 should be 2.2 MHz. The speed is limited
by TWL5030/GAIA; a higher speed could lead to errors on the interface. The
maximum speed depends on the system clock for GAIA: 2.2 MHz (if 19.2 MHz),
2.4 MHz (26 MHz) or 2.9 MHz (38.4 MHz).
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Oliver Neukum [Wed, 7 Oct 2009 16:07:10 +0000 (18:07 +0200)]
USB: serial: no unnecessary GFP_ATOMIC in oti6858
GFP_ATOMIC without good cause is evil.
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Wed, 7 Oct 2009 09:01:38 +0000 (11:01 +0200)]
USB: serial: fix race between unthrottle and completion handler in visor
usb:usbserial:visor: fix race between unthrottle and completion handler
visor_unthrottle() mustn't resubmit the URB unconditionally
as the URB may still be running.
the same bug as opticon.
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Wed, 7 Oct 2009 08:50:23 +0000 (10:50 +0200)]
USB: serial: fix assumption that throttle/unthrottle cannot sleep
many serial subdrivers are clearly written as if throttle/unthrottle
cannot sleep. This leads to unneeded atomic submissions. This
patch converts affected drivers in a way to makes very clear that
throttle/unthrottle can sleep. Thus future misdesigns can be avoided
and efficiency and reliability improved.
This removes any such assumption using GFP_KERNEL and spin_lock_irq()
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Wed, 7 Oct 2009 07:30:49 +0000 (09:30 +0200)]
USB: serial: fix race between unthrottle and completion handler in symbolserial
usb:usbserial:symbolserial: fix race between unthrottle and completion handler
symbol_unthrottle() mustn't resubmit the URB unconditionally
as the URB may still be running.
the same bug as opticon.
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Wed, 7 Oct 2009 07:25:10 +0000 (09:25 +0200)]
USB: serial: fix race between unthrottle and completion handler in opticon
usb:usbserial:opticon: fix race between unthrottle and completion handler
opticon_unthrottle() mustn't resubmit the URB unconditionally
as the URB may still be running.
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp [Tue, 6 Oct 2009 20:45:59 +0000 (13:45 -0700)]
USB: ehci: Fix isoc scheduling boundary checking.
The EHCI driver does some bounds checking when it's scheduling an iTD for
an active endpoint. It sets the local variable start to
stream->next_uframe and moves that variable further in the schedule if
necessary. However, the driver fails to do anything with start before
jumping to the ready label and setting the URB's starting frame to
stream->next_uframe. Alan Stern confirms the EHCI driver should set
stream->next_uframe to start before jumping.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Tue, 6 Oct 2009 18:07:57 +0000 (14:07 -0400)]
USB: storage: When a device returns no sense data, call it a Hardware Error
This patch (as1294) fixes a problem that has plagued users for several
kernel releases. Some USB mass-storage devices don't return any sense
data when they encounter certain kinds of errors. The SCSI layer
interprets this to mean that the operation should be retried, and the
same thing happens -- over and over again with no limit. In some
circumstances (such as when a bus reset occurs) that is the right
thing to do, but not here.
The patch checks for this condition (a transport failure with no sense
data) and changes the result code to DID_ERROR and the sense code to
Hardware Error. This does get only a limited number of retries, and
so the command will fail relatively quickly instead of getting stuck
in an infinite loop.
This fixes a large part of Bugzilla #14118.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Mantas Mikulenas <grawity@gmail.com>
CC: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Thu, 1 Oct 2009 13:01:17 +0000 (15:01 +0200)]
USB: small fix in error case of suspend in generic usbserial code
usb:usbserial: fix flags in error case of suspension
suspended flag must be reset in error case
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Oliver Neukum [Thu, 1 Oct 2009 12:54:46 +0000 (14:54 +0200)]
USB: visor: fix trivial accounting bug in visor driver
usb:usbserial:visor: fix accounting in error case
data not pushed to the tty layer due to an error mustn't be counted
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Joris van Rantwijk [Thu, 24 Sep 2009 18:20:20 +0000 (20:20 +0200)]
USB: Fix throttling in generic usbserial driver
The generic usbserial driver in Linux 2.6.31 halts its receiving
channel in response to throttle requests from the line discipline.
Unfortunately it drops the contents of the first URB received after
throttling takes effect. This patch corrects that problem.
Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl>
Acked-by: Johan Hovold <jhovold@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Éric Piel [Sun, 4 Oct 2009 11:45:07 +0000 (13:45 +0200)]
USB: cp210x: Add support for the DW700 UART
In the Dell inspiron mini 10, the GPS is connected via a cp2102. This patch
adds detection of this USB device. (I haven't managed to use the GPS under
Linux yet, though)
Signed-off-by: Éric Piel <eric.piel@tremplin-utc.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alan Stern [Mon, 5 Oct 2009 19:53:58 +0000 (15:53 -0400)]
USB: ipaq: fix oops when device is plugged in
This patch (as1293) fixes a problem with the ipaq serial driver. It
tries to bind to all the interfaces, even those that don't have enough
endpoints. The symptom is an invalid memory reference and oops when
the device is plugged in.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: stable <stable@kernel.org>
Tested-by: Matthias Geissert <geissert@mathematik.tu-darmstadt.de>
Tested-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mike Frysinger [Wed, 7 Oct 2009 08:29:31 +0000 (04:29 -0400)]
USB: isp1362: fix build warnings on 64-bit systems
A bunch of places assumed pointers were 32-bits in size (bit checking and
debug output), but none of these affected runtime functionality.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Tobias Klauser [Fri, 18 Sep 2009 07:14:46 +0000 (09:14 +0200)]
USB: gadget: imx_udc: Use resource size
Use the resource_size function instead of manually calculating the
resource size. This reduces the chance of introducing off-by-one errors.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sergey Pinaev [Thu, 17 Sep 2009 13:26:50 +0000 (17:26 +0400)]
USB: storage: iRiver P7 UNUSUAL_DEV patch
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mike Frysinger [Thu, 17 Sep 2009 01:10:53 +0000 (21:10 -0400)]
USB: musb: make HAVE_CLK support optional
The Blackfin port doesn't support HAVE_CLK and the musb driver works fine
with support stubbed out, so take the existing Blackfin clk stubs and move
them to common musb code so we can drop the Kconfig dependency.
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp [Fri, 18 Sep 2009 15:55:12 +0000 (08:55 -0700)]
USB: xhci: Fix dropping endpoints from the xHC schedule.
When an endpoint is to be dropped from the hardware bandwidth schedule, we
want to clear its add flag.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp [Wed, 16 Sep 2009 23:42:39 +0000 (16:42 -0700)]
USB: xhci: Don't wait for a disable slot cmd when HC dies.
When the host controller dies or is removed while a device is plugged in,
the USB core will attempt to deallocate the struct usb_device. That will
call into xhci_free_dev(). This function used to attempt to submit a
disable slot command to the host controller and clean up the device
structures when that command returned. Change xhci_free_dev() to skip the
command submission and just free the memory if the host controller died.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp [Tue, 29 Sep 2009 00:21:37 +0000 (17:21 -0700)]
USB: xhci: Handle canceled URBs when HC dies.
When the host controller dies (e.g. it is removed from a PCI card slot),
the xHCI driver cannot expect commands to complete. The buggy code this
patch fixes would mark an URB as canceled and then expect the URB to be
completed when the stop endpoint command completed. That would never
happen if the host controller was dead, so the USB core would just hang in
the disconnect code.
If the host controller died, and the driver asks to cancel an URB, free
any structures associated with that URB and immediately give it back.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sarah Sharp [Wed, 16 Sep 2009 23:42:30 +0000 (16:42 -0700)]
USB: xhci: Stop debugging polling loop when HC dies.
If the host controller card is removed from the system, stop the timer
function to debug the xHCI rings.
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>