pandora-kernel.git
15 years agoFix typo in omap1 spi init
Tony Lindgren [Thu, 7 Jan 2010 21:23:05 +0000 (13:23 -0800)]
Fix typo in omap1 spi init

As pointed out by Grazvydas Ignotas.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoLinux-omap rebuilt: various fixes merged for testing, some for-next patches
Tony Lindgren [Thu, 7 Jan 2010 01:31:30 +0000 (17:31 -0800)]
Linux-omap rebuilt: various fixes merged for testing, some for-next patches

$ git checkout -b tmp-rebuild-1262827882 linus
$ git merge -m "Merge omap-fixes" omap-fixes
$ git merge -m "Merge omap-testing" omap-testing
$ git merge -m "Merge for-next" for-next
$ git merge -m "Merge cbus" cbus
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-1262827882

To view the changes since the last rebuild, please do
$ git diff 1ae5c1a259fdfdd736a6f9986336f71911f4918b..9b8d1c122b68a3c47b6c450d8385292fb5648b15 arch/arm/*omap*/

15 years agoMerge cbus
Tony Lindgren [Thu, 7 Jan 2010 01:31:25 +0000 (17:31 -0800)]
Merge cbus

15 years agoMerge for-next
Tony Lindgren [Thu, 7 Jan 2010 01:31:24 +0000 (17:31 -0800)]
Merge for-next

15 years agoMerge omap-testing
Tony Lindgren [Thu, 7 Jan 2010 01:31:23 +0000 (17:31 -0800)]
Merge omap-testing

15 years agoMTD: remove no longer used OMAP flash map
Tony Lindgren [Thu, 7 Jan 2010 01:30:13 +0000 (17:30 -0800)]
MTD: remove no longer used OMAP flash map

All OMAP boards are now using physmap-flash.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: convert boards to use physmap-flash
Tony Lindgren [Thu, 7 Jan 2010 01:30:12 +0000 (17:30 -0800)]
omap: convert boards to use physmap-flash

Convert OMAP based boards to use physmap-flash. Refreshed against today's
Linux omap kernel tree

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: EVM: Choose OMAP_PACKAGE_CBB
Vaibhav Hiremath [Thu, 7 Jan 2010 01:29:12 +0000 (17:29 -0800)]
omap3: EVM: Choose OMAP_PACKAGE_CBB

Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: Fix booting if package is uninitialized
Tony Lindgren [Thu, 7 Jan 2010 01:29:12 +0000 (17:29 -0800)]
omap3: Fix booting if package is uninitialized

Otherwise bringing up new boards can be harder:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc2-00015-g0bc9c93-dirty #37)
PC is at omap_mux_init+0xa4/0x3d8
LR is at omap_mux_init+0x3c/0x3d8
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: add missing parentheses
Roel Kluin [Thu, 7 Jan 2010 01:29:11 +0000 (17:29 -0800)]
omap3: add missing parentheses

`!' has a higher precedence than `&' so parentheses are required.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap3: add missing parentheses
Roel Kluin [Thu, 7 Jan 2010 01:29:11 +0000 (17:29 -0800)]
omap3: add missing parentheses

not(!) has a higher precedence than bit and(&).

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap2/3: ZOOM: Correcting key mapping for few keys
Vimal Singh [Thu, 7 Jan 2010 01:29:11 +0000 (17:29 -0800)]
omap2/3: ZOOM: Correcting key mapping for few keys

Keys: 'right arrow', 'up arrow' and 'select' were mapped
wrongly. This patch corrects them.
This patch also adds one missing key present in the board,
currently I added it as 'unknown' key, as I am not able to
find proper description for this key.
One key entry (r: 7, c: 5) is present in the keymap, which
is really not present in the board, removing it.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap2/3: make serial_in_override() address the right uart port
Alexander Shishkin [Thu, 7 Jan 2010 01:29:11 +0000 (17:29 -0800)]
omap2/3: make serial_in_override() address the right uart port

Commit f62349ee9788b1d94c55eb6c291d74a1f69bdd9e makes it possible to
have some other than first uart port as ttyS0, which breaks the workaround
serial_in_override() function which will try to address the first uart
port (for ttyS0) and not the one that was initialized.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
CC: Mika Westerberg <ext-mika.1.westerberg@nokia.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap1: Fix compile for omap1_bl.c
Tony Lindgren [Thu, 7 Jan 2010 01:29:10 +0000 (17:29 -0800)]
omap1: Fix compile for omap1_bl.c

Commit 9905a43b made struct backlight_ops const. Omap was
setting check_fb dynamically, which caused the following
compile error:

drivers/video/backlight/omap1_bl.c: In function 'omapbl_probe':
drivers/video/backlight/omap1_bl.c:142: error: assignment of read-only variable 'omapbl_ops'

Turns out pdata->check_fb is not being used, so just remove
it to fix the compile.

Cc: Emese Revfy <re.emese@gmail.com>
Cc: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap1: Add 7xx clocks and pin muxes for SPI
Cory Maccarrone [Thu, 7 Jan 2010 01:29:10 +0000 (17:29 -0800)]
omap1: Add 7xx clocks and pin muxes for SPI

Commit 35c9049b27040d09461bc90928ad770be7ddf661 added
drivers/spi/omap_spi_100k.c.

This patch add the related clocks and pin muxing
entries to make the driver work on omap7xx platforms.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Remove uninitialized warning for gpio.c
Tony Lindgren [Thu, 7 Jan 2010 01:29:10 +0000 (17:29 -0800)]
omap: Remove uninitialized warning for gpio.c

Flags is not used on 15xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: &&/|| confusion in iommu_put()
Roel Kluin [Thu, 7 Jan 2010 01:29:09 +0000 (17:29 -0800)]
omap: &&/|| confusion in iommu_put()

obj can't be both NULL and be an error pointer.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: gpio: Simultaneously requested rising and falling edge
Cory Maccarrone [Thu, 7 Jan 2010 01:29:09 +0000 (17:29 -0800)]
omap: gpio: Simultaneously requested rising and falling edge

Some chips, namely any OMAP1 chips using METHOD_MPUIO,
OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO
interrupts in both rising and falling edge directions -- they can
only respond to one direction or the other, depending on how the
ICR is configured.

Additionally, current code forces rising edge detection if both
flags are specified:

        if (trigger & IRQ_TYPE_EDGE_RISING)
                l |= 1 << gpio;
        else if (trigger & IRQ_TYPE_EDGE_FALLING)
                l &= ~(1 << gpio);
        else
                goto bad;

This change implements a toggle function that will modify the ICR
to flip the direction of interrupt for IRQs that are requested with
both rising and falling flags.  The toggle function is not called
for chips and GPIOs it does not apply to through the use of a flip_mask
that's added on a per-bank basis.  The mask is only set for those
GPIOs where a toggle is necessary.  Edge detection starts out the
same as above with FALLING mode first.

The toggle happens on EACH interrupt; without it, we have the
following sequence of actions on GPIO transition:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt
  0x1    1 -> 0 (falling)   No interrupt

  (set ICR to 0x0 manually)
  0x0    0 -> 1 (rising)    No interrupt
  0x0    1 -> 0 (falling)   Interrupt

That is, with the ICR set to 1 for a gpio, only rising edge interrupts
are caught, and with it set to 0, only falling edge interrupts are
caught.  If we add in the toggle, we get this:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt (ICR set to 0x0)
  0x0    1 -> 0 (falling)   Interrupt (ICR set to 0x1)
  0x1    0 -> 1 ...

so, both rising and falling are caught, per the request for both
(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING).

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: McBSP: Fix possible port lockout
Janusz Krzysztofik [Thu, 7 Jan 2010 01:29:09 +0000 (17:29 -0800)]
omap: McBSP: Fix possible port lockout

In its current form, the omap_mcbsp_request() function can return after
irq_request() failure without any cleanups, effectively locking out the port
forever with clocks left running. Fix it.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'for_2.6.33rc_b' of git://git.pwsan.com/linux-2.6 into omap-fixes-for...
Tony Lindgren [Thu, 7 Jan 2010 01:28:49 +0000 (17:28 -0800)]
Merge branch 'for_2.6.33rc_b' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus

Conflicts:
arch/arm/plat-omap/clock.c

15 years agoOMAP2 clock: dynamically allocate CPUFreq frequency table
Paul Walmsley [Thu, 7 Jan 2010 01:01:44 +0000 (18:01 -0700)]
OMAP2 clock: dynamically allocate CPUFreq frequency table

Dynamically allocate the CPUFreq frequency table on OMAP2xxx chips.
This fixes some compilation problems, since the kernel may not know
what chip it is running on until boot-time.  This also reduces the size
of the CPUFreq frequency table.

Problem originally reported by Felipe Balbi <felipe.balbi@nokia.com>.
Thanks also for comments on the patch from Felipe and Kevin.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
15 years agoOMAP clock/CPUFreq: add clk_exit_cpufreq_table()
Paul Walmsley [Wed, 6 Jan 2010 20:13:53 +0000 (13:13 -0700)]
OMAP clock/CPUFreq: add clk_exit_cpufreq_table()

A subsequent patch adds code on OMAP2xxx to dynamically allocate the
CPUFreq frequency table in clk_init_cpufreq_table(), so for it to
avoid a leak, it will need a corresponding function to free the
memory.  This patch adds clk_exit_cpufreq_table() with generic
code to call a chip-specific variant inside the clockfw_lock spinlock via
struct clk_functions.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agocbus: add platform_data to pass gpios
Felipe Balbi [Thu, 7 Jan 2010 00:12:49 +0000 (16:12 -0800)]
cbus: add platform_data to pass gpios

also add the platform_data to the related
board files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: move to platform_driver
Felipe Balbi [Thu, 7 Jan 2010 00:12:48 +0000 (16:12 -0800)]
cbus: move to platform_driver

also add the platform_device to 770 and n8x0 board files.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: separate into several MODULE_AUTHOR entries
Felipe Balbi [Thu, 7 Jan 2010 00:12:48 +0000 (16:12 -0800)]
cbus: separate into several MODULE_AUTHOR entries

will look cleaner on modinfo.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: move EXPORT_SYMBOL close to its exported symbols
Felipe Balbi [Thu, 7 Jan 2010 00:12:48 +0000 (16:12 -0800)]
cbus: move EXPORT_SYMBOL close to its exported symbols

while there, also add a missing static to cbus_bus_init().

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: switch to kzalloc
Felipe Balbi [Thu, 7 Jan 2010 00:12:47 +0000 (16:12 -0800)]
cbus: switch to kzalloc

change kmalloc() + memset() to kzalloc(), no functional
changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: tahvo-usb: make it build again
Felipe Balbi [Thu, 7 Jan 2010 00:12:47 +0000 (16:12 -0800)]
cbus: tahvo-usb: make it build again

plenty of legacy code sitting there. Make it build
again. Later patches will come to clean that up.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Make retu watchdog behave like a standard Linux watchdog
Tony Lindgren [Thu, 7 Jan 2010 00:12:47 +0000 (16:12 -0800)]
cbus: Make retu watchdog behave like a standard Linux watchdog

Make retu watchdog behave like a standard Linux watchdog.

Let the kernel do the kicking until the watchdog device is opened.

Note: We should remove the old non-standard interface, please
change to use standard /dev/watchdog instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix compile and don't try to use tag
Tony Lindgren [Thu, 7 Jan 2010 00:12:46 +0000 (16:12 -0800)]
cbus: Fix compile and don't try to use tag

Fix compile and don't try to use tag

This should be really passed as platform_data from
the board-*.c files.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Search and replace headers to use plat
Tony Lindgren [Thu, 7 Jan 2010 00:12:46 +0000 (16:12 -0800)]
omap: Search and replace headers to use plat

Search and replace headers to use plat

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Add drivers/cbus support
Juha Yrjola [Thu, 7 Jan 2010 00:12:45 +0000 (16:12 -0800)]
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

15 years agoehci: fix missing kfree in remove path also
Ajay Kumar Gupta [Thu, 7 Jan 2010 00:12:41 +0000 (16:12 -0800)]
ehci: fix missing kfree in remove path also

Added missing kfree() in ehci_hcd_omap_remove().

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
15 years agoOMAP2xxx OPP: clean up comments in OPP data
Paul Walmsley [Wed, 6 Jan 2010 20:13:52 +0000 (13:13 -0700)]
OMAP2xxx OPP: clean up comments in OPP data

Revise some of the comments in the OMAP2xxx OPP data for clarity.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
15 years agoOMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled
Felipe Balbi [Wed, 6 Jan 2010 20:13:52 +0000 (13:13 -0700)]
OMAP2xxx clock: clk2xxx.c doesn't compile if CPUFREQ is enabled

if we enable CPUFREQ we can't build omap2 for two reasons,
one of them is fixed by the patch below.

It's failing because the __must_be_array() check in
ARRAY_SIZE() is failing and printing the following message:

arch/arm/mach-omap2/clock2xxx.c:453: error: negative width in bit-field '<anonymous>'

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
[paul@pwsan.com: commit message updated; changed rate variable name]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP1 clock: remove __initdata from struct clk_functions to prevent crash
Cory Maccarrone [Wed, 6 Jan 2010 20:13:51 +0000 (13:13 -0700)]
OMAP1 clock: remove __initdata from struct clk_functions to prevent crash

Commit 52650505fbf3a6ab851c801f54e73e76c55ab8da added an __initdata
decoration to the structure containing the clk_enable and clk_disable
functions.  Once init data was freed, these pointers went to null, and
the next enable or disable call caused the kernel to crash.  This
change removes this decoration.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
[paul@pwsan.com: patch manually split and commit message edited]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP1 clock: Add missing clocks for OMAP 7xx
Cory Maccarrone [Wed, 6 Jan 2010 20:15:48 +0000 (13:15 -0700)]
OMAP1 clock: Add missing clocks for OMAP 7xx

This change adds in some missing clocks that were needed as a result
of 526505... (OMAP1 clock: convert mach-omap1/clock.h to
mach-omap1/clock_data.c).  Prior to this, it was just assumed that
these clocks existed for all devices, and it was used directly instead
of calling it out with a clock_get call or similar.  So, not having
the CK_7XX meant these clocks weren't being used anymore for omap 7xx
devices, which broke things badly.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
[paul@pwsan.com: commit message edited]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP clock: remove incorrect EXPORT_SYMBOL()s
Paul Walmsley [Wed, 6 Jan 2010 20:15:47 +0000 (13:15 -0700)]
OMAP clock: remove incorrect EXPORT_SYMBOL()s

The only symbols that should be exported are symbols that are to be
called from loadable kernel modules, e.g., device drivers.  In the
context of plat-omap/clock.c, these should only be the Linux clock
interface symbols as defined by include/linux/clk.h.  Core code
doesn't need these symbols to be exported.  Also, clean up an old
comment while here.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP3 clock: Add capability to change rate of dpll4_m5_ck
Tuukka Toivonen [Wed, 6 Jan 2010 20:15:47 +0000 (13:15 -0700)]
OMAP3 clock: Add capability to change rate of dpll4_m5_ck

Add necessary definitions to clock framework to allow changing
dpll4_m5_ck rate.  This is used by the camera code.

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tuukka Toivonen <tuukka.o.toivonen@nokia.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK
Paul Walmsley [Wed, 6 Jan 2010 20:15:46 +0000 (13:15 -0700)]
OMAP3 clock: McBSP 2, 3, 4 functional clock parent is PER_96M_FCLK, not CORE_96M_FCLK

The correct parent of the McBSP 2, 3, and 4 functional clocks is
PER_96M_FCLK, not CORE_96M_FCLK.  Fix this in the OMAP clock tree.
Reported by Nicole Chalhoub <n-chalhoub@ti.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Nicole Chalhoub <n-chalhoub@ti.com>
15 years agoOMAP3: clock: add clockdomains for UART1 & 2
Kevin Hilman [Wed, 6 Jan 2010 20:15:42 +0000 (13:15 -0700)]
OMAP3: clock: add clockdomains for UART1 & 2

UART1 & 2 were missing clockdomains resulting in broken omap_hwmod
init for these devices.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoOMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space
Paul Walmsley [Wed, 6 Jan 2010 20:15:41 +0000 (13:15 -0700)]
OMAP2420 IO mapping: move IVA mapping virtual address out of vmalloc space

Commit 10db25fea4c11661070b97832b8cc3d2af495092 causes the following
kernel messages during N800 boot (and presumably all other 2420
boards):

[    0.000000] BUG: mapping for 0x58000000 at 0xe0000000 overlaps vmalloc space
[    0.000000] BUG: mapping for 0x59000000 at 0xe1000000 overlaps vmalloc space
[    0.000000] BUG: mapping for 0x5a000000 at 0xe2000000 overlaps vmalloc space

Fix by remapping the IVA memory areas somewhere outside vmalloc space.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
15 years agoOMAP2xxx IO mapping: mark DSP mappings as being 2420-only
Paul Walmsley [Wed, 6 Jan 2010 20:15:40 +0000 (13:15 -0700)]
OMAP2xxx IO mapping: mark DSP mappings as being 2420-only

Out of the three major OMAP2 chip types, OMAP2420, OMAP2430, and OMAP3430,
we only map the IVA on OMAP2420.  The memory mapping is not shared between
OMAP2420 and OMAP2430, so it is inappropriate to label those macros as
'24XX'; this patch changes them to '2420'.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access.
Abhijit Pagare [Wed, 6 Jan 2010 20:15:35 +0000 (13:15 -0700)]
ARM: OMAP3: PM: Fix the Invalid CM_CLKSTCTRL reg access.

In OMAP2/3 some of the clock-domains which did not have control
facility were being falsely written to and read using the CM_CLKSTCTRL
register though it did not exist for them. One check is added to remove
this flaw.

Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
15 years agoOMAP2: remove duplicated #include
Huang Weiyi [Wed, 6 Jan 2010 20:15:34 +0000 (13:15 -0700)]
OMAP2: remove duplicated #include

Remove duplicated #include('s) in
  arch/arm/mach-omap2/clock34xx.c
  arch/arm/mach-omap2/io.c

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
15 years agoLinux-omap rebuilt: updated to v2.6.33-rc3, applied some fixes
Tony Lindgren [Wed, 6 Jan 2010 01:19:18 +0000 (17:19 -0800)]
Linux-omap rebuilt: updated to v2.6.33-rc3, applied some fixes

$ git checkout -b tmp-rebuild-1262740750 linus
$ git merge -m "Merge omap-fixes" omap-fixes
$ git merge -m "Merge omap-testing" omap-testing
$ git merge -m "Merge for-next" for-next
$ git merge -m "Merge cbus" cbus
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-1262740750

To view the changes since the last rebuild, please do
$ git diff 5f0079aac916940f3a93de68c2409fcb2fe3731e..e04178cab0997b293fd80b712e44c7901d0cedb6 arch/arm/*omap*/

15 years agoMerge cbus
Tony Lindgren [Wed, 6 Jan 2010 01:19:13 +0000 (17:19 -0800)]
Merge cbus

15 years agoMerge omap-testing
Tony Lindgren [Wed, 6 Jan 2010 01:19:12 +0000 (17:19 -0800)]
Merge omap-testing

15 years agoomap: Remove uninitialized warning for gpio.c
Tony Lindgren [Wed, 6 Jan 2010 01:18:01 +0000 (17:18 -0800)]
omap: Remove uninitialized warning for gpio.c

Flags is not used on 15xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agogpio: Simultaneously requested rising and falling edge
Cory Maccarrone [Wed, 6 Jan 2010 01:18:01 +0000 (17:18 -0800)]
gpio: Simultaneously requested rising and falling edge

Some chips, namely any OMAP1 chips using METHOD_MPUIO,
OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO
interrupts in both rising and falling edge directions -- they can
only respond to one direction or the other, depending on how the
ICR is configured.

Additionally, current code forces rising edge detection if both
flags are specified:

        if (trigger & IRQ_TYPE_EDGE_RISING)
                l |= 1 << gpio;
        else if (trigger & IRQ_TYPE_EDGE_FALLING)
                l &= ~(1 << gpio);
        else
                goto bad;

This change implements a toggle function that will modify the ICR
to flip the direction of interrupt for IRQs that are requested with
both rising and falling flags.  The toggle function is not called
for chips and GPIOs it does not apply to through the use of a flip_mask
that's added on a per-bank basis.  The mask is only set for those
GPIOs where a toggle is necessary.  Edge detection starts out the
same as above with FALLING mode first.

The toggle happens on EACH interrupt; without it, we have the
following sequence of actions on GPIO transition:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt
  0x1    1 -> 0 (falling)   No interrupt

  (set ICR to 0x0 manually)
  0x0    0 -> 1 (rising)    No interrupt
  0x0    1 -> 0 (falling)   Interrupt

That is, with the ICR set to 1 for a gpio, only rising edge interrupts
are caught, and with it set to 0, only falling edge interrupts are
caught.  If we add in the toggle, we get this:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt (ICR set to 0x0)
  0x0    1 -> 0 (falling)   Interrupt (ICR set to 0x1)
  0x1    0 -> 1 ...

so, both rising and falling are caught, per the request for both
(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING).

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Fix booting if package is uninitialized
Tony Lindgren [Wed, 6 Jan 2010 01:18:01 +0000 (17:18 -0800)]
omap: Fix booting if package is uninitialized

Otherwise bringing up new boards can be harder:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc2-00015-g0bc9c93-dirty #37)
PC is at omap_mux_init+0xa4/0x3d8
LR is at omap_mux_init+0x3c/0x3d8
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoOMAP3EVM: Choose OMAP_PACKAGE_CBB
Vaibhav Hiremath [Wed, 6 Jan 2010 01:18:00 +0000 (17:18 -0800)]
OMAP3EVM: Choose OMAP_PACKAGE_CBB

Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoOMAP3: add missing parentheses
Roel Kluin [Wed, 6 Jan 2010 01:18:00 +0000 (17:18 -0800)]
OMAP3: add missing parentheses

not(!) has a higher precedence than bit and(&).

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: &&/|| confusion in iommu_put()
Roel Kluin [Wed, 6 Jan 2010 01:18:00 +0000 (17:18 -0800)]
omap: &&/|| confusion in iommu_put()

obj can't be both NULL and be an error pointer.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: ZOOM: Correcting key mapping for few keys
Vimal Singh [Wed, 6 Jan 2010 01:17:59 +0000 (17:17 -0800)]
omap: ZOOM: Correcting key mapping for few keys

Keys: 'right arrow', 'up arrow' and 'select' were mapped
wrongly. This patch corrects them.
This patch also adds one missing key present in the board,
currently I added it as 'unknown' key, as I am not able to
find proper description for this key.
One key entry (r: 7, c: 5) is present in the keymap, which
is really not present in the board, removing it.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: McBSP: Fix possible port lockout
Janusz Krzysztofik [Wed, 6 Jan 2010 01:17:59 +0000 (17:17 -0800)]
omap: McBSP: Fix possible port lockout

In its current form, the omap_mcbsp_request() function can return after
irq_request() failure without any cleanups, effectively locking out the port
forever with clocks left running. Fix it.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'for_2_6_33_rc_a' of git://git.pwsan.com/linux-2.6 into omap-fixes-2...
Tony Lindgren [Wed, 6 Jan 2010 01:17:32 +0000 (17:17 -0800)]
Merge branch 'for_2_6_33_rc_a' of git://git.pwsan.com/linux-2.6 into omap-fixes-2.6.33-rc3

15 years agoLinux-omap rebuilt: omap-fixes merged
Tony Lindgren [Wed, 6 Jan 2010 00:34:58 +0000 (16:34 -0800)]
Linux-omap rebuilt: omap-fixes merged

$ git checkout -b tmp-rebuild-1262738090 linus
$ git merge -m "Merge omap-fixes" omap-fixes
$ git merge -m "Merge omap-testing" omap-testing
$ git merge -m "Merge for-next" for-next
$ git merge -m "Merge cbus" cbus
$ git merge -s ours master
$ git checkout master
$ git merge tmp-rebuild-1262738090

To view the changes since the last rebuild, please do
$ git diff 5c45000a8c85cacfc1e9ad712ae2c729b08f5609..dd09b34177e4ea23b0c69084ceca5cf5642e5573 arch/arm/*omap*/

15 years agoMerge cbus
Tony Lindgren [Wed, 6 Jan 2010 00:34:53 +0000 (16:34 -0800)]
Merge cbus

15 years agoMerge omap-testing
Tony Lindgren [Wed, 6 Jan 2010 00:34:51 +0000 (16:34 -0800)]
Merge omap-testing

15 years agoomap: Remove uninitialized warning for gpio.c
Tony Lindgren [Tue, 5 Jan 2010 20:17:06 +0000 (12:17 -0800)]
omap: Remove uninitialized warning for gpio.c

Flags is not used on 15xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agogpio: Simultaneously requested rising and falling edge
Cory Maccarrone [Tue, 15 Dec 2009 01:42:54 +0000 (01:42 +0000)]
gpio: Simultaneously requested rising and falling edge

Some chips, namely any OMAP1 chips using METHOD_MPUIO,
OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO
interrupts in both rising and falling edge directions -- they can
only respond to one direction or the other, depending on how the
ICR is configured.

Additionally, current code forces rising edge detection if both
flags are specified:

        if (trigger & IRQ_TYPE_EDGE_RISING)
                l |= 1 << gpio;
        else if (trigger & IRQ_TYPE_EDGE_FALLING)
                l &= ~(1 << gpio);
        else
                goto bad;

This change implements a toggle function that will modify the ICR
to flip the direction of interrupt for IRQs that are requested with
both rising and falling flags.  The toggle function is not called
for chips and GPIOs it does not apply to through the use of a flip_mask
that's added on a per-bank basis.  The mask is only set for those
GPIOs where a toggle is necessary.  Edge detection starts out the
same as above with FALLING mode first.

The toggle happens on EACH interrupt; without it, we have the
following sequence of actions on GPIO transition:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt
  0x1    1 -> 0 (falling)   No interrupt

  (set ICR to 0x0 manually)
  0x0    0 -> 1 (rising)    No interrupt
  0x0    1 -> 0 (falling)   Interrupt

That is, with the ICR set to 1 for a gpio, only rising edge interrupts
are caught, and with it set to 0, only falling edge interrupts are
caught.  If we add in the toggle, we get this:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt (ICR set to 0x0)
  0x0    1 -> 0 (falling)   Interrupt (ICR set to 0x1)
  0x1    0 -> 1 ...

so, both rising and falling are caught, per the request for both
(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING).

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Fix booting if package is uninitialized
Tony Lindgren [Tue, 5 Jan 2010 23:54:58 +0000 (15:54 -0800)]
omap: Fix booting if package is uninitialized

Otherwise bringing up new boards can be harder:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc2-00015-g0bc9c93-dirty #37)
PC is at omap_mux_init+0xa4/0x3d8
LR is at omap_mux_init+0x3c/0x3d8
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoOMAP3EVM: Choose OMAP_PACKAGE_CBB
Vaibhav Hiremath [Thu, 31 Dec 2009 06:24:27 +0000 (06:24 +0000)]
OMAP3EVM: Choose OMAP_PACKAGE_CBB

Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoOMAP3: add missing parentheses
Roel Kluin [Wed, 23 Dec 2009 01:42:49 +0000 (01:42 +0000)]
OMAP3: add missing parentheses

not(!) has a higher precedence than bit and(&).

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: &&/|| confusion in iommu_put()
Roel Kluin [Sat, 19 Dec 2009 15:17:40 +0000 (15:17 +0000)]
omap: &&/|| confusion in iommu_put()

obj can't be both NULL and be an error pointer.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: ZOOM: Correcting key mapping for few keys
Vimal Singh [Fri, 18 Dec 2009 06:39:10 +0000 (12:09 +0530)]
omap: ZOOM: Correcting key mapping for few keys

Keys: 'right arrow', 'up arrow' and 'select' were mapped
wrongly. This patch corrects them.
This patch also adds one missing key present in the board,
currently I added it as 'unknown' key, as I am not able to
find proper description for this key.
One key entry (r: 7, c: 5) is present in the keymap, which
is really not present in the board, removing it.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: McBSP: Fix possible port lockout
Janusz Krzysztofik [Wed, 16 Dec 2009 16:16:28 +0000 (16:16 +0000)]
omap: McBSP: Fix possible port lockout

In its current form, the omap_mcbsp_request() function can return after
irq_request() failure without any cleanups, effectively locking out the port
forever with clocks left running. Fix it.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Remove uninitialized warning for gpio.c
Tony Lindgren [Tue, 5 Jan 2010 20:17:06 +0000 (12:17 -0800)]
omap: Remove uninitialized warning for gpio.c

Flags is not used on 15xx.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agogpio: Simultaneously requested rising and falling edge
Cory Maccarrone [Tue, 15 Dec 2009 01:42:54 +0000 (01:42 +0000)]
gpio: Simultaneously requested rising and falling edge

Some chips, namely any OMAP1 chips using METHOD_MPUIO,
OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO
interrupts in both rising and falling edge directions -- they can
only respond to one direction or the other, depending on how the
ICR is configured.

Additionally, current code forces rising edge detection if both
flags are specified:

        if (trigger & IRQ_TYPE_EDGE_RISING)
                l |= 1 << gpio;
        else if (trigger & IRQ_TYPE_EDGE_FALLING)
                l &= ~(1 << gpio);
        else
                goto bad;

This change implements a toggle function that will modify the ICR
to flip the direction of interrupt for IRQs that are requested with
both rising and falling flags.  The toggle function is not called
for chips and GPIOs it does not apply to through the use of a flip_mask
that's added on a per-bank basis.  The mask is only set for those
GPIOs where a toggle is necessary.  Edge detection starts out the
same as above with FALLING mode first.

The toggle happens on EACH interrupt; without it, we have the
following sequence of actions on GPIO transition:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt
  0x1    1 -> 0 (falling)   No interrupt

  (set ICR to 0x0 manually)
  0x0    0 -> 1 (rising)    No interrupt
  0x0    1 -> 0 (falling)   Interrupt

That is, with the ICR set to 1 for a gpio, only rising edge interrupts
are caught, and with it set to 0, only falling edge interrupts are
caught.  If we add in the toggle, we get this:

  ICR    GPIO               Result
  0x1    0 -> 1 (rising)    Interrupt (ICR set to 0x0)
  0x0    1 -> 0 (falling)   Interrupt (ICR set to 0x1)
  0x1    0 -> 1 ...

so, both rising and falling are caught, per the request for both
(IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING).

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: Fix booting if package is uninitialized
Tony Lindgren [Tue, 5 Jan 2010 23:54:58 +0000 (15:54 -0800)]
omap: Fix booting if package is uninitialized

Otherwise bringing up new boards can be harder:

Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0    Not tainted  (2.6.33-rc2-00015-g0bc9c93-dirty #37)
PC is at omap_mux_init+0xa4/0x3d8
LR is at omap_mux_init+0x3c/0x3d8
...

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoOMAP3EVM: Choose OMAP_PACKAGE_CBB
Vaibhav Hiremath [Thu, 31 Dec 2009 06:24:27 +0000 (06:24 +0000)]
OMAP3EVM: Choose OMAP_PACKAGE_CBB

Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoLinux 2.6.33-rc3 v2.6.33-rc3
Linus Torvalds [Wed, 6 Jan 2010 00:02:46 +0000 (16:02 -0800)]
Linux 2.6.33-rc3

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 6 Jan 2010 00:01:58 +0000 (16:01 -0800)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Fix Niagara2 perf event handling.
  sparc64: Fix NMI programming when perf events are active.
  bbc_envctrl: Clean up properly if kthread_run() fails.

15 years agoRevert "x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium"
Rusty Russell [Tue, 5 Jan 2010 02:18:49 +0000 (12:48 +1030)]
Revert "x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium"

This reverts commit ae1b22f6e46c03cede7cea234d0bf2253b4261cf.

As Linus said in 982d007a6ee: "There was something really messy about
cmpxchg8b and clone CPU's, so if you enable it on other CPUs later, do it
carefully."

This breaks lguest for those configs, but we can fix that by emulating
if we have to.

Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=14884
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec...
Linus Torvalds [Wed, 6 Jan 2010 00:01:04 +0000 (16:01 -0800)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jlbec/ocfs2

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
  ocfs2: Handle O_DIRECT when writing to a refcounted cluster.

15 years agoMerge branch 'for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Linus Torvalds [Tue, 5 Jan 2010 23:59:56 +0000 (15:59 -0800)]
Merge branch 'for-2.6.33' of git://git./linux/kernel/git/broonie/sound-2.6

* 'for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6:
  ASoC: fixup oops in generic AC97 codec glue
  ASoC: fix params_rate() macro use in several codecs
  ASoC: fsi-ak4642: Remove ak4642_add_i2c_device

15 years agoOMAP3: add missing parentheses
Roel Kluin [Wed, 23 Dec 2009 01:42:49 +0000 (01:42 +0000)]
OMAP3: add missing parentheses

not(!) has a higher precedence than bit and(&).

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: &&/|| confusion in iommu_put()
Roel Kluin [Sat, 19 Dec 2009 15:17:40 +0000 (15:17 +0000)]
omap: &&/|| confusion in iommu_put()

obj can't be both NULL and be an error pointer.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: ZOOM: Correcting key mapping for few keys
Vimal Singh [Fri, 18 Dec 2009 06:39:10 +0000 (12:09 +0530)]
omap: ZOOM: Correcting key mapping for few keys

Keys: 'right arrow', 'up arrow' and 'select' were mapped
wrongly. This patch corrects them.
This patch also adds one missing key present in the board,
currently I added it as 'unknown' key, as I am not able to
find proper description for this key.
One key entry (r: 7, c: 5) is present in the keymap, which
is really not present in the board, removing it.

Signed-off-by: Vimal Singh <vimalsingh@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: McBSP: Fix possible port lockout
Janusz Krzysztofik [Wed, 16 Dec 2009 16:16:28 +0000 (16:16 +0000)]
omap: McBSP: Fix possible port lockout

In its current form, the omap_mcbsp_request() function can return after
irq_request() failure without any cleanups, effectively locking out the port
forever with clocks left running. Fix it.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge branch 'omap-fixes-2.6.33-rc1' into omap-fixes
Tony Lindgren [Tue, 5 Jan 2010 19:07:22 +0000 (11:07 -0800)]
Merge branch 'omap-fixes-2.6.33-rc1' into omap-fixes

15 years agosparc64: Fix Niagara2 perf event handling.
David S. Miller [Tue, 5 Jan 2010 07:16:03 +0000 (23:16 -0800)]
sparc64: Fix Niagara2 perf event handling.

For chips like Niagara2 that have true overflow indications
in the %pcr (which we don't actually need and don't use)
the interrupt signal persists until the overflow bits are
cleared by an explicit %pcr write.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosparc64: Fix NMI programming when perf events are active.
David S. Miller [Mon, 4 Jan 2010 23:37:04 +0000 (15:37 -0800)]
sparc64: Fix NMI programming when perf events are active.

If perf events are active, we should not reset the %pcr to
PCR_PIC_PRIV.  That perf events code does the management.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of /home/davem/src/GIT/linux-2.6/
David S. Miller [Mon, 4 Jan 2010 23:33:22 +0000 (15:33 -0800)]
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/

15 years agobbc_envctrl: Clean up properly if kthread_run() fails.
David S. Miller [Mon, 4 Jan 2010 23:31:10 +0000 (15:31 -0800)]
bbc_envctrl: Clean up properly if kthread_run() fails.

In bbc_envctrl_init() we have to unlink the fan and temp instances
from the lists because our caller is going to free up the 'bp' object
if we return an error.

We can't rely upon bbc_envctrl_cleanup() to do this work for us in
this case.

Reported-by: Patrick Finnegan <pat@computer-refuge.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'limits_cleanup' of git://decibel.fi.muni.cz/~xslaby/linux
Linus Torvalds [Mon, 4 Jan 2010 20:36:54 +0000 (12:36 -0800)]
Merge branch 'limits_cleanup' of git://decibel.fi.muni.cz/~xslaby/linux

* 'limits_cleanup' of git://decibel.fi.muni.cz/~xslaby/linux:
  resource: add helpers for fetching rlimits
  resource: move kernel function inside __KERNEL__
  SECURITY: selinux, fix update_rlimit_cpu parameter

15 years agoMerge branch 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux
Linus Torvalds [Mon, 4 Jan 2010 20:35:18 +0000 (12:35 -0800)]
Merge branch 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux

* 'for-linus/samsung' of git://git.fluff.org/bjdooks/linux:
  ARM: S3C: Fix NAND device registration by s3c_nand_set_platdata().
  ARM: S3C24XX: touchscreen device definition
  ARM: mach-bast: add NAND_SCAN_SILENT_NODEV to optional devices
  ARM: mach-osiris: add NAND_SCAN_SILENT_NODEV to optional devices
  ARM: S3C24XX: touchscreen device definition

15 years agosysfs: Add lockdep annotations for the sysfs active reference
Eric W. Biederman [Sat, 2 Jan 2010 21:37:12 +0000 (13:37 -0800)]
sysfs: Add lockdep annotations for the sysfs active reference

Holding locks over device_del -> kobject_del -> sysfs_deactivate can
cause deadlocks if those same locks are grabbed in sysfs show or store
methods.

The I model s_active count + completion as a sleeping read/write lock.
I describe to lockdep sysfs_get_active as a read_trylock,
sysfs_put_active as a read_unlock, and sysfs_deactivate as a
write_lock and write_unlock pair.  This seems to capture the essence
for purposes of finding deadlocks, and in my testing gives finds real
issues and ignores non-issues.

This brings us back to holding locks over kobject_del is a problem
that ideally we should find a way of addressing, but at least lockdep
can tell us about the problems instead of requiring developers to debug
rare strange system deadlocks, that happen when sysfs files are removed
while being written to.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agolguest: fix bug in setting guest GDT entry
Rusty Russell [Mon, 4 Jan 2010 08:56:14 +0000 (19:26 +1030)]
lguest: fix bug in setting guest GDT entry

We kill the guest, but then we blatt random stuff.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Mon, 4 Jan 2010 20:32:42 +0000 (12:32 -0800)]
Merge branch 'for-linus' of git://git390.marist.edu/linux-2.6

* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] Update default configuration.
  [S390] Have param.h simply include <asm-generic/param.h>.
  [S390] qdio: convert global statistics to per-device stats

15 years agoMerge branch 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal...
Linus Torvalds [Mon, 4 Jan 2010 20:32:09 +0000 (12:32 -0800)]
Merge branch 'sh/for-2.6.33' of git://git./linux/kernel/git/lethal/sh-2.6

* 'sh/for-2.6.33' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
  binfmt_elf_fdpic: Fix build breakage introduced by coredump changes.
  sh: update defconfigs.
  sh: Don't default enable PMB support.
  sh: Disable PMB for SH4AL-DSP CPUs.
  sh: Only provide a PCLK definition for legacy CPG CPUs.

15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Mon, 4 Jan 2010 20:31:52 +0000 (12:31 -0800)]
Merge branch 'for_linus' of git://git./linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: Calculate metadata requirements more accurately
  ext4: Fix accounting of reserved metadata blocks

15 years agotosh: Use non bkl ioctl
Alan Cox [Mon, 4 Jan 2010 16:19:55 +0000 (16:19 +0000)]
tosh: Use non bkl ioctl

We wrap the smm calls and other bits with the BKL push down as a
precaution but they can probably go

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoi2o: propogate the BKL down into the ioctl method
Alan Cox [Mon, 4 Jan 2010 16:18:27 +0000 (16:18 +0000)]
i2o: propogate the BKL down into the ioctl method

Nobody seems to want to own I2O patches so sending this one directly.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agosony_pi: Remove the BKL from open and ioctl
John Kacur [Sun, 18 Oct 2009 21:49:49 +0000 (23:49 +0200)]
sony_pi: Remove the BKL from open and ioctl

The BKL is in this function because of the BKL pushdown (see commit
f8f2c79d594463427f7114cedb1555110d547d89)

It is not needed here because the mutex_lock sonypi_device.lock provides
the necessary locking.

sonypi_misc_ioctl can be converted to unlocked ioctls since it relies on
its own locking (the mutex sonypi_device.lock) and not the bkl

Document that llseek is not needed by explictly setting it to no_llseek

LKML-Reference: <alpine.LFD.2.00.0910192019420.3563@localhost.localdomain>
Signed-off-by: John Kacur <jkacur@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke...
Linus Torvalds [Mon, 4 Jan 2010 20:28:26 +0000 (12:28 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ryusuke/nilfs2

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
  nilfs2: update mailing list address
  nilfs2: Storage class should be before const qualifier
  nilfs2: trivial coding style fix

15 years agoASoC: fixup oops in generic AC97 codec glue
Manuel Lauss [Mon, 4 Jan 2010 15:29:49 +0000 (16:29 +0100)]
ASoC: fixup oops in generic AC97 codec glue

Initialize the glue by calling snd_soc_new_ac97_codec() as is done
in other ASoC AC97 codecs.  Fixes an oops caused by dereferencing
uninitialized members in snd_soc_new_pcms().

Run-tested on Au1250.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoresource: add helpers for fetching rlimits
Jiri Slaby [Thu, 19 Nov 2009 16:16:37 +0000 (17:16 +0100)]
resource: add helpers for fetching rlimits

We want to be sure that compiler fetches the limit variable only
once, so add helpers for fetching current and maximal resource
limits which do that.

Add them to sched.h (instead of resource.h) due to circular dependency
 sched.h->resource.h->task_struct
Alternative would be to create a separate res_access.h or similar.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: James Morris <jmorris@namei.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Ingo Molnar <mingo@elte.hu>
15 years agoresource: move kernel function inside __KERNEL__
Jiri Slaby [Fri, 20 Nov 2009 13:16:33 +0000 (14:16 +0100)]
resource: move kernel function inside __KERNEL__

It is an internal function. Move it inside __KERNEL__ ifdef, along
with task_struct declaration.

Then we get:
--- /usr/include/linux/resource.h       2009-09-14 15:09:29.000000000 +0200
+++ usr/include/linux/resource.h       2010-01-04 11:30:54.000000000 +0100
@@ -3,8 +3,6 @@

 #include <linux/time.h>

-struct task_struct;
-
 /*
  * Resource control/accounting header file for linux
  */
@@ -70,6 +68,5 @@
  */
 #include <asm/resource.h>

-int getrusage(struct task_struct *p, int who, struct rusage *ru);

 #endif

***********

include/linux/Kbuild is untouched, since unifdef is run even on
headers-y nowadays.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>