summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'fbdev-3.17' of ↵Linus Torvalds2014-08-0935-789/+1194
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - much better HDMI infoframe support for OMAP - Cirrus Logic CLPS711X framebuffer driver - DT support for PL11x CLCD driver - various small fixes * tag 'fbdev-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (35 commits) OMAPDSS: DSI: fix depopulating dsi peripherals video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic video: ARM CLCD: Fix DT-related build problems drivers: video: fbdev: atmel_lcdfb.c: Add ability to inverted backlight PWM. video: ARM CLCD: Add DT support drm/omap: Add infoframe & dvi/hdmi mode support OMAPDSS: HDMI: remove the unused code OMAPDSS: HDMI5: add support to set infoframe & HDMI mode OMAPDSS: HDMI4: add support to set infoframe & HDMI mode OMAPDSS: HDMI: add infoframe and hdmi_dvi_mode fields OMAPDSS: add hdmi ops to hdmi-connector and tpd12s015 OMAPDSS: add hdmi ops to hdmi_ops and omap_dss_driver OMAPDSS: HDMI: remove custom avi infoframe OMAPDSS: HDMI5: use common AVI infoframe support OMAPDSS: HDMI4: use common AVI infoframe support OMAPDSS: Kconfig: select HDMI OMAPDSS: HDMI: fix name conflict OMAPDSS: DISPC: clean up dispc_mgr_timings_ok OMAPDSS: DISPC: reject interlace for lcd out OMAPDSS: DISPC: fix debugfs reg dump ...
| * OMAPDSS: DSI: fix depopulating dsi peripheralsTomi Valkeinen2014-08-081-8/+1Star
| | | | | | | | | | | | | | | | | | | | After v3.16-rc1, devices populated with of_platform_populate() should be depopulated using of_platform_depopulate(). Failure to do so prevents the devices from being populated again (e.g. when loading a module). This patch fixes the problem for the OMAP DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * Merge branch '3.17/hdmi-infoframe' into for-nextTomi Valkeinen2014-08-0416-692/+242Star
| |\
| | * drm/omap: Add infoframe & dvi/hdmi mode supportTomi Valkeinen2014-07-043-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the omapdrm driver use the new HDMI ops when possible. omapdrm will call set_hdmi_mode (when available) to tell the encoder driver whether the monitor is a DVI or HDMI monitor, and if it's an HDMI monitor, omapdrm will call set_hdmi_infoframe to to set the AVI infoframe. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Rob Clark <robdclark@gmail.com>
| | * OMAPDSS: HDMI: remove the unused codeTomi Valkeinen2014-07-042-327/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | We no longer need the horrible driver internal videmode tables, which were used to decide if a given videomode is a HDMI or DVI mode. So remove all related code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI5: add support to set infoframe & HDMI modeTomi Valkeinen2014-07-042-56/+33Star
| | | | | | | | | | | | | | | | | | | | | | | | Instead of using hardcoded AVI infoframe, and a custom HDMI/DVI mode selection based in internal videomode tables, add support to set the infoframe and HDMI/DVI mode. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI4: add support to set infoframe & HDMI modeTomi Valkeinen2014-07-042-74/+41Star
| | | | | | | | | | | | | | | | | | | | | | | | Instead of using hardcoded AVI infoframe, and a custom HDMI/DVI mode selection based in internal videomode tables, add support to set the infoframe and HDMI/DVI mode. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI: add infoframe and hdmi_dvi_mode fieldsTomi Valkeinen2014-07-041-0/+2
| | | | | | | | | | | | | | | | | | | | | Add infoframe and hdmi_dvi_mode fields to 'struct hdmi_config' which will be used in the following patches for OMAP4 and OMAP5 HDMI. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: add hdmi ops to hdmi-connector and tpd12s015Tomi Valkeinen2014-07-042-0/+39
| | | | | | | | | | | | | | | | | | | | | Add pass-through functions for set_infoframe and set_hdmi_mode to hdmi-connector and tpd12s015 drivers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: add hdmi ops to hdmi_ops and omap_dss_driverTomi Valkeinen2014-07-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new ops for HDMI: set_infoframe() and set_hdmi_mode(). The first one can be used to specify the infoframe that should be sent to the HDMI monitor, and the second one is used to enable HDMI mode (versus DVI mode). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI: remove custom avi infoframeTomi Valkeinen2014-07-041-90/+0Star
| | | | | | | | | | | | | | | | | | | | | We now use the common AVI infoframe support, so the OMAP specific AVI infoframe code can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI5: use common AVI infoframe supportTomi Valkeinen2014-07-041-57/+65
| | | | | | | | | | | | | | | | | | | | | Instead of using OMAP specific AVI infoframe structs, use the common one from include/linux/hdmi.h. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI4: use common AVI infoframe supportTomi Valkeinen2014-07-043-111/+28Star
| | | | | | | | | | | | | | | | | | | | | Instead of using OMAP specific AVI infoframe structs, use the common one from include/linux/hdmi.h. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: Kconfig: select HDMITomi Valkeinen2014-07-041-0/+1
| | | | | | | | | | | | | | | | | | Select HDMI support to be able to use HDMI infoframe helpers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: HDMI: fix name conflictTomi Valkeinen2014-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP HDMI driver has an 'enum hdmi_audio_sample_size', which conflicts with the common include/linux/hdmi.h. Change the name of the OMAP specific enum with '_omap" postfix. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: DISPC: clean up dispc_mgr_timings_okTomi Valkeinen2014-07-041-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dispc_mgr_timings_ok() is a bit confusing how it handles the return value. Change the function to just return immediately when a timing is deemed not valid, making the code much easier to follow. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: DISPC: reject interlace for lcd outTomi Valkeinen2014-07-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OMAP2/3 does not support interlace for LCD out. OMAP4+ does, but is not supported by the driver at the moment. The driver still accepts interlaced mode for LCD out, causing broken display output. This patch makes dispc reject interlace for LCD out. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * OMAPDSS: DISPC: fix debugfs reg dumpTomi Valkeinen2014-07-041-3/+0Star
| | | | | | | | | | | | | | | | | | DISPC reg dump prints a few registers twice. Remove the extra prints. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| | * drivers/video/fbdev : dereference without an error testHimangi Saraogi2014-06-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a variable is assigned the result of backlight_device_register, an error test should be performed before a dereference. A simplified version of the semantic match that finds this problem is as follows: // <smpl> @def0@ expression x; position p0; @@ x@p0 = backlight_device_register(...) @protected@ expression def0.x,E; position def0.p0; position p; statement S; @@ x@p0 ... when != x = E if (!IS_ERR(x) && ...) {<... x@p ...>} else S @unprotected@ expression def0.x,E; identifier fld; position def0.p0; position p != protected.p; @@ x@p0 ... when != x = E * x@p->fld // </smpl> Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Acked-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: hyperv: hyperv_fb: refresh the VM screen by force on VM panicDexuan Cui2014-08-041-3/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the VSC has no chance to notify the VSP of the dirty rectangle on VM panic because the notification work is done in a workqueue, and in panic() the kernel typically ends up in an infinite loop, and a typical kernel config has CONFIG_PREEMPT_VOLUNTARY=y and CONFIG_PREEMPT is not set, so a context switch can't happen in panic() and the workqueue won't have a chance to run. As a result, the VM Connection window can't refresh until it's closed and we re-connect to the VM. We can register a handler on panic_notifier_list: the handler can notify the VSC and switch the framebuffer driver to a "synchronous mode", meaning the VSC flushes any future framebuffer change to the VSP immediately. v2: removed the MS-TFS line in the commit message v3: remove some 'unlikely' markings v4: avoid global variables as Tomi Valkeinen suggested Cc: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Dexuan Cui <decui@microsoft.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: ARM CLCD: Fix DT-related build problemsPawel Moll2014-08-042-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the following error when !CONFIG_OF: drivers/video/fbdev/amba-clcd.c:800:54: warning: ‘struct amba_dev’ declared inside parameter list [enabled by default] static struct clcd_board *clcdfb_of_get_board(struct amba_dev *dev) ^ and adds a missing Kconfig select causing this when CONFIG_OF && !CONFIG_FB_MODE_HELPERS: drivers/video/fbdev/amba-clcd.c:567: undefined reference to `fb_videomode_from_videomode' Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | drivers: video: fbdev: atmel_lcdfb.c: Add ability to inverted backlight PWM.Michael Welling2014-07-302-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code has a variable to change the polarity of the PWM backlight control but it was not being initialized. This patch adds a devicetree entry to set the variable if required. Signed-off-by: Michael Welling <mwelling@ieee.org> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: ARM CLCD: Add DT supportPawel Moll2014-07-293-0/+373
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds basic DT bindings for the PL11x CLCD cells and make their fbdev driver use them. Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: clps711x: Fix sparse warningsAlexander Shiyan2014-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes below warning: drivers/video/fbdev/clps711x-fb.c:314:17: warning: incorrect type in initializer (different address spaces) drivers/video/fbdev/clps711x-fb.c:314:17: expected void *__p drivers/video/fbdev/clps711x-fb.c:314:17: got char [noderef] <asn:2>*screen_base Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: clps711x: Fix driver build for CONFIG_FB=mAlexander Shiyan2014-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes building CLPS711X FB driver if the framebuffer core is used as a module. LD init/built-in.o drivers/built-in.o: In function `clps711x_fb_remove': :(.text+0x44a8): undefined reference to `unregister_framebuffer' drivers/built-in.o: In function `clps711x_fb_probe': :(.text+0x44cc): undefined reference to `fb_get_options' :(.text+0x45d8): undefined reference to `fb_alloc_cmap' :(.text+0x45e4): undefined reference to `register_framebuffer' make: *** [vmlinux] Error 1 Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | MAINTAINERS: Update Framebuffer file patternsJingoo Han2014-07-011-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since the commit f7018c2 "video: move fbdev to drivers/video/fbdev", all framebuffer drivers were moved to fbdev directory. Thus, file patterns of these framebuffer drivers should be updated correctly. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: fbdev: s3c2410fb: Move to clk_prepare_enable/clk_disable_unprepareVasily Khoruzhick2014-07-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use clk_prepare_enable/clk_disable_unprepare to make the driver work properly with common clock framework. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | fbdev: arm has __raw I/O accessors, use them in fb.hArchit Taneja2014-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the sparse warnings on arm platforms: warning: cast removes address space of expression Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: H Hartley Sweeten <hsweeten at visionengravers.com> Cc: Alexander Shiyan <shc_work@mail.ru> Cc: Russell King <linux@arm.linux.org.uk>
| * | drivers/video/fbdev/sis: Add missing elseRasmus Villemoes2014-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The surrounding code and the fact that the previous two if's are rendered useless without this "else" (since SIS_340==55 and XGI_20==75 are greater than SIS_661==15) suggests that the "else" is indeed missing. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | fbdev: da8xx-fb: Use dma_zalloc_coherentJoe Perches2014-07-011-6/+3Star
| | | | | | | | | | | | | | | | | | | | | Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video/mbx: indent some if statementsDan Carpenter2014-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkpatch.pl worries that we have left off the conditional bit because it isn't indented correctly. WARNING: suspect code indent for conditional statements (24, 24) Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | drivers/video/fbdev/sis/sis_main.c: remove unnecessary test on unsigned valueFabian Frederick2014-06-241-4/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | unsigned value is never < 0 Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: 68328fb: remove check for CONFIG_FB_68328_INVERTPaul Bolle2014-06-241-7/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since v2.6.7 the 68328 frame buffer driver contains a check for CONFIG_FB_68328_INVERT. But the Kconfig symbol FB_68328_INVERT was never added to the tree. Remove this check and do some related cleaning up. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: vt8500lcdfb: Remove kfree call since devm_kzalloc() is usedEmil Goode2014-06-241-2/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | We use devm_kzalloc() to allocate memory for the struct vt8500lcd_info pointer fbi, so there is no need to free it in vt8500lcd_remove(). Signed-off-by: Emil Goode <emilgoode@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: msm: Introduce the use of the managed version of kzallocHimangi Saraogi2014-06-241-16/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves data allocated using kzalloc to managed data allocated using devm_kzalloc and cleans now unnecessary kfrees in probe and remove functions. Also, linux/device.h is added to make sure the devm_*() routine declarations are unambiguously available. The function mddi_dummy_remove is removed as it is no longer required after removing the kfree. The variable ret is also done away with. The following Coccinelle semantic patch was used for making a part of the change: @platform@ identifier p, probefn, removefn; @@ struct platform_driver p = { .probe = probefn, .remove = removefn, }; @prb@ identifier platform.probefn, pdev; expression e, e1, e2; @@ probefn(struct platform_device *pdev, ...) { <+... - e = kzalloc(e1, e2) + e = devm_kzalloc(&pdev->dev, e1, e2) ... ?-kfree(e); ...+> } @rem depends on prb@ identifier platform.removefn; expression e; @@ removefn(...) { <... - kfree(e); ...> } Signed-off-by: Himangi Saraogi <himangi774@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: clps711x: Add bindings documentation for CLPS711X framebufferAlexander Shiyan2014-06-241-0/+47
| | | | | | | | | | | | | | | | | | | | | Add OF document for Cirrus Logic CLPS711X framebuffer driver. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
| * | video: clps711x: Add new Cirrus Logic CLPS711X framebuffer driverAlexander Shiyan2014-06-243-6/+415
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the framebuffer available in the Cirrus Logic CLPS711X CPUs. FB features: - 1-2-4 bits per pixel. - Programmable panel size to a maximum of 1024x256 at 4 bps. - Relocatible Frame Buffer (SRAM or SDRAM). - Programmable refresh rates. - 16 gray scale values. This new driver is designed to usage with devicetree only. The driver have been tested with custom board equipped Cirrus Logic EP7312. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
* | Merge tag 'pwm/for-3.17-rc1' of ↵Linus Torvalds2014-08-099-25/+774
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm changes from Thierry Reding: "The set of changes for this merge window contains two new drivers: one for Rockchip SoCs and another for STMicroelectronics STiH4xx SoCs. The remainder of the changes are the usual small cleanups such as removing redundant OOM messages, signalling that a PWM chip's operations can sleep and removing an unneeded dependency" * tag 'pwm/for-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: pwm: rockchip: Added to support for RK3288 SoC pwm: rockchip: document RK3288 SoC compatible pwm: sti: Remove PWM period table pwm: sti: Sync between enable/disable calls pwm: sti: Ensure same period values for all channels pwm: sti: Fix PWM prescaler handling pwm: sti: Supply Device Tree binding documentation for ST's PWM IP pwm: sti: Add new driver for ST's PWM IP pwm: imx: set can_sleep flag for imx_pwm pwm: lpss: remove dependency on clk framework pwm: pwm-tipwmss: remove unnecessary OOM messages pwm: rockchip: document device tree bindings pwm: add Rockchip SoC PWM support
| * | pwm: rockchip: Added to support for RK3288 SoCCaesar Wang2014-08-081-24/+111
| | | | | | | | | | | | | | | | | | | | | | | | This patch added to support the PWM controller found on RK3288 SoC. Signed-off-by: Caesar Wang <caesar.wang@rock-chips.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: rockchip: document RK3288 SoC compatibleCaesar Wang2014-08-081-1/+4
| | | | | | | | | | | | | | | | | | | | | Document new compatible for PWM founding on RK3288 SoC Signed-off-by: Caesar Wang <caesar.wang@rock-chips.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Remove PWM period tableAjit Pal Singh2014-08-081-48/+16Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the PWM period table. Instead the prescaler is computed from the period value passed in the config() function. Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Sync between enable/disable callsAjit Pal Singh2014-08-081-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ST PWM IP has a common enable/disable control for all the PWM channels on a PWM cell. Disables PWM output on the PWM HW only when disable is called for the last channel. Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Ensure same period values for all channelsAjit Pal Singh2014-08-081-44/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ST PWM IP shares the same clock prescaler across all the PWM channels. Hence configuration requests which change the period will affect all the channels. Do not allow period changes which will stomp period settings of the already configured channels. Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Fix PWM prescaler handlingAjit Pal Singh2014-08-081-11/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the pwm driver to write the complete 8 bits of the prescaler value to the PWM Control register. Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Supply Device Tree binding documentation for ST's PWM IPLee Jones2014-08-071-0/+41
| | | | | | | | | | | | | | | | | | Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: sti: Add new driver for ST's PWM IPLee Jones2014-08-073-0/+377
| | | | | | | | | | | | | | | | | | | | | | | | | | | This driver supports all current STi platforms' PWM IPs. Signed-off-by: Ajit Pal Singh <ajitpal.singh@st.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> [thierry.reding: rename module to pwm-sti, fix build breakage] Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: imx: set can_sleep flag for imx_pwmShawn Guo2014-08-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The .config() hook imx_pwm_config() calls clk APIs like clk_prepare() and clk_get_rate(), which might sleep, so we need to set can_sleep flag on pwm_chip. Signed-off-by: Shawn Guo <shawn.guo@freescale.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: lpss: remove dependency on clk frameworkHeikki Krogerus2014-08-071-22/+10Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike other Intel LPSS devices, the PWM does not have the clock dividers or the gate. All we get from the clock is the rate. Since PCI case uses the driver data to get the rate, we can drop the clk and use the same data also in case of ACPI. The frequency is the same. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Chew, Chiau Ee <chiau.ee.chew@intel.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: pwm-tipwmss: remove unnecessary OOM messagesJingoo Han2014-08-071-3/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. The following checkpatch warning is also removed. WARNING: Possible unnecessary 'out of memory' message Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
| * | pwm: rockchip: document device tree bindingsBeniamino Galvani2014-07-111-0/+17
| | | | | | | | | | | | | | | | | | | | | This adds binding documentation for Rockchip SoC PWM driver. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>