summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] footbridge: set dc21285 clock rate from command lineRussell King2008-12-301-0/+7
| | | | | | | Allow the footbridge clock rate to be specified on the kernel command line. This allows us to work-around broken Personal Server firmware. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Merge branch 'for-rmk' of ↵Russell King2008-12-2916-309/+1549
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel
| * [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devicesEric Miao2008-12-295-16/+516
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PXA27x and later processors support overlay1 and overlay2 on-top of the base framebuffer (although under-neath the base is also possible). They support palette and no-palette RGB formats, as well as YUV formats (only available on overlay2). These overlays have dedicated DMA channels and behave in a similar way as a framebuffer. This heavily simplified and re-structured work is based on the original pxafb_overlay.c (which is pending for mainline merge for a long time). The major problems with this pxafb_overlay.c are (if you are interested in the history): 1. heavily redundant (the control logics for overlay1 and overlay2 are actually identical except for some small operations, which are now abstracted into a 'pxafb_layer_ops' structure) 2. a lot of useless and un-tested code (two workarounds which are now fixed on mature silicons) 3. cursorfb is actually useless, hardware cursor should not be used this way, and the code was actually un-tested for a long time. The code in this patch should be self-explanatory, I tried to add minimum comments. As said, this is basically simplified, there are several things still on the pending list: 1. palette mode is un-supported and un-tested (although re-using the palette code of the base framebuffer is actually very easy now with previous clean-up patches) 2. fb_pan_display for overlay(s) is un-supported 3. the base framebuffer can actually be abstracted by 'pxafb_layer' as well, which will help further re-use of the code and keep a better and consistent structure. (This is the reason I named it 'pxafb_layer' instead of 'pxafb_overlay' or something alike) See Documentation/fb/pxafb.txt for additional usage information. Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: cleanup of the timing checking codeEric Miao2008-12-292-64/+50
| | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: cleanup of the color format manipulation codeEric Miao2008-12-292-91/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. introduce var_to_depth() to calculate the color depth including the transparency bit 2. the conversion from 'fb_var_screeninfo' to LCCR3 BPP bits can be re- used by overlays (in OVLxC1), thus an individual pxafb_var_to_bpp() has been separated out. 3. pxafb_setmode() should really set the color bitfields correctly at begining, introduce a pxafb_set_pixfmt() for this 4. allow user apps to specify color formats within fb_var_screeninfo, and checking of this in pxafb_check_var() has been simplified as below: a) pxafb_var_to_bpp() should pass - which means a basically correct bits_per_pixel and color depth setting b) the RGBT bitfields are then forced into supported values by pxafb_set_pixfmt() Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3Eric Miao2008-12-292-11/+11
| | | | | | | | | | | | | | | | | | | | Add the palette format support for LCCR4_PAL_FOR_3, and fix the issue of LCCR4 being never assigned. Also remove the useless pxafb_set_truecolor(). Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma brachingEric Miao2008-12-293-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dma branching is enabled by extending the current setup_frame_dma() function to allow a 2nd set of frame/palette dma descriptors to be used. As a result, pxafb_dma_buff.dma_desc[], pxafb_dma_buff.pal_desc[] and pxafb_info.fdadr[] are doubled. This allows maximum re-use of the current dma setup code, although the pxafb_info.fdadr[xx] for FBRx register values looks a bit odd. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffsetEric Miao2008-12-291-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note the var->yres_virtual is only re-calculated from the fix.smem_len when text mode acceleration is enabled (which is default), this is due to the issue as Russell suggested below: Previous experience of doing this with the X server and acornfb is that it causes all sorts of problems - it seems to force the X server into assuming that the framebuffer should be panned no matter what settings you ask it for. The recommended workaround (implemented in acornfb) is to only do these kinds of adjustments if text mode acceleration is enabled. IIRC, the X server should be disabling text mode acceleration when it maps the framebuffer. I seem to remember that there are X servers which forget to do that though. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxafb: allow video memory size to be configurableEric Miao2008-12-294-92/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The amount of video memory size is decided according to the following order: 1. <xres> x <yres> x <bits_per_pixel> by default, which is the backward compatible way 2. size specified in platform data 3. size specified in module parameter 'options' string or specified in kernel boot command line (see updated Documentation/fb/pxafb.txt) And now since the memory is allocated from system memory, the pxafb_mmap can be removed and the default fb_mmap() should be working all right. Also, since we now have introduced the 'struct pxafb_dma_buff' for DMA descriptors and palettes, the allocation can be separated cleanly. NOTE: the LCD DMA actually supports chained transfer (i.e. page-based transfers), to simplify the logic and keep the performance (with less TLB misses when accessing from memory mapped user space), the memory is allocated by alloc_pages_*() to ensures it's physical contiguous. Signed-off-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Eric Miao <ycmiao@ycmiao-hp520.(none)>
| * [ARM] pxa: add document on the MFP design and how to use itEric Miao2008-12-291-0/+286
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] sa1100_wdt: don't assume CLOCK_TICK_RATE to be a constantEric Miao2008-12-291-5/+6
| | | | | | | | | | | | | | | | | | | | See description of commit: [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constant for additional information. Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * [ARM] rtc-sa1100: don't assume CLOCK_TICK_RATE to be a constantEric Miao2008-12-296-14/+38
| | | | | | | | | | | | | | | | | | | | | | | | As Nicolas and Russell pointed out, CLOCK_TICK_RATE is no more a constant on PXA when multiple processors and platforms are selected, change TIMER_FREQ in rtc-sa1100.c into a variable. Since the code to decide the clock tick rate is re-used from timer.c, introduce a common get_clock_tick_rate() for this. Signed-off-by: Eric Miao <eric.miao@marvell.com> Acked-by: Nicolas Pitre <nico@marvell.com>
| * [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad)Eric Miao2008-12-292-0/+413
| | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im into develRussell King2008-12-251-212/+114
|\ \
| * | [ARM] pxa: Update eseries defconfigIan Molton2008-12-251-212/+114
| | | | | | | | | | | | Signed-off-by: Ian Molton <ian@mnementh.co.uk>
* | | [ARM] 5352/1: add w90p910-plat config filewanzongshun2008-12-231-0/+626
| | | | | | | | | | | | | | | | | | | | | The patch is for w90p910 platform default config. Signed-off-by: Wan ZongShun <mcuos.com@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Merge branch 'for-rmk' of ↵Russell King2008-12-2318-166/+1828
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel Conflicts: arch/arm/mach-pxa/am200epd.c arch/arm/mach-pxa/ezx.c
| * | [ARM] pxa/littleton: add preliminary I2C board info (da9034 + max7320)Eric Miao2008-12-172-3/+81
| | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/saar: add support for the on-board smart panel LCDEric Miao2008-12-171-0/+421
| | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa: initial support for the Imote2 platformJonathan Cameron2008-12-174-1/+584
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes made as suggested by Eric Miao (including fix to map_io silly mistake!). Originally designed by Intel, now sold by Crossbow (www.xbow.com). Very little actually on board. The patch includes sensors and similar as found on commonly occurring daughter boards. Some of the drivers are not in mainline as yet as they are either part of the IIO subsystem or need a lot of work before submission. What is the position wrt to putting them in i2c board configs etc? Support for these boards has been maintained outside the kernel for a long time, but now that there is a good da9030 pmic driver available the last major hurdle no longer exists. All comments welcomed. The Imote2's big brother (stargate2) will follow once any problems with this one have been cleaned up and a few bits and bobs have been added to the da903x driver. Hopefully the cc2420 driver will get cleaned up and submitted in the not too distant future as well. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/ezx: I2C configurationStefan Schmidt2008-12-171-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | I2C platform data setups. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/ezx: Keypad configurationStefan Schmidt2008-12-171-0/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | Matrix and single key setups for all phones. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/ezx: GPIO configurationStefan Schmidt2008-12-171-24/+344
| | | | | | | | | | | | | | | | | | | | | | | | Pin configs for different generations and phones. Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/ezx: Remove two memory banks fixupStefan Schmidt2008-12-171-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | Our bootloader now supports ATAGS_MEM Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa/gumstix: fix incorrect init done by am200Jaya Kumar2008-12-175-14/+32
| | | | | | | | | | | | | | | | | | Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Cc: Andre Puschmann <andre.puschmann@imms.de> Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxafb: avoid the racing condition in pxafb_smart_threadEric Miao2008-12-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | fbi->state change shall really be protected by fbi->ctrlr_lock, where the change is sheltered. There is a possibility that pxafb_smart_thread will start update the LCD panel when fbi->state == C_ENABLE, while all other initialization isn't done. Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxafb: allow insertion of delay to the smart panel command sequenceEric Miao2008-12-172-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some smart panel requires a delay between command sequences, while PXA LCD controller didn't provide such one, let's emulate this by software. A software delay marker can be inserted into the command sequence, once pxafb_smart_queue() detects this, it flushes the previous commands and delay for a specified number of milliseconds. Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxafb: allow better platform configurable smart panel timingEric Miao2008-12-172-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For smart panels (LCD panel with internal framebuffer), the following LCCR3 register bits have different meanings than the parallel one: LCCR3_PCP - controls the L_PCLK_WR polarity LCCR3_HSP - controls the L_LCLK_A0 polarity LCCR3_VSP - controls the L_FCLK_RD polarity To keep minimum change to the original parallel timing, the .lcd_conn flags and 'pxafb_mode_info.sync' are re-used to reflect this: LCD_PCLK_EDGE_{RISE,FALL} - configures LCCR3_PCP sync & FB_SYNC_{HOR,VERT}_HIGH_ACT - configures LCCR3_{HSP,VSP} Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxafb: small cleanup of the smart panel codeEric Miao2008-12-171-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Group smart panel related code in a more compact fasion, avoid abused usage of #ifdef .. #endif. Also fix the incorrect condition in pxafb_smart_init() to decide if it is a smart panel or not. (should be '&' instead of '|') Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxafb: remove now unused pxafb_setup_gpio() and related stuffsEric Miao2008-12-171-54/+0
| | | | | | | | | | | | | | | | | | | | | platform should now initialize the pin usage for the LCD controller to correctly work. Signed-off-by: Eric Miao <eric.miao@marvell.com>
| * | [ARM] pxa: convert legacy LCD setup of other boards to new oneEric Miao2008-12-174-30/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Ian Molton <spyro@f2s.com> Cc: pHilipp Zabel <philipp.zabel@gmail.com> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Juergen Schindele <linux@schindele.name> Acked-by: Stefan Schmidt <stefan@datenfreihafen.org> Acked-by: Marc Zyngier <maz@misterjones.org> Acked-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com>
| * | [ARM] pxafb: add color TFT 8BPP LCD panel typeEric Miao2008-12-171-0/+1
| | | | | | | | | | | | Signed-off-by: Eric Miao <eric.miao@marvell.com>
* | | [ARM] s3c: S3C options should depend on PLAT_S3CRussell King2008-12-211-15/+8
| | | | | | | | | | | | | | | | | | | | | This avoids non-Samsung builds being asked about Samsung specific configuration options. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Merge git://git.marvell.com/orion into develRussell King2008-12-2020-443/+642
|\ \ \
| * | | [ARM] mv78xx0: implement GPIO and GPIO interrupt supportLennert Buytenhek2008-12-205-6/+71
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| * | | [ARM] Kirkwood: implement GPIO and GPIO interrupt supportLennert Buytenhek2008-12-205-6/+75
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| * | | [ARM] Orion: share GPIO IRQ handling codeLennert Buytenhek2008-12-205-172/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Split off Orion GPIO IRQ handling code into plat-orion/. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| * | | [ARM] Orion: share GPIO handling codeLennert Buytenhek2008-12-2011-271/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split off Orion GPIO handling code into plat-orion/, and add support for multiple sets of (32) GPIO pins. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
* | | | Merge branch 'for-rmk' of git://git.pengutronix.de/git/ukl/linux-2.6 into develRussell King2008-12-198-25/+127
|\ \ \ \ | |/ / / |/| | |
| * | | Merge branch 'for-rmk-misc' into for-rmkUwe Kleine-Koenig2008-12-1271-226/+429
| |\ \ \
| | * | | at91: warn if irqs are enabled in set_next_eventUwe Kleine-König2008-12-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thomas claims that irqs are disabled when set_next_event is called. But David and Remy claim they saw irqs being enabled here. As both sides don't seem to have time to investigate here, start with a warning that might trigger if the problem still exists. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-By: David Brownell <dbrownell@users.sourceforge.net> Cc: Bill Gatliff <bgat@billgatliff.com> Acked-By: Remy Bohmer <linux@bohmer.net> Cc: Thomas Gleixner <tglx@linutronix.de>
| | * | | remove a superfluous kconfig type definitionUwe Kleine-König2008-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's either bool default y or def_bool y but not a mixture of both. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| | * | | Fix configure warnings in defconfigs for netX and Picotux 200Uwe Kleine-König2008-12-122-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since May 8 2007 the symbols RTC_INTF_PROC, RTC_INTF_SYSFS and RTC_INTF_DEV are not tristate anymore. This fixes the following warnings: arch/arm/configs/picotux200_defconfig:1072:warning: symbol value 'm' invalid for RTC_INTF_SYSFS arch/arm/configs/picotux200_defconfig:1073:warning: symbol value 'm' invalid for RTC_INTF_PROC arch/arm/configs/picotux200_defconfig:1074:warning: symbol value 'm' invalid for RTC_INTF_DEV Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Robert Schwebel <r.schwebel@pengutronix.de> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Simon Richter <Simon.Richter@kleinhenz.com> Cc: Andrew Victor <linux@maxim.org.za>
| | * | | small doc fix: ftrace_dyn_arch_init is called by ftrace_initUwe Kleine-König2008-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... not kstop_machine. Add a note that irqs are disabled. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
| * | | | netx: define register MEMCRUwe Kleine-König2008-12-091-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | netx/xc: add a few "const"s to fix compiler warningsUwe Kleine-König2008-12-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the fixed warnings are: arch/arm/mach-netx/xc.c: In function ‘xc_request_firmware’: arch/arm/mach-netx/xc.c:152: warning: assignment discards qualifiers from pointer target type arch/arm/mach-netx/xc.c:162: warning: assignment discards qualifiers from pointer target type Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | netx: add support for clockeventsUwe Kleine-König2008-12-092-1/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is based on a patch by Luotao Fu <lfu@pengutronix.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Luotao Fu <lfu@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | netx: enable GENERIC_TIMEUwe Kleine-König2008-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the needed infrastructure is already in place, only selecting GENERIC_TIME was missing. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | netx: Use a cpp symbol for the clocksource timer numberUwe Kleine-König2008-12-091-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of hardcoding the same value each time. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | | mach-netx/time.c: codingstyle cleanupUwe Kleine-König2008-12-091-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To prevent cluttering the next patches with noop noise, do the cleanup in this separate patch: - use tab to indent - break comments before column 80 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
OpenPOWER on IntegriCloud