pandora-kernel.git
15 years agoLinux-omap rebuilt: Merged in i2c-omap-for-ben branch and cleaned up cbus branch
Tony Lindgren [Tue, 27 Apr 2010 01:30:07 +0000 (18:30 -0700)]
Linux-omap rebuilt: Merged in i2c-omap-for-ben branch and cleaned up cbus branch

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

To view the changes since the last rebuild, please do
$ git diff 7df1702e6cc94c3b3a3ebb69b6462bfaad9050da..d5ecba294c02078aec93474d15ee5b57ada4a7ae arch/arm/*omap*/

15 years agoMerge i2c-omap-for-ben
Tony Lindgren [Tue, 27 Apr 2010 01:30:01 +0000 (18:30 -0700)]
Merge i2c-omap-for-ben

15 years agoMerge omap-testing
Tony Lindgren [Tue, 27 Apr 2010 01:30:00 +0000 (18:30 -0700)]
Merge omap-testing

15 years agoMerge omap-fixes
Tony Lindgren [Tue, 27 Apr 2010 01:29:58 +0000 (18:29 -0700)]
Merge omap-fixes

15 years agocbus: retu-wdt: misc cleanup on retu-wdt driver
Felipe Balbi [Tue, 27 Apr 2010 01:23:31 +0000 (18:23 -0700)]
cbus: retu-wdt: misc cleanup on retu-wdt driver

a trivial cleanup on the driver. No functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-wtd: convert to platform_driver
Felipe Balbi [Tue, 27 Apr 2010 01:23:26 +0000 (18:23 -0700)]
cbus: retu-wtd: convert to platform_driver

trivial patch converting a device_driver into
platform_driver.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-wdt: remove the platform_device
Felipe Balbi [Tue, 27 Apr 2010 01:23:15 +0000 (18:23 -0700)]
cbus: retu-wdt: remove the platform_device

it now comes from retu.c, so use that.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: switch to rtc class device
Felipe Balbi [Tue, 27 Apr 2010 01:23:09 +0000 (18:23 -0700)]
cbus: retu-rtc: switch to rtc class device

remove the old syfs interface and move to rtc class
device registration.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: make checkpatch.pl happy
Felipe Balbi [Tue, 27 Apr 2010 01:23:04 +0000 (18:23 -0700)]
cbus: retu-rtc: make checkpatch.pl happy

trivial changes to make checkpatch.pl happy.
No functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: move retu_rtc_barrier up on source code
Felipe Balbi [Tue, 27 Apr 2010 01:22:58 +0000 (18:22 -0700)]
cbus: retu-rtc: move retu_rtc_barrier up on source code

... and drop the function prototype.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: get rid of globals
Felipe Balbi [Tue, 27 Apr 2010 01:22:52 +0000 (18:22 -0700)]
cbus: retu-rtc: get rid of globals

allocate everything we need on demand and get rid
of global variables.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: split MODULE_AUTHOR into several entries
Felipe Balbi [Tue, 27 Apr 2010 01:22:46 +0000 (18:22 -0700)]
cbus: retu-rtc: split MODULE_AUTHOR into several entries

it's easier to read, no functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: convert to platform_driver
Felipe Balbi [Tue, 27 Apr 2010 01:22:41 +0000 (18:22 -0700)]
cbus: retu-rtc: convert to platform_driver

still needs work, but it's now using platform_driver
structure.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-rtc: remove platform_device code
Felipe Balbi [Tue, 27 Apr 2010 01:22:36 +0000 (18:22 -0700)]
cbus: retu-rtc: remove platform_device code

that comes from retu.c now.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-headset: simplify module_init
Felipe Balbi [Tue, 27 Apr 2010 01:22:18 +0000 (18:22 -0700)]
cbus: retu-headset: simplify module_init

it's enough to have it as:

return platform_driver_register();

in case of failure, platform code should print
any necessary info.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-pwrbutton: convert to platform_driver
Felipe Balbi [Tue, 27 Apr 2010 01:22:12 +0000 (18:22 -0700)]
cbus: retu-pwrbutton: convert to platform_driver

now that we allocate the platform_devices in retu.c
we can convert this driver to platform_driver.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: allocate platform_device for Retu's children
Felipe Balbi [Tue, 27 Apr 2010 01:22:07 +0000 (18:22 -0700)]
cbus: retu: allocate platform_device for Retu's children

after this patch, Retu's children can start moving to
platform_driver infrastructure.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: tahvo: convert to platform_driver
Felipe Balbi [Tue, 27 Apr 2010 01:22:01 +0000 (18:22 -0700)]
cbus: tahvo: convert to platform_driver

cleanup a bit and start preparing for splitting
platform_device from platform_driver.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: tahvo: convert printk into dev_*
Felipe Balbi [Tue, 27 Apr 2010 01:21:56 +0000 (18:21 -0700)]
cbus: tahvo: convert printk into dev_*

during probe() we have a device * available so we
can use dev_* macros instead of printk.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: tahvo: don't assign ret inside if ()
Felipe Balbi [Tue, 27 Apr 2010 01:21:51 +0000 (18:21 -0700)]
cbus: tahvo: don't assign ret inside if ()

change codying style, no functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: tahvo: move EXPORT_SYMBOL macros closer to functions
Felipe Balbi [Tue, 27 Apr 2010 01:21:45 +0000 (18:21 -0700)]
cbus: tahvo: move EXPORT_SYMBOL macros closer to functions

No functional changes but it avoids having to look for which
symbols are exported.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: tahvo: split MODULE_AUTHOR into several entries
Felipe Balbi [Tue, 27 Apr 2010 01:21:39 +0000 (18:21 -0700)]
cbus: tahvo: split MODULE_AUTHOR into several entries

it's easier to read. No functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: convert to a platform_driver
Felipe Balbi [Tue, 27 Apr 2010 01:21:33 +0000 (18:21 -0700)]
cbus: retu: convert to a platform_driver

preparing this driver for mainline. Convert into
a platform_driver and prepare to split platform_device
code from platform_driver code.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: convert printk to dev_*
Felipe Balbi [Tue, 27 Apr 2010 01:21:28 +0000 (18:21 -0700)]
cbus: retu: convert printk to dev_*

during probe(), we have a dev * available, and we
can use that for pretty printing with dev_* macros.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: don't assing ret inside the if ()
Felipe Balbi [Tue, 27 Apr 2010 01:21:22 +0000 (18:21 -0700)]
cbus: retu: don't assing ret inside the if ()

better coding style.

Change:
if ((ret = driver_register(&retu_driver)))
into:
ret = driver_register(&retu_driver);
if (ret)

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: split one MODULE_AUTHOR into several
Felipe Balbi [Tue, 27 Apr 2010 01:21:16 +0000 (18:21 -0700)]
cbus: retu: split one MODULE_AUTHOR into several

it's easier to read anyways.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu: fix compile breakage on retu-headset
Felipe Balbi [Tue, 27 Apr 2010 01:21:07 +0000 (18:21 -0700)]
cbus: retu: fix compile breakage on retu-headset

when building retu-headset as a  module, we need to
export retu_set_clear_reg_bits() and retu_read_adc().

While at that, also move the EXPORT_SYMBOL() macros
closer to the function definitions.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: retu-wdt: fix compile breakage
Felipe Balbi [Tue, 27 Apr 2010 01:21:01 +0000 (18:21 -0700)]
cbus: retu-wdt: fix compile breakage

fix compile breakage on retu-wdt driver.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: add kerneldoc
Felipe Balbi [Tue, 27 Apr 2010 01:20:56 +0000 (18:20 -0700)]
cbus: add kerneldoc

trivial patch, no functional changes.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: introduce cbus_send/receive_data wrappers
Felipe Balbi [Tue, 27 Apr 2010 01:20:50 +0000 (18:20 -0700)]
cbus: introduce cbus_send/receive_data wrappers

encapsulate the for loop on those wrappers and
make the code easier to follow.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: handle possible errors on cbus_send/receive_bit
Felipe Balbi [Tue, 27 Apr 2010 01:20:43 +0000 (18:20 -0700)]
cbus: handle possible errors on cbus_send/receive_bit

gpio_direction_input might fail and we have
to handle that possibility. While at that,
also add the device pointer to struct cbus_host
and use that for printing debugging messages and
make cbus_receive_bit return int.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: move cbus_host definition to C source
Felipe Balbi [Tue, 27 Apr 2010 01:20:36 +0000 (18:20 -0700)]
cbus: move cbus_host definition to C source

no-one else besides cbus.c wants to deal with
struct cbus_host, so move the definition to
the C source interested in it.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: fix a resource leakage
Felipe Balbi [Tue, 27 Apr 2010 01:20:29 +0000 (18:20 -0700)]
cbus: fix a resource leakage

sel_gpio was never freed on previous code, free it.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: don't type case when issuing read/write
Felipe Balbi [Tue, 27 Apr 2010 01:20:22 +0000 (18:20 -0700)]
cbus: don't type case when issuing read/write

avoid type casting, fix the types used.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: add read/write flag to cbus_transfer
Felipe Balbi [Tue, 27 Apr 2010 01:20:16 +0000 (18:20 -0700)]
cbus: add read/write flag to cbus_transfer

don't do magic tricks with the data to be written, it's simpler
to pass down a flag which will for sure tell us if we're reading
or writing.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: no ternary on return
Felipe Balbi [Tue, 27 Apr 2010 01:20:10 +0000 (18:20 -0700)]
cbus: no ternary on return

data is reset to 0 if is_read is true. No need
to use ternary operator before returning.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: rely on gpiolib
Felipe Balbi [Tue, 27 Apr 2010 01:20:02 +0000 (18:20 -0700)]
cbus: rely on gpiolib

don't define our own concurrent accesses to gpio banks
if we already have gpiolib to handle that.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: don't export the global cbus_host variable
Felipe Balbi [Tue, 27 Apr 2010 01:19:54 +0000 (18:19 -0700)]
cbus: don't export the global cbus_host variable

we can keep it static to cbus.c and refer to it when
calling cbus_transfer().

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: checkpatch.pl fix on cbus.c
Felipe Balbi [Tue, 27 Apr 2010 01:19:47 +0000 (18:19 -0700)]
cbus: checkpatch.pl fix on cbus.c

make checkpatch.pl (almost) happy.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: NULL global variable on exit
Felipe Balbi [Tue, 27 Apr 2010 01:19:41 +0000 (18:19 -0700)]
cbus: NULL global variable on exit

just to be sure, let's set it to NULL.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: convert u32 base to void __iomem *base
Felipe Balbi [Tue, 27 Apr 2010 01:19:35 +0000 (18:19 -0700)]
cbus: convert u32 base to void __iomem *base

to avoid casting later, pass the parameter of the
correct type already.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agocbus: fix comilation breakage
Alexander Shishkin [Wed, 21 Apr 2010 14:26:07 +0000 (14:26 +0000)]
cbus: fix comilation breakage

Just tried to build n8x0_defconfig on the current master and
got cbus failing to compile due to implicit kzalloc() (and
others from slab.h) references. I'm not sure that including
slab.h directly is the right thing to do here, though.

Signed-off-by: Alexander Shishkin <ash@koowaldah.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agon8x0_defconfig: active cbus, retu-wd and omap-wd
Francisco Alecrim [Mon, 22 Mar 2010 19:29:26 +0000 (12:29 -0700)]
n8x0_defconfig: active cbus, retu-wd and omap-wd

It's critical for correct n8x0 operation. Device turn power-off after some
seconds without these options.

Signed-off-by: Francisco Alecrim <alecrim@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix tahvo init without cbus
Tony Lindgren [Mon, 22 Mar 2010 19:29:26 +0000 (12:29 -0700)]
cbus: Fix tahvo init without cbus

Basically don't even try to use it except on Nokia boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix init on boards with no cbus
Tony Lindgren [Mon, 22 Mar 2010 19:29:25 +0000 (12:29 -0700)]
cbus: Fix init on boards with no cbus

This really should get fixed by converting cbus to
use drivers/mfd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: Fix compile if not selected
Tony Lindgren [Mon, 22 Mar 2010 19:29:25 +0000 (12:29 -0700)]
cbus: Fix compile if not selected

Fix compile if not selected

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agofix compile for tahvo-usb.c
Francisco Alecrim [Mon, 22 Mar 2010 19:29:25 +0000 (12:29 -0700)]
fix compile for tahvo-usb.c

drivers/cbus/tahvo-usb.c:138: undefined reference to 'usb_bus_start_enum'

usb_bus_start_enum only exported if USB_OTG enabled

Signed-off-by: Francisco Alecrim <francisco.alecrim@openbossa.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agocbus: add platform_data to pass gpios
Felipe Balbi [Mon, 22 Mar 2010 19:29:24 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:24 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:24 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:23 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:23 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:23 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:22 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:22 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:22 +0000 (12:29 -0700)]
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 [Mon, 22 Mar 2010 19:29:21 +0000 (12:29 -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

15 years agoomap: i2c: make errata 1.153 workaround a separate function
Alexander Shishkin [Thu, 25 Mar 2010 09:52:36 +0000 (09:52 +0000)]
omap: i2c: make errata 1.153 workaround a separate function

This is to avoid insanely long lines and levels of indentation.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Tony Lindgren <tony@atomide.com>
CC: linux-i2c@vger.kernel.org
CC: linux-omap@vger.kernel.org
CC: nm@ti.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoRe: [PATCH 1/1] i2c-omap: add mpu wake up latency constraint in i2c
Kevin Hilman [Mon, 26 Apr 2010 23:31:27 +0000 (16:31 -0700)]
Re: [PATCH 1/1] i2c-omap: add mpu wake up latency constraint in i2c

Tony Lindgren <tony@atomide.com> writes:

> * Kevin Hilman <khilman@deeprootsystems.com> [100426 15:57]:
>> Tony Lindgren <tony@atomide.com> writes:
>>
>> +#ifdef CONFIG_ARCH_OMAP3
>> +/*
>> + * omap_i2c_set_wfc_mpu_wkup_lat - sets mpu wake up constraint
>> + * @dev: i2c bus device pointer
>> + * @val: latency constraint to set, -1 to disable constraint
>> + *
>> + * When waiting for completion of a i2c transfer, we need to set a wake up
>> + * latency constraint for the MPU. This is to ensure quick enough wakeup from
>> + * idle, when transfer completes.
>> + */
>> +static void omap_i2c_set_wfc_mpu_wkup_lat(struct device *dev, int val)
>> +{
>> + omap_pm_set_max_mpu_wakeup_lat(dev, val);
>> +}
>> +#endif
>> +
>
> Can't you leave out the above too?
>
>> + struct omap_i2c_bus_platform_data *pd;
>>   struct resource *res;
>>   resource_size_t base, irq;
>>
>>   pdev = &omap_i2c_devices[bus_id - 1];
>> + pd = pdev->dev.platform_data;
>>   if (bus_id == 1) {
>>   res = pdev->resource;
>>   if (cpu_class_is_omap1()) {
>> @@ -122,6 +143,8 @@ static int __init omap_i2c_add_bus(int bus_id)
>>   omap1_i2c_mux_pins(bus_id);
>>   if (cpu_class_is_omap2())
>>   omap2_i2c_mux_pins(bus_id);
>> + if (cpu_is_omap34xx())
>> + pd->set_mpu_wkup_lat = omap_i2c_set_wfc_mpu_wkup_lat;
>
> And then just set
>  pd->set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat;
>
> Here instead?

Sure.

> BTW, in your version looks like compile will break if CONFIG_ARCH_OMAP3
> is not set.

it shouldn't since if !CONFIG_ARCH_OMAP3, cpu_is_omap34xx() is zero
and that code will not be compiled.

Anyways, here's updated version which gets rid of both problems.

Kevin

From 4dadd7a580c347d6d93ca3cdb7fbf6bd1bab9440 Mon Sep 17 00:00:00 2001
From: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Date: Wed, 21 Oct 2009 14:51:21 +0300
Subject: [PATCH] i2c-omap: add mpu wake up latency constraint in i2c

While waiting for completion of the i2c transfer, the
MPU could hit OFF mode and cause several msecs of
delay that made i2c transfers fail more often. The
extra delays and subsequent re-trys cause i2c clocks
to be active more often. This has also an negative
effect on power consumption.

Created a mechanism for passing and using the
constraint setting function in driver code. The used
mpu wake up latency constraints are now set individually
per bus, and they are calculated based on clock rate
and fifo size.

Thanks to Jarkko Nikula, Moiz Sonasath, Paul Walmsley,
and Nishanth Menon for tuning out the details of
this patch.

Updates by Kevin as requested by Tony:

- Remove omap_set_i2c_constraint_func() in favor of conditionally
  adding the flag in omap_i2c_add_bus() in order to keep all the OMAP
  conditional checking in a single location.
- Update set_mpu_wkup_lat prototypes to match OMAP PM layer so
  OMAP PM function can be used directly in pdata.

Cc: Moiz Sonasath <m-sonasath@ti.com>
Cc: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Nishanth Menon <nm@ti.com>
Signed-off-by: Kalle Jokiniemi <kalle.jokiniemi@digia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: i2c: Add i2c support on omap4 platform
Tony Lindgren [Mon, 26 Apr 2010 21:38:38 +0000 (14:38 -0700)]
omap: i2c: Add i2c support on omap4 platform

This patch is rebased version of earlier post to add I2C
driver support to OMAP4 platform. On OMAP4, all
I2C register address offsets are changed from OMAP1/2/3 I2C.
In order to not have #ifdef's at various places in code,
as well as to support multi-OMAP build, an array is created
to hold the register addresses with it's offset.

This patch was submitted, reviewed and acked on mailing list
already. For more details refer below link
http://www.mail-archive.com/linux-i2c@vger.kernel.org/msg02281.html

This updated verion has a depedancy on "Add support for 16-bit registers"
posted on linux-omap. Below is the patch-works link for the same

http://patchwork.kernel.org/patch/72295/

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agousb: Fix USB_SUSPEND dependency for OTG
Tony Lindgren [Mon, 26 Apr 2010 21:36:44 +0000 (14:36 -0700)]
usb: Fix USB_SUSPEND dependency for OTG

To use this, PM_RUNTIME must be set as discussed at:

http://thread.gmane.org/gmane.linux.usb.general/27432/focus=4460

Otherwise we'll get errors like:

drivers/usb/core/hcd.c:1892: error: 'pm_wq' undeclared (first use in this function)
drivers/usb/core/hcd.c:1892: error: (Each undeclared identifier is reported only once
drivers/usb/core/hcd.c:1892: error: for each function it appears in.)

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agousb: Fix tusb6010 for DMA API
Tony Lindgren [Mon, 26 Apr 2010 21:36:44 +0000 (14:36 -0700)]
usb: Fix tusb6010 for DMA API

Commit 18eabe2347ae7a11b3db768695913724166dfb0e introduced
DMA buffer ownership. Fix tusb6010 accordingly. To compile,
also dummy musb_platform_save and restore functions need to
be added.

Also change the order of musb_read_fifo() to happen after
dma_cache_maint to have the DMA operations completed before
moving the remaining unaligned bytes with PIO. The DMA
access and PIO touch different areas of the FIFO, so this
change only makes the code a bit easier to follow.

Tested on n810 and g_ether with variable size ping test.
The test seems to fail for some ping sizes, but that seems to
be a different problem.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
15 years agousb: host: ehci: fix missing kfree in remove path also
Ajay Kumar Gupta [Mon, 26 Apr 2010 21:36:43 +0000 (14:36 -0700)]
usb: host: 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>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agommc-omap: Add support for 16-bit and 32-bit registers
Marek Belisko [Mon, 26 Apr 2010 21:36:42 +0000 (14:36 -0700)]
mmc-omap: Add support for 16-bit and 32-bit registers

The omap850 and omap730 use 16-bit registers instead of 32-bit, requiring
a modification of the register addresses in the mmc-omap driver.  To resolve
this, a bit shift is performed on base register addresses, either by 1 or 2
bits depending on the CPU in use.  This yields the correct registers for
each CPU.

Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sun, 25 Apr 2010 23:28:56 +0000 (16:28 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  ipv6: Fix inet6_csk_bind_conflict()
  e100: Fix the TX workqueue race

15 years agoipv6: Fix inet6_csk_bind_conflict()
Eric Dumazet [Sun, 25 Apr 2010 22:09:42 +0000 (15:09 -0700)]
ipv6: Fix inet6_csk_bind_conflict()

Commit fda48a0d7a84 (tcp: bind() fix when many ports are bound)
introduced a bug on IPV6 part.
We should not call ipv6_addr_any(inet6_rcv_saddr(sk2)) but
ipv6_addr_any(inet6_rcv_saddr(sk)) because sk2 can be IPV4, while sk is
IPV6.

Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Tested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Sun, 25 Apr 2010 17:01:51 +0000 (10:01 -0700)]
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: Issue the discard operation *before* releasing the blocks to be reused
  ext4: Fix buffer head leaks after calls to ext4_get_inode_loc()
  ext4: Fix possible lost inode write in no journal mode

15 years agoe100: Fix the TX workqueue race
Alan Cox [Sun, 25 Apr 2010 04:09:29 +0000 (21:09 -0700)]
e100: Fix the TX workqueue race

Nothing stops the workqueue being left to run in parallel with close or a
few other operations. This causes double unmaps and the like.

See kerneloops.org #1041230 for an example

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Sat, 24 Apr 2010 18:35:21 +0000 (11:35 -0700)]
Merge branch 'fixes' of git://git./linux/kernel/git/davej/cpufreq

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] use max load in conservative governor
  [CPUFREQ] fix a lockdep warning

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Sat, 24 Apr 2010 18:34:17 +0000 (11:34 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits)
  gianfar: Fix potential oops during OF address translation
  fsl_pq_mdio: Fix kernel oops during OF address translation
  tcp: bind() fix when many ports are bound
  rdma: potential ERR_PTR dereference
  rtnetlink: potential ERR_PTR dereference
  net: ipv6 bind to device issue
  ipv6: allow to send packet after receiving ICMPv6 Too Big message with MTU field less than IPV6_MIN_MTU
  drivers/net/usb: Add new driver ipheth
  cxgb3: fix linkup issue
  X25 fix dead unaccepted sockets
  KS8851: NULL pointer dereference if list is empty
  net: 3c574_cs fix stats.tx_bytes counter
  xfrm6: ensure to use the same dev when building a bundle
  can: Fix possible NULL pointer dereference in ems_usb.c
  net: Fix an RCU warning in dev_pick_tx()
  ipv6: Fix tcp_v6_send_response transport header setting.
  bridge: add a missing ntohs()
  8139too: Fix a typo in the function name.
  mac80211: pass HT changes to driver when off channel
  mac80211: remove bogus TX agg state assignment
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Sat, 24 Apr 2010 18:32:12 +0000 (11:32 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  PCI: Ensure we re-enable devices on resume
  x86/PCI: parse additional host bridge window resource types
  PCI: revert broken device warning
  PCI aerdrv: use correct bit defines and add 2ms delay to aer_root_reset
  x86/PCI: ignore Consumer/Producer bit in ACPI window descriptions

15 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platf...
Linus Torvalds [Sat, 24 Apr 2010 18:31:57 +0000 (11:31 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/mjg59/platform-drivers-x86

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86:
  eeepc-laptop: add missing sparse_keymap_free
  eeepc-wmi: Build fix
  asus: don't modify bluetooth/wlan on boot
  dell-wmi: Fix memory leak
  eeepc-wmi: add backlight support
  eeepc-wmi: use a platform device as parent device of all sub-devices
  eeepc-wmi: add an eeepc_wmi context structure

15 years agoinitramfs: handle unrecognised decompressor when unpacking
Phillip Lougher [Fri, 23 Apr 2010 17:18:11 +0000 (13:18 -0400)]
initramfs: handle unrecognised decompressor when unpacking

The unpack routine fails to handle the decompress_method() returning
unrecognised decompressor (compress_name == NULL).  This results in the
routine looping eventually oopsing on an out of bounds memory access.

Note this bug is usually hidden, only triggering on trailing junk after
one or more correct compressed blocks.  The case of the compressed archive
being complete junk is (by accident?) caught by the if (state != Reset)
check because state is initialised to Start, but not updated due to the
decompressor not having been called.  Obviously if the junk is trailing a
correctly decompressed buffer, state == Reset from the previous call to
the decompressor.

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoksm: check for ERR_PTR from follow_page()
Dan Carpenter [Fri, 23 Apr 2010 17:18:10 +0000 (13:18 -0400)]
ksm: check for ERR_PTR from follow_page()

The follow_page() function can potentially return -EFAULT so I added
checks for this.

Also I silenced an uninitialized variable warning on my version of gcc
(version 4.3.2).

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Izik Eidus <ieidus@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoVMware Balloon driver
Dmitry Torokhov [Fri, 23 Apr 2010 17:18:08 +0000 (13:18 -0400)]
VMware Balloon driver

This is a standalone version of VMware Balloon driver.  Ballooning is a
technique that allows hypervisor dynamically limit the amount of memory
available to the guest (with guest cooperation).  In the overcommit
scenario, when hypervisor set detects that it needs to shuffle some
memory, it instructs the driver to allocate certain number of pages, and
the underlying memory gets returned to the hypervisor.  Later hypervisor
may return memory to the guest by reattaching memory to the pageframes and
instructing the driver to "deflate" balloon.

We are submitting a standalone driver because KVM maintainer (Avi Kivity)
expressed opinion (rightly) that our transport does not fit well into
virtqueue paradigm and thus it does not make much sense to integrate with
virtio.

There were also some concerns whether current ballooning technique is the
right thing.  If there appears a better framework to achieve this we are
prepared to evaluate and switch to using it, but in the meantime we'd like
to get this driver upstream.

We want to get the driver accepted in distributions so that users do not
have to deal with an out-of-tree module and many distributions have
"upstream first" requirement.

The driver has been shipping for a number of years and users running on
VMware platform will have it installed as part of VMware Tools even if it
will not come from a distribution, thus there should not be additional
risk in pulling the driver into mainline.  The driver will only activate
if host is VMware so everyone else should not be affected at all.

Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agofs/block_dev.c: fix performance regression in O_DIRECT|O_SYNC writes to block devices
Anton Blanchard [Fri, 23 Apr 2010 17:18:06 +0000 (13:18 -0400)]
fs/block_dev.c: fix performance regression in O_DIRECT|O_SYNC writes to block devices

We are seeing a large regression in database performance on recent
kernels.  The database opens a block device with O_DIRECT|O_SYNC and a
number of threads write to different regions of the file at the same time.

A simple test case is below.  I haven't defined DEVICE since getting it
wrong will destroy your data :) On an 3 disk LVM with a 64k chunk size we
see about 17MB/sec and only a few threads in IO wait:

procs  -----io---- -system-- -----cpu------
 r  b     bi    bo   in   cs us sy id wa st
 0  3      0 16170  656 2259  0  0 86 14  0
 0  2      0 16704  695 2408  0  0 92  8  0
 0  2      0 17308  744 2653  0  0 86 14  0
 0  2      0 17933  759 2777  0  0 89 10  0

Most threads are blocking in vfs_fsync_range, which has:

        mutex_lock(&mapping->host->i_mutex);
        err = fop->fsync(file, dentry, datasync);
        if (!ret)
                ret = err;
        mutex_unlock(&mapping->host->i_mutex);

commit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new
helpers for syncing after writing to O_SYNC file or IS_SYNC inode) offers
some explanation of what is going on:

    Use these new helpers for syncing from generic VFS functions. This makes
    O_SYNC writes to block devices acquire i_mutex for syncing. If we really
    care about this, we can make block_fsync() drop the i_mutex and reacquire
    it before it returns.

Thanks Jan for such a good commit message!  As well as dropping i_mutex,
Christoph suggests we should remove the call to sync_blockdev():

> sync_blockdev is an overcomplicated alias for filemap_write_and_wait on
> the block device inode, which is exactly what we did just before calling
> into ->fsync

The patch below incorporates both suggestions. With it the testcase improves
from 17MB/s to 68M/sec:

procs  -----io---- -system-- -----cpu------
 r  b     bi    bo   in   cs us sy id wa st
 0  7      0 65536 1000 3878  0  0 70 30  0
 0 34      0 69632 1016 3921  0  1 46 53  0
 0 57      0 69632 1000 3921  0  0 55 45  0
 0 53      0 69640  754 4111  0  0 81 19  0

Testcase:

#define _GNU_SOURCE
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define NR_THREADS 64
#define BUFSIZE (64 * 1024)

#define DEVICE "/dev/mapper/XXXXXX"

#define ALIGN(VAL, SIZE) (((VAL)+(SIZE)-1) & ~((SIZE)-1))

static int fd;

static void *doit(void *arg)
{
unsigned long offset = (long)arg;
char *b, *buf;

b = malloc(BUFSIZE + 1024);
buf = (char *)ALIGN((unsigned long)b, 1024);
memset(buf, 0, BUFSIZE);

while (1)
pwrite(fd, buf, BUFSIZE, offset);
}

int main(int argc, char *argv[])
{
int flags = O_RDWR|O_DIRECT;
int i;
unsigned long offset = 0;

if (argc > 1 && !strcmp(argv[1], "O_SYNC"))
flags |= O_SYNC;

fd = open(DEVICE, flags);
if (fd == -1) {
perror("open");
exit(1);
}

for (i = 0; i < NR_THREADS-1; i++) {
pthread_t tid;
pthread_create(&tid, NULL, doit, (void *)offset);
offset += BUFSIZE;
}
doit((void *)offset);

return 0;
}

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agolib/vsprintf.c: add missing EXPORT_SYMBOL(simple_strtoll)
Hans Verkuil [Fri, 23 Apr 2010 17:18:04 +0000 (13:18 -0400)]
lib/vsprintf.c: add missing EXPORT_SYMBOL(simple_strtoll)

Add a missing EXPORT_SYMBOL.

I must be the first person that wants to use this function :-)

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agow1: fix omap 1-wire driver compilation
Amit Kucheria [Fri, 23 Apr 2010 17:18:03 +0000 (13:18 -0400)]
w1: fix omap 1-wire driver compilation

Fixes the following error:

  drivers/w1/masters/omap_hdq.c: In function 'hdq_wait_for_flag':
  drivers/w1/masters/omap_hdq.c:137: error: implicit declaration of function 'schedule_timeout_uninterruptible'
  drivers/w1/masters/omap_hdq.c: In function 'hdq_write_byte':
  drivers/w1/masters/omap_hdq.c:177: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function)
  drivers/w1/masters/omap_hdq.c:177: error: (Each undeclared identifier is reported only once
  drivers/w1/masters/omap_hdq.c:177: error: for each function it appears in.)
  drivers/w1/masters/omap_hdq.c:177: error: implicit declaration of function 'schedule_timeout'
  drivers/w1/masters/omap_hdq.c: In function 'hdq_isr':
  drivers/w1/masters/omap_hdq.c:221: error: 'TASK_NORMAL' undeclared (first use in this function)
  drivers/w1/masters/omap_hdq.c: In function 'omap_hdq_break':
  drivers/w1/masters/omap_hdq.c:316: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function)

Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agormap: anon_vma_prepare() can leak anon_vma_chain
Oleg Nesterov [Fri, 23 Apr 2010 17:18:01 +0000 (13:18 -0400)]
rmap: anon_vma_prepare() can leak anon_vma_chain

If find_mergeable_anon_vma() succeeds but another thread installs
->anon_vma before we take ptl, then allocated == NULL but avc should be
freed.  Change the code to check avc != NULL to detect this case.

Also, a couple of whitespace changes to make the critical section more
visible.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agokeys: fix an RCU warning
David Howells [Fri, 23 Apr 2010 17:18:00 +0000 (13:18 -0400)]
keys: fix an RCU warning

Fix the following RCU warning:

  ===================================================
  [ INFO: suspicious rcu_dereference_check() usage. ]
  ---------------------------------------------------
  security/keys/request_key.c:116 invoked rcu_dereference_check() without protection!

This was caused by doing:

[root@andromeda ~]# keyctl newring fred @s
539196288
[root@andromeda ~]# keyctl request2 user a a 539196288
request_key: Required key not available

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agolib: fix the use of LZO to decompress initramfs images
Albin Tonnerre [Fri, 23 Apr 2010 17:17:58 +0000 (13:17 -0400)]
lib: fix the use of LZO to decompress initramfs images

This patch fixes 2 issues with the LZO decompressor:

- It doesn't handle the case where a block isn't compressed at all.  In
  this case, calling lzo1x_decompress_safe will fail, so we need to just
  use memcpy() instead (the upstream LZO code does something similar)

- Since commit 54291362d2a5738e1b0495df2abcb9e6b0563a3f ("initramfs: add
  missing decompressor error check") , the decompressor return code is
  checked in the init/initramfs.c The LZO decompressor didn't return the
  expected value, causing the initramfs code to falsely believe a
  decompression error occured

Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Tested-by: bert schulze <spambemyguest@googlemail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agohugetlb: fix infinite loop in get_futex_key() when backed by huge pages
Mel Gorman [Fri, 23 Apr 2010 17:17:56 +0000 (13:17 -0400)]
hugetlb: fix infinite loop in get_futex_key() when backed by huge pages

If a futex key happens to be located within a huge page mapped
MAP_PRIVATE, get_futex_key() can go into an infinite loop waiting for a
page->mapping that will never exist.

See https://bugzilla.redhat.com/show_bug.cgi?id=552257 for more details
about the problem.

This patch makes page->mapping a poisoned value that includes
PAGE_MAPPING_ANON mapped MAP_PRIVATE.  This is enough for futex to
continue but because of PAGE_MAPPING_ANON, the poisoned value is not
dereferenced or used by futex.  No other part of the VM should be
dereferencing the page->mapping of a hugetlbfs page as its page cache is
not on the LRU.

This patch fixes the problem with the test case described in the bugzilla.

[akpm@linux-foundation.org: mel cant spel]
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Darren Hart <darren@dvhart.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agow1: w1 temp: fix negative termperature calculation
Ian Dall [Fri, 23 Apr 2010 17:17:53 +0000 (13:17 -0400)]
w1: w1 temp: fix negative termperature calculation

Fix regression caused by commit 507e2fbaaacb6f164b4125b87c5002f95143174b
("w1: w1 temp calculation overflow fix") whereby negative temperatures for
the DS18B20 are not converted properly.

When the temperature exceeds 32767 milli-degrees the temperature overflows
to -32768 millidegrees.  These are both well within the -55 - +125 degree
range for the sensor.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=12646

Signed-of-by: Ian Dall <ian@beware.dropbear.id.au>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Tested-by: Karsten Elfenbein <kelfe@gmx.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agocgroups: fix procs documentation
KAMEZAWA Hiroyuki [Fri, 23 Apr 2010 17:17:51 +0000 (13:17 -0400)]
cgroups: fix procs documentation

Writing to cgroup.procs is not supported now.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Li Zefan <lizf@cn.fujitsu.com>
Cc: Ben Blum <bblum@andrew.cmu.edu>
Cc: Paul Menage <menage@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agodrivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook Pro 5,1
Thomas Gerlach [Fri, 23 Apr 2010 17:17:50 +0000 (13:17 -0400)]
drivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook Pro 5,1

Description of patch:
---------------------

This is a patch for the EFI framebuffer driver to enable the framebuffer
of the NVIDIA 9400M as found in MacBook Pro (MBP) 5,1 and up.  The
framebuffer of the NVIDIA graphic cards are located at the following
addresses in memory:

9400M:    0xC0010000
9600M GT: 0xB0030000

The patch delivered right here only provides the memory location of the
framebuffer of the 9400M device.  The 9600M GT is not covered.  It is
assumed that the 9400M is used when powered up the MBP.

The information which device is currently powered and in use is stored in
the 64 bytes large EFI variable "gpu-power-prefs".  More specifically,
byte 0x3B indicates whether 9600M GT (0x00) or 9400M (0x01) is online.

The PCI bus IDs are the following:
9400M:    PCI 03:00:00
9600M GT: PCI 02:00:00

The EFI variables can be easily read-out and manipulated with "rEFIt", an
MBP specific bootloader tool.  For more information on how handle rEFIt
and EFI variables please consult "http://refit.sourceforge.net" and
"http://ubuntuforums.org/archive/index.php/t-1076879.html".

IMPORTANT NOTE: The information on how to activate the 9400M device given
at "ubuntuforums.org" is not correct, since it states

gpu-power-prefs[0x3B] = 0x00 -> 9400M (PCI 02:00:00)
gpu-power-prefs[0x3B] = 0x01 -> 9600M GT (PCI 03:00:00)

Actually, the assignment of the values and the PCI bus IDs are swapped.

Suggestions:
------------

To cover framebuffers of both 9400M and 9600M GT, I would suggest to
implement a conditional on "gpu-power-prefs".  Depending on the value of
byte 0x3B, the according framebuffer is selected.  However, this requires
kernel access to the EFI variables.

[akpm@linux-foundation.org: rename optname, per Peter Jones]
Signed-off-by: Thomas Gerlach <t.m.gerlach@freenet.de>
Acked-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agolis3: add support for HP ProBook 432x/442x/452x/522x
Takashi Iwai [Fri, 23 Apr 2010 17:17:48 +0000 (13:17 -0400)]
lis3: add support for HP ProBook 432x/442x/452x/522x

Correct axis-mappings for new HP ProBook laptops.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomtd: fix Orion NAND driver compilation with ARM OABI
Paulius Zaleckas [Fri, 23 Apr 2010 17:17:47 +0000 (13:17 -0400)]
mtd: fix Orion NAND driver compilation with ARM OABI

We must tell GCC to use even register for variable passed to ldrd
instruction.  Without this patch GCC 4.2.1 puts this variable to r2/r3 on
EABI and r3/r4 on OABI, so force it to r2/r3.  This does not change
anything when EABI and OABI compilation works OK.

Without this patch and with OABI I get:

    CC      drivers/mtd/nand/orion_nand.o
  /tmp/ccMkwOCs.s: Assembler messages:
  /tmp/ccMkwOCs.s:63: Error: first destination register must be even -- `ldrd r3,[ip]'
  make[5]: *** [drivers/mtd/nand/orion_nand.o] Error 1

Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Acked-by: Artem Bityutskiy <dedekind1@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Jamie Lokier <jamie@shareable.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoflex_array: fix the panic when calling flex_array_alloc() without __GFP_ZERO
Changli Gao [Fri, 23 Apr 2010 17:17:45 +0000 (13:17 -0400)]
flex_array: fix the panic when calling flex_array_alloc() without __GFP_ZERO

memset() is called with the wrong address and the kernel panics.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Cc: Patrick McHardy <kaber@trash.net>
Acked-by: David Rientjes <rientjes@google.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agokernel/sys.c: fix compat uname machine
Andreas Schwab [Fri, 23 Apr 2010 17:17:44 +0000 (13:17 -0400)]
kernel/sys.c: fix compat uname machine

On ppc64 you get this error:

  $ setarch ppc -R true
  setarch: ppc: Unrecognized architecture

because uname still reports ppc64 as the machine.

So mask off the personality flags when checking for PER_LINUX32.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: fix corruption during shrinking of xattrs
Jeff Mahoney [Fri, 23 Apr 2010 17:17:41 +0000 (13:17 -0400)]
reiserfs: fix corruption during shrinking of xattrs

Commit 48b32a3553a54740d236b79a90f20147a25875e3 ("reiserfs: use generic
xattr handlers") introduced a problem that causes corruption when extended
attributes are replaced with a smaller value.

The issue is that the reiserfs_setattr to shrink the xattr file was moved
from before the write to after the write.

The root issue has always been in the reiserfs xattr code, but was papered
over by the fact that in the shrink case, the file would just be expanded
again while the xattr was written.

The end result is that the last 8 bytes of xattr data are lost.

This patch fixes it to use new_size.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=14826

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Reported-by: Christian Kujau <lists@nerdbynature.de>
Tested-by: Christian Kujau <lists@nerdbynature.de>
Cc: Edward Shishkin <edward.shishkin@gmail.com>
Cc: Jethro Beekman <kernel@jbeekman.nl>
Cc: Greg Surbey <gregsurbey@hotmail.com>
Cc: Marco Gatti <marco.gatti@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomemcg: fix prepare migration
Andrea Arcangeli [Fri, 23 Apr 2010 17:17:39 +0000 (13:17 -0400)]
memcg: fix prepare migration

If a signal is pending (task being killed by sigkill)
__mem_cgroup_try_charge will write NULL into &mem, and css_put will oops
on null pointer dereference.

  BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
  IP: [<ffffffff810fc6cc>] mem_cgroup_prepare_migration+0x7c/0xc0
  PGD a5d89067 PUD a5d8a067 PMD 0
  Oops: 0000 [#1] SMP
  last sysfs file: /sys/devices/platform/microcode/firmware/microcode/loading
  CPU 0
  Modules linked in: nfs lockd nfs_acl auth_rpcgss sunrpc acpi_cpufreq pcspkr sg [last unloaded: microcode]

  Pid: 5299, comm: largepages Tainted: G        W  2.6.34-rc3 #3 Penryn1600SLI-110dB/To Be Filled By O.E.M.
  RIP: 0010:[<ffffffff810fc6cc>]  [<ffffffff810fc6cc>] mem_cgroup_prepare_migration+0x7c/0xc0

[nishimura@mxp.nes.nec.co.jp: fix merge issues]
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoreiserfs: fix permissions on .reiserfs_priv
Jeff Mahoney [Fri, 23 Apr 2010 17:17:37 +0000 (13:17 -0400)]
reiserfs: fix permissions on .reiserfs_priv

Commit 677c9b2e393a0cd203bd54e9c18b012b2c73305a ("reiserfs: remove
privroot hiding in lookup") removed the magic from the lookup code to hide
the .reiserfs_priv directory since it was getting loaded at mount-time
instead.  The intent was that the entry would be hidden from the user via
a poisoned d_compare, but this was faulty.

This introduced a security issue where unprivileged users could access and
modify extended attributes or ACLs belonging to other users, including
root.

This patch resolves the issue by properly hiding .reiserfs_priv.  This was
the intent of the xattr poisoning code, but it appears to have never
worked as expected.  This is fixed by using d_revalidate instead of
d_compare.

This patch makes -oexpose_privroot a no-op.  I'm fine leaving it this way.
The effort involved in working out the corner cases wrt permissions and
caching outweigh the benefit of the feature.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Acked-by: Edward Shishkin <edward.shishkin@gmail.com>
Reported-by: Matt McCutchen <matt@mattmccutchen.net>
Tested-by: Matt McCutchen <matt@mattmccutchen.net>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoLinux-omap rebuilt: Merged in updated omap-fixes
Tony Lindgren [Sat, 24 Apr 2010 00:41:50 +0000 (17:41 -0700)]
Linux-omap rebuilt: Merged in updated omap-fixes

$ git checkout -b tmp-rebuild-1272069694 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-1272069694

To view the changes since the last rebuild, please do
$ git diff fc786ca5e0a15dcade6fc2cb51767a58cebc2e59..efab3a9cb5f7f96d5f44b0fd7df1b83a928d464d arch/arm/*omap*/

15 years agoMerge cbus
Tony Lindgren [Sat, 24 Apr 2010 00:41:43 +0000 (17:41 -0700)]
Merge cbus

15 years agoMerge omap-testing
Tony Lindgren [Sat, 24 Apr 2010 00:41:37 +0000 (17:41 -0700)]
Merge omap-testing

15 years agoMerge omap-fixes
Tony Lindgren [Sat, 24 Apr 2010 00:41:35 +0000 (17:41 -0700)]
Merge omap-fixes

15 years agousb: Fix USB_SUSPEND dependency for OTG
Tony Lindgren [Sat, 24 Apr 2010 00:41:15 +0000 (17:41 -0700)]
usb: Fix USB_SUSPEND dependency for OTG

To use this, PM_RUNTIME must be set as discussed at:

http://thread.gmane.org/gmane.linux.usb.general/27432/focus=4460

Otherwise we'll get errors like:

drivers/usb/core/hcd.c:1892: error: 'pm_wq' undeclared (first use in this function)
drivers/usb/core/hcd.c:1892: error: (Each undeclared identifier is reported only once
drivers/usb/core/hcd.c:1892: error: for each function it appears in.)

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agousb: Fix tusb6010 for DMA API
Tony Lindgren [Sat, 24 Apr 2010 00:41:15 +0000 (17:41 -0700)]
usb: Fix tusb6010 for DMA API

Commit 18eabe2347ae7a11b3db768695913724166dfb0e introduced
DMA buffer ownership. Fix tusb6010 accordingly.

Also change the order of musb_read_fifo() to happen after
dma_cache_maint to have the DMA operations completed before
moving the remaining unaligned bytes with PIO. The DMA
access and PIO touch different areas of the FIFO, so this
change only makes the code a bit easier to follow.

Tested on n810 and g_ether with variable size ping test.
The test seems to fail for some ping sizes, but that seems to
be a different problem.

Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agoomap: i2c: Add i2c support on omap4 platform
Tony Lindgren [Sat, 24 Apr 2010 00:41:14 +0000 (17:41 -0700)]
omap: i2c: Add i2c support on omap4 platform

This patch is rebased version of earlier post to add I2C
driver support to OMAP4 platform. On OMAP4, all
I2C register address offsets are changed from OMAP1/2/3 I2C.
In order to not have #ifdef's at various places in code,
as well as to support multi-OMAP build, an array is created
to hold the register addresses with it's offset.

This patch was submitted, reviewed and acked on mailing list
already. For more details refer below link
http://www.mail-archive.com/linux-i2c@vger.kernel.org/msg02281.html

This updated verion has a depedancy on "Add support for 16-bit registers"
posted on linux-omap. Below is the patch-works link for the same

http://patchwork.kernel.org/patch/72295/

Signed-off-by: Syed Rafiuddin <rafiuddin.syed@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15 years agousb: host: ehci: fix missing kfree in remove path also
Ajay Kumar Gupta [Sat, 24 Apr 2010 00:41:14 +0000 (17:41 -0700)]
usb: host: 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>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>