aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-04-02ARM: OMAP3: cm-t35: Adapt to ehci-omap changesRoger Quadros1-6/+14
Use usbhs_init_phys() to register the PHY's RESET regulators and the NOP PHY devices. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP: AM3517evm: Adapt to ehci-omap changesRoger Quadros1-7/+10
Use usbhs_init_phys() to register the PHY's RESET regulators and the NOP PHY device. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP: AM3517crane: Adapt to ehci-omap changesRoger Quadros1-14/+10
Use usbhs_init_phys() to register the PHY's VCC and RESET regulators and the NOP PHY device. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP3: 3630SDP: Adapt to ehci-omap changesRoger Quadros1-6/+15
Use usbhs_init_phys() to register the PHY's RESET regulators and the NOP PHY devices. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP3: 3430SDP: Adapt to ehci-omap changesRoger Quadros1-6/+15
Use usbhs_init_phys() to register the PHY's RESET regulators and the NOP PHY devices. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP3: Beagle: Adapt to ehci-omap changesRoger Quadros1-10/+22
Use usbhs_init_phys() to register the PHY's VCC and RESET regulators and the NOP PHY device. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP2+: omap4panda: Adapt to ehci-omap changesRoger Quadros1-34/+21
Use usbhs_init_phys() to register the PHY's VCC and RESET regulators and the NOP PHY device. Get rid of managing the PHY clock as it will be done by the PHY driver. For that to work we create a clock alias that links the PHY clock name to the PHY device name. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-02ARM: OMAP2+: omap-usb-host: Add usbhs_init_phys()Roger Quadros2-2/+167
This helper allows board support code to add the PHY's VCC and RESET regulators which are GPIO controlled as well as the NOP PHY device. Signed-off-by: Roger Quadros <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-01ARM: OMAP2+: Add function to read GPMC settings from device-treeJon Hunter3-0/+65
Adds a function to read the various GPMC chip-select settings from device-tree and store them in the gpmc_settings structure. Update the GPMC device-tree binding documentation to describe these options. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Don't configure of chip-select options in gpmc_cs_configure()Jon Hunter3-47/+9
With the addition of the gpmc_cs_program_settings(), we no longer need or use gpmc_cs_configure() to configure some of the GPMC chip-select options. So rename the function to gpmc_configure() and remove code that modifies options in the CONFIG1 register. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Convert TUSB to use gpmc_cs_program_settings()Jon Hunter1-24/+19
Convert the OMAP2+ TUSB code to use the gpmc_cs_program_settings() function for configuring the various GPMC options instead of directly programming the CONFIG1 register. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Convert SMC91x to use gpmc_cs_program_settings()Jon Hunter1-13/+17
Convert the OMAP2+ SMC91x code to use the gpmc_cs_program_settings() function for configuring the various GPMC options instead of directly programming the CONFIG1 register. Move configuration of the GPMC settings outside retime function and this does not need to be done if the timings are changed dynamically at runtime. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Convert NAND to use gpmc_cs_program_settings()Jon Hunter1-12/+23
Convert the OMAP2+ NAND code to use the gpmc_cs_program_settings() function for configuring the various GPMC options instead of directly programming the CONFIG1 register. This moves the configuration of some GPMC options outside the nand_gpmc_retime() because these options should only need to be set once regardless of whether the gpmc timing is changing dynamically at runtime. The programming of where the wait-pin is also moved slightly, but this will not have any impact to existing devices as no boards are currently setting the dev_ready variable. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Convert ONENAND to use gpmc_cs_program_settings()Jon Hunter1-36/+25
Convert the OMAP2+ ONENAND code to use the gpmc_cs_program_settings() function for configuring the various GPMC options instead of directly programming the CONFIG1 register. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Add function for configuring GPMC settingsJon Hunter2-0/+106
The GPMC has various different configuration options such as bus-width, synchronous or asychronous mode selection, burst mode options etc. Currently, there is no common function for configuring these options and various devices set these options by either programming the GPMC CONFIG1 register directly or by calling gpmc_cs_configure() to set some of the options. Add a new function for configuring all of the GPMC options. Having a common function for configuring this options will simplify code and ease the migration to device-tree. Also add a new capability flag to detect devices that support the address-address-data multiplexing mode. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Add structure for storing GPMC settingsJon Hunter5-40/+72
The GPMC has various different configuration options such as bus-width, synchronous or asychronous mode selection, burst mode options etc. Currently, there is no central structure for storing all these options when configuring the GPMC for a given device. Some of the options are stored in the GPMC timing structure and some are directly programmed into the GPMC configuration register. Add a new structure to store these options and convert code to use this structure. Adding this structure will allow us to create a common function for configuring these options. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Add variable to store number of GPMC waitpinsJon Hunter1-0/+13
The GPMC has wait-pin signals that can be assigned to a chip-select to monitor the ready signal of an external device. Add a variable to indicate the total number of wait-pins for a given device. This will allow us to detect if the wait-pin being selected is valid or not. When booting with device-tree read the number of wait-pins from the device-tree blob. When device-tree is not used set the number of wait-pins to 4 which is valid for OMAP2-5 devices. Newer devices that have less wait-pins (such as AM335x) only support booting with device-tree and so hard-coding the wait-pin number when not using device-tree is fine. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: OMAP2+: Simplify code configuring ONENAND devicesJon Hunter1-16/+10
The OMAP2+ code that configures the GPMC for ONENAND devices is copying structures between functions unnecessarily. Avoid this by passing pointers instead and simplify the code. A pointer to structure "omap_onenand_platform_data" is passed to the function omap2_onenand_calc_sync_timings(), but only the flags member of the structure is used. Simplify the code by only passing the flags member and not the entire structure. Signed-off-by: Jon Hunter <[email protected]> Tested-by: Ezequiel Garcia <[email protected]>
2013-04-01ARM: omap2: gpmc: Remove redundant chip select out of range checkEzequiel Garcia1-9/+1
This check is done before the call to gpmc_cs_reserved() and gpmc_cs_set_reserved() and it's redundant to do it again in each function. This simplifies the code a bit. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc-onenand: Replace printk KERN_ERR with dev_warn()Ezequiel Garcia1-1/+1
Since the condition is not an error but a warning, replace printk KERN_ERR with dev_warn. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc-onenand: Replace pr_err() with dev_err()Ezequiel Garcia1-3/+4
Do this becasue dev_err() is preferred over pr_err() and because it will match gpmc-nand, thus the code shows looks more consistent. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc-onenand: Print something useful on CS request failureEzequiel Garcia1-1/+2
If CS request fails the current error message is rather unhelpful. Fix it by printing the failing chip select and the error code. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc-nand: Print something useful on CS request failureEzequiel Garcia1-1/+2
If CS request fails the current error message is rather unhelpful. Fix it by printing the failing chip select and the error code. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc: Fix gpmc_cs_reserved() return valueEzequiel Garcia1-2/+2
Currently gpmc_cs_reserved() return value is somewhat inconsistent, returning a negative value on an error condition, a positive value if the chip select is reserved and zero if it's available. Fix this by returning a boolean value as the function name suggests: * true if the chip select is reserved, * false if it's available Suggested-by: Felipe Balbi <[email protected]> Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc: Remove unused gpmc_round_ns_to_ticks() functionEzequiel Garcia1-7/+0
This function is not used anywhere, so it's safe to remove it. This means less code to maintain. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: omap2: gpmc: Mark local scoped functions staticEzequiel Garcia2-14/+7
This patch marks a bunch of functions that are local to gpmc.c file only as static. Signed-off-by: Ezequiel Garcia <[email protected]> Reviewed-by: Jon Hunter <[email protected]> Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: OMAP: Clear GPMC bits when applying new setting.Mark Jackson2-1/+8
When setting the GPMC device type, make sure any previous bits are cleared down, before applying the new setting. For OMAP4+ devices MUXADDDATA is a 2-bit field (bits 9:8) where as for OMAP2/3 devices it was only a one bit field (bit 9). For OMAP2/3 devices bit 8 is reserved and the OMAP documentation says to write a 0 to this bit. So clearing bit 8 on OMAP2/3 devices should not be a problem. Hence update the code to handle both bits 8 and 9 for all devices. Signed-off-by: Mark Jackson <[email protected]> [[email protected]: updated changelog] Signed-off-by: Jon Hunter <[email protected]>
2013-04-01Merge commit '31d9adca82ce65e5c99d045b5fd917c702b6fce3' into tmpJon Hunter10415-275128/+535997
Conflicts: arch/arm/plat-omap/dmtimer.c
2013-04-01ARM: OMAP4+: Fix sparse warning in system timersJon Hunter1-2/+2
Commit 6bb27d7 (ARM: delete struct sys_timer) changed the function created by the macro OMAP_SYS_32K_TIMER_INIT from static void to void. For OMAP4+ devices this created the following sparse warning ... arch/arm/mach-omap2/timer.c:585:1: warning: symbol 'omap4_sync32k_timer_init' was not declared. Should it be static? The function omap4_sync32k_timer_init() is not referenced outside of the file timer.c and so make this function static. Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: OMAP2+: Store ID of system timers in timer structureJon Hunter1-5/+6
Currently, the timer ID is being passed to the function omap_dm_timer_init_one(). Instead of passing the ID separately, store it in the omap_dm_timer structure, that is also passed, and access the ID from this structure. Signed-off-by: Jon Hunter <[email protected]>
2013-04-01ARM: OMAP3: Update clocksource timer selectionJon Hunter1-12/+21
When booting with device-tree for OMAP3 and AM335x devices and a gptimer is used as the clocksource (which is always the case for AM335x), a gptimer located in a power domain that is not always-on is selected. Ideally we should use a gptimer for clocksource that is located in a power domain that is always on (such as the wake-up domain) so that time can be maintained during a kernel suspend without keeping on additional power domains unnecessarily. In order to fix this so that we can select a gptimer located in a power domain that is always-on, the following changes were made ... 1. Currently, only when selecting a gptimer to use for a clockevent timer, do we pass a timer property that can be used to select a specific gptimer. Change this so that we can pass a property when selecting a gptimer to use for a clocksource timer too. 2. Currently, when selecting either a gptimer to use for a clockevent timer or a clocksource timer and no timer property is passed, then the first available timer is selected regardless of the properties it has. Change this so that if no properties are passed, then a timer that does not have additional features (such as always-on, dsp-irq, pwm, and secure) is selected. For OMAP3 and AM335x devices that use a gptimer for clocksource, change the selection of the gptimer so that by default the gptimer located in the always-on power domain is used for clocksource instead of clockevents. Please note that using a gptimer for both clocksource and clockevents can have a system power impact during idle. The reason being is that OMAP and AMxxx devices typically only have one gptimer in a power domain that is always-on. Therefore when the kernel is idle both the clocksource and clockevent timers will be active and this will keep additional power domains on. During kernel suspend, only the clocksource timer is active and therefore, it is better to use a gptimer in a power domain that is always-on for clocksource. Signed-off-by: Jon Hunter <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2013-04-01ARM: OMAP2+: Simplify system timers definitionsJon Hunter4-13/+11
There is a lot of redundancy in the definitions for the various system timers for OMAP2+ devices. For example, the omap3_am33xx_gptimer_timer_init() function is the same as the omap3_gp_gptimer_timer_init() function and the function omap4_sync32k_timer_init() can be re-used for OMAP5 devices. Therefore, consolidate the definitions to simplify the code. Signed-off-by: Jon Hunter <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Acked-by: Igor Grinberg <[email protected]>
2013-04-01ARM: OMAP2+: Simplify system timer clock definitionsJon Hunter1-23/+14
In commit c59b537 (ARM: OMAP2+: Simplify dmtimer clock aliases), new clock aliases for dmtimers were added to simplify the code. These clock aliases can also be used when configuring the system timers and allow us to remove the current definitions, simplifying the code. Please note that for OMAP4/5 devices (unlike OMAP2/3 devices), there is no clock alias for "timer_sys_ck" with NULL as the device name. Therefore we still need to use the alias "sys_clkin_ck" for these devices. Signed-off-by: Jon Hunter <[email protected]> Acked-by: Santosh Shilimkar <[email protected]>
2013-04-01ARM: OMAP2+: Remove hard-coded test on timer IDJon Hunter1-13/+14
Currently, when configuring the clock-events and clock-source timers for OMAP2+ devices, we check whether the timer ID is 12 before attempting to set the parent clock for the timer. This test was added for OMAP3 general purpose devices (no security features enabled) that a 12th timer available but unlike the other timers only has a single functional clock source. Calling clk_set_parent() for this 12th timer would always return an error because there is only one choice for a parent clock. Therefore, this hard-coded timer ID test was added. To avoid this timer ID test, simply check to see if the timer's current parent clock is the desired parent clock and only call clk_set_parent() if this is not the case. Also if clk_get() fails, then use PTR_ERR() to return the error code. Signed-off-by: Jon Hunter <[email protected]> Acked-by: Santosh Shilimkar <[email protected]>
2013-04-01ARM: OMAP2+: Display correct system timer nameJon Hunter1-11/+13
Currently on boot, when displaying the name of the gptimer used for clockevents and clocksource timers, the timer ID is shown. However, when booting with device-tree, the timer ID is not used to select a gptimer but a timer property. Hence, it is possible that the timer selected when booting with device-tree does not match the ID shown. Therefore, instead display the HWMOD name of the gptimer and use the HWMOD name as the name of clockevent and clocksource timer (if a gptimer is used). Signed-off-by: Jon Hunter <[email protected]> Acked-by: Santosh Shilimkar <[email protected]>
2013-04-01Merge commit '6bb27d7349db51b50c40534710fe164ca0d58902' into ↵Jon Hunter524-1508/+880
omap-timer-for-v3.10
2013-04-01Merge branch 'for_3.10/omap5_generic_updates' of ↵Tony Lindgren10-24/+48
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux into omap-for-v3.10/fixes-non-critical
2013-04-01Merge tag 'omap-devel-b-for-3.10' of ↵Tony Lindgren561-3136/+6254
git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.10/fixes-non-critical Some miscellaneous OMAP hwmod, powerdomain, and clock fixes for 3.10. Basic test logs are here: http://www.pwsan.com/omap/testlogs/prcm_fixes_a_3.10/20130331205716/
2013-04-01ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS"Paul Bolle1-2/+2
Commit 90173882ed15a8034d6d162da5f343a2c7d87587 ("omap: add dsp platform device") used CONFIG_BRIDGE_DVFS were it obviously meant CONFIG_TIDSPBRIDGE_DVFS. Fix that. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-04-01ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD"Paul Bolle1-6/+0
The Kconfig symbol MACH_OMAP_HTCWIZARD got added in v2.6.30. It has never been used. Its entry can safely be removed. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2013-03-31ARM: OMAP: dpll: enable bypass clock only when attempting dpll bypassRajendra Nayak1-10/+9
omap3_noncore_dpll_set_rate() attempts an enable of bypass clk as well as ref clk for every .set_rate attempt on a noncore DPLL, regardless of whether the .set_rate results in the DPLL being locked or put in bypass. Early at boot, while some of these DPLLs are programmed and locked (using .set_rate for the DPLL), this causes an ordering issue. For instance, on OMAP5, the USB DPLL derives its bypass clk from ABE DPLL. If a .set_rate of USB DPLL which programmes the M,N and locks it is called before the one for ABE, the enable of USB bypass clk (derived from ABE DPLL) then attempts to lock the ABE DPLL and fails as the M,N values for ABE are yet to be programmed. To get rid of this ordering needs, enable bypass clk for a DPLL as part of its .set_rate only when its being put in bypass, and only enable the ref clk when its locked. Reported-by: Roger Quadros <[email protected]> Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2013-03-31ARM: OMAP2+: powerdomain: avoid testing whether an unsigned char is less than 0Paul Walmsley1-10/+8
_pwrdm_save_clkdm_state_and_activate() tried to test one of its unsigned arguments to determine whether it was less than zero. Fix by moving the error test to the caller. Reported-by: Chen Gang <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2013-03-31ARM: OMAP2+: hwmod: Remove unused _HWMOD_WAKEUP_ENABLED flagRajendra Nayak2-8/+2
_HWMOD_WAKEUP_ENABLED is currently unused across the hwmod framework. Just get rid of it, so we have one less flag to worry about. Tested-by: Vaibhav Bedia <[email protected]> Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2013-03-31ARM: OMAP2+: am335x: Change the wdt1 func clk src to per_32k clkVaibhav Hiremath1-0/+8
WDT1 module can take one of the below clocks as input functional clock - - On-Chip 32K RC Osc [default/reset] - 32K from PRCM The On-Chip 32K RC Osc clock is not an accurate clock-source as per the design/spec, so as a result, for example, timer which supposed to get expired @60Sec, but will expire somewhere ~@40Sec, which is not expected by any use-case. The solution here is to switch the input clock-source to PRCM generated 32K clock-source during boot-time itself. Signed-off-by: Vaibhav Hiremath <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Benoit Cousson <[email protected]> Cc: Paul Walmsley <[email protected]>
2013-03-31ARM: OMAP2+: AM33xx: hwmod: Add missing sysc definition to wdt1 entryVaibhav Hiremath1-0/+15
This patch adds sysc definitions to the wdt1 hwmod entry, which in-turn makes sure that sysc idle bit-fields are configured to valid state on enable/disable callbacks. With the recent submitted patch from Santosh Shilimkar, "ARM: OMAP2+: hwmod: Don't call _init_mpu_rt_base if no sysc" (commit: 4a98c2d89), it is required to add sysconf information to each valid hwmod entry, else device will not be come out from idle state properly and leads to below kernel crash - [2.190237] Unhandled fault: external abort on non-linefetch (0x1028) at 0xf9e35034 [2.198325] Internal error: : 1028 [#1] SMP ARM [2.203101] Modules linked in: [2.206334] CPU: 0 Not tainted (3.9.0-rc3-00059-gd114294#1) [2.212679] PC is at omap_wdt_disable.clone.5+0xc/0x60 [2.218090] LR is at omap_wdt_probe+0x184/0x1fc Signed-off-by: Vaibhav Hiremath <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Benoit Cousson <[email protected]> Cc: Paul Walmsley <[email protected]>
2013-03-31Linux 3.9-rc5Linus Torvalds1-1/+1
2013-03-31Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds2-4/+20
Pull slave-dmaengine fixes from Vinod Koul: "Two fixes for slave-dmaengine. The first one is for making slave_id value correct for dw_dmac and the other one fixes the endieness in DT parsing" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dw_dmac: adjust slave_id accordingly to request line base dmaengine: dw_dma: fix endianess for DT xlate function
2013-03-31Merge branch 'v4l_for_linus' of ↵Linus Torvalds11-38/+53
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "For a some fixes for Kernel 3.9: - subsystem build fix when VIDEO_DEV=y, VIDEO_V4L2=m and I2C=m - compilation fix for arm multiarch preventing IR_RX51 to be selected - regression fix at bttv crop logic - s5p-mfc/m5mols/exynos: a few fixes for cameras on exynos hardware" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: [media] [REGRESSION] bt8xx: Fix too large height in cropcap [media] fix compilation with both V4L2 and I2C as 'm' [media] m5mols: Fix bug in stream on handler [media] s5p-fimc: Do not attempt to disable not enabled media pipeline [media] s5p-mfc: Fix encoder control 15 issue [media] s5p-mfc: Fix frame skip bug [media] s5p-fimc: send valid m2m ctx to fimc_m2m_job_finish [media] exynos-gsc: send valid m2m ctx to gsc_m2m_job_finish [media] fimc-lite: Fix the variable type to avoid possible crash [media] fimc-lite: Initialize 'step' field in fimc_lite_ctrl structure [media] ir: IR_RX51 only works on OMAP2
2013-03-31Merge tag 'for-linus-20130331' of git://git.kernel.dk/linux-blockLinus Torvalds21-261/+716
Pull block fixes from Jens Axboe: "Alright, this time from 10K up in the air. Collection of fixes that have been queued up since the merge window opened, hence postponed until later in the cycle. The pull request contains: - A bunch of fixes for the xen blk front/back driver. - A round of fixes for the new IBM RamSan driver, fixing various nasty issues. - Fixes for multiple drives from Wei Yongjun, bad handling of return values and wrong pointer math. - A fix for loop properly killing partitions when being detached." * tag 'for-linus-20130331' of git://git.kernel.dk/linux-block: (25 commits) mg_disk: fix error return code in mg_probe() rsxx: remove unused variable rsxx: enable error return of rsxx_eeh_save_issued_dmas() block: removes dynamic allocation on stack Block: blk-flush: Fixed indent code style cciss: fix invalid use of sizeof in cciss_find_cfgtables() loop: cleanup partitions when detaching loop device loop: fix error return code in loop_add() mtip32xx: fix error return code in mtip_pci_probe() xen-blkfront: remove frame list from blk_shadow xen-blkfront: pre-allocate pages for requests xen-blkback: don't store dev_bus_addr xen-blkfront: switch from llist to list xen-blkback: fix foreach_grant_safe to handle empty lists xen-blkfront: replace kmalloc and then memcpy with kmemdup xen-blkback: fix dispatch_rw_block_io() error path rsxx: fix missing unlock on error return in rsxx_eeh_remap_dmas() Adding in EEH support to the IBM FlashSystem 70/80 device driver block: IBM RamSan 70/80 error message bug fix. block: IBM RamSan 70/80 branding changes. ...
2013-03-31Revert "lockdep: check that no locks held at freeze time"Paul Walmsley4-14/+12
This reverts commit 6aa9707099c4b25700940eb3d016f16c4434360d. Commit 6aa9707099c4 ("lockdep: check that no locks held at freeze time") causes problems with NFS root filesystems. The failures were noticed on OMAP2 and 3 boards during kernel init: [ BUG: swapper/0/1 still has locks held! ] 3.9.0-rc3-00344-ga937536 #1 Not tainted ------------------------------------- 1 lock held by swapper/0/1: #0: (&type->s_umount_key#13/1){+.+.+.}, at: [<c011e84c>] sget+0x248/0x574 stack backtrace: rpc_wait_bit_killable __wait_on_bit out_of_line_wait_on_bit __rpc_execute rpc_run_task rpc_call_sync nfs_proc_get_root nfs_get_root nfs_fs_mount_common nfs_try_mount nfs_fs_mount mount_fs vfs_kern_mount do_mount sys_mount do_mount_root mount_root prepare_namespace kernel_init_freeable kernel_init Although the rootfs mounts, the system is unstable. Here's a transcript from a PM test: http://www.pwsan.com/omap/testlogs/test_v3.9-rc3/20130317194234/pm/37xxevm/37xxevm_log.txt Here's what the test log should look like: http://www.pwsan.com/omap/testlogs/test_v3.8/20130218214403/pm/37xxevm/37xxevm_log.txt Mailing list discussion is here: http://lkml.org/lkml/2013/3/4/221 Deal with this for v3.9 by reverting the problem commit, until folks can figure out the right long-term course of action. Signed-off-by: Paul Walmsley <[email protected]> Cc: Mandeep Singh Baines <[email protected]> Cc: Jeff Layton <[email protected]> Cc: Shawn Guo <[email protected]> Cc: <[email protected]> Cc: Fengguang Wu <[email protected]> Cc: Trond Myklebust <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Ben Chan <[email protected]> Cc: Oleg Nesterov <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Rafael J. Wysocki <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>