* Re: [PATCH] fbcon: unconditionally initialize cursor blink interval
From: Tomi Valkeinen @ 2015-08-10 14:21 UTC (permalink / raw)
To: Scot Doyle
Cc: Jean-Christophe Plagniol-Villard, Jonathan Liu, Pavel Machek,
Thierry Reding, Kevin Hilman, Greg Kroah-Hartman, Jiri Slaby,
Geert Uytterhoeven, linux-fbdev, linux-kernel
In-Reply-To: <alpine.DEB.2.11.1508101358210.1286@local>
[-- Attachment #1: Type: text/plain, Size: 652 bytes --]
On 10/08/15 17:05, Scot Doyle wrote:
> On Tue, 4 Aug 2015, Pavel Machek wrote:
>> On Tue 2015-08-04 12:33:32, Scot Doyle wrote:
>>> A sun7i-a20-olinuxino-micro fails to boot when kernel parameter
>>> vt.global_cursor_default=0. The value is copied to vc->vc_deccm
>>> causing the initialization of ops->cur_blink_jiffies to be skipped.
>>> Unconditionally initialize it.
>>>
>>> Reported-and-tested-by: Jonathan Liu <net147@gmail.com>
>>> Signed-off-by: Scot Doyle <lkml14@scotdoyle.com>
>>
>> Acked-by: Pavel Machek <pavel@ucw.cz>
>>
>
> Tomi, this one should also go in 4.2 fixes.
Thanks, I've queued for 4.2 fixes.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* [PATCH] video: fbdev: atmel_lcdfb: remove useless include
From: Alexandre Belloni @ 2015-08-10 14:31 UTC (permalink / raw)
To: linux-arm-kernel
Definitions from linux/platform_data/atmel.h are not used, remove the
include.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
drivers/video/fbdev/atmel_lcdfb.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/fbdev/atmel_lcdfb.c b/drivers/video/fbdev/atmel_lcdfb.c
index abadc490fa1f..a5006788647c 100644
--- a/drivers/video/fbdev/atmel_lcdfb.c
+++ b/drivers/video/fbdev/atmel_lcdfb.c
@@ -19,7 +19,6 @@
#include <linux/backlight.h>
#include <linux/gfp.h>
#include <linux/module.h>
-#include <linux/platform_data/atmel.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
--
2.1.4
^ permalink raw reply related
* Re: [PATCH v2] backlight: pm8941-wled: Move PM8941 WLED driver to backlight
From: Lee Jones @ 2015-08-10 15:53 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Bryan Wu, Richard Purdie, Jacek Anaszewski, Jingoo Han,
Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Rob Clark,
devicetree, linux-kernel, linux-leds, linux-fbdev, linux-arm-msm
In-Reply-To: <1437525889-24928-1-git-send-email-bjorn.andersson@sonymobile.com>
On Tue, 21 Jul 2015, Bjorn Andersson wrote:
> The Qualcomm PM8941 WLED block is used for backlight and should therefor
> be in the backlight framework and not in the LED framework. This moves
> the driver and adapts to the backlight api instead.
>
> Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com>
> Tested-by: Rob Clark <robdclark@gmail.com>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
> ---
> .../backlight/pm8941-wled.txt} | 5 +-
> drivers/leds/Kconfig | 8 ---
> drivers/leds/Makefile | 1 -
> drivers/video/backlight/Kconfig | 7 +++
> drivers/video/backlight/Makefile | 1 +
> .../backlight/pm8941-wled.c} | 60 ++++++++++------------
> 6 files changed, 35 insertions(+), 47 deletions(-)
> rename Documentation/devicetree/bindings/{leds/leds-pm8941-wled.txt => video/backlight/pm8941-wled.txt} (84%)
> rename drivers/{leds/leds-pm8941-wled.c => video/backlight/pm8941-wled.c} (90%)
Applied with Jingoo's Ack, thanks.
> diff --git a/Documentation/devicetree/bindings/leds/leds-pm8941-wled.txt b/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
> similarity index 84%
> rename from Documentation/devicetree/bindings/leds/leds-pm8941-wled.txt
> rename to Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
> index a85a964d61f5..424f8444a6cd 100644
> --- a/Documentation/devicetree/bindings/leds/leds-pm8941-wled.txt
> +++ b/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
> @@ -5,10 +5,7 @@ Required properties:
> - reg: slave address
>
> Optional properties:
> -- label: The label for this led
> - See Documentation/devicetree/bindings/leds/common.txt
> -- linux,default-trigger: Default trigger assigned to the LED
> - See Documentation/devicetree/bindings/leds/common.txt
> +- label: The name of the backlight device
> - qcom,cs-out: bool; enable current sink output
> - qcom,cabc: bool; enable content adaptive backlight control
> - qcom,ext-gen: bool; use externally generated modulator signal to dim
> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
> index 9ad35f72ab4c..b8d4b965ca2a 100644
> --- a/drivers/leds/Kconfig
> +++ b/drivers/leds/Kconfig
> @@ -578,14 +578,6 @@ config LEDS_VERSATILE
> This option enabled support for the LEDs on the ARM Versatile
> and RealView boards. Say Y to enabled these.
>
> -config LEDS_PM8941_WLED
> - tristate "LED support for the Qualcomm PM8941 WLED block"
> - depends on LEDS_CLASS
> - select REGMAP
> - help
> - This option enables support for the 'White' LED block
> - on Qualcomm PM8941 PMICs.
> -
> comment "LED Triggers"
> source "drivers/leds/trigger/Kconfig"
>
> diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
> index 8d6a24a2f513..abe96d960ebe 100644
> --- a/drivers/leds/Makefile
> +++ b/drivers/leds/Makefile
> @@ -63,7 +63,6 @@ obj-$(CONFIG_LEDS_BLINKM) += leds-blinkm.o
> obj-$(CONFIG_LEDS_SYSCON) += leds-syscon.o
> obj-$(CONFIG_LEDS_VERSATILE) += leds-versatile.o
> obj-$(CONFIG_LEDS_MENF21BMC) += leds-menf21bmc.o
> -obj-$(CONFIG_LEDS_PM8941_WLED) += leds-pm8941-wled.o
> obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o
>
> # LED SPI Drivers
> diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
> index 0505b796d743..5ffa4b4e26c0 100644
> --- a/drivers/video/backlight/Kconfig
> +++ b/drivers/video/backlight/Kconfig
> @@ -299,6 +299,13 @@ config BACKLIGHT_TOSA
> If you have an Sharp SL-6000 Zaurus say Y to enable a driver
> for its backlight
>
> +config BACKLIGHT_PM8941_WLED
> + tristate "Qualcomm PM8941 WLED Driver"
> + select REGMAP
> + help
> + If you have the Qualcomm PM8941, say Y to enable a driver for the
> + WLED block.
> +
> config BACKLIGHT_SAHARA
> tristate "Tabletkiosk Sahara Touch-iT Backlight Driver"
> depends on X86
> diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
> index d67073f9d421..16ec534cff30 100644
> --- a/drivers/video/backlight/Makefile
> +++ b/drivers/video/backlight/Makefile
> @@ -48,6 +48,7 @@ obj-$(CONFIG_BACKLIGHT_OMAP1) += omap1_bl.o
> obj-$(CONFIG_BACKLIGHT_OT200) += ot200_bl.o
> obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o
> obj-$(CONFIG_BACKLIGHT_PCF50633) += pcf50633-backlight.o
> +obj-$(CONFIG_BACKLIGHT_PM8941_WLED) += pm8941-wled.o
> obj-$(CONFIG_BACKLIGHT_PWM) += pwm_bl.o
> obj-$(CONFIG_BACKLIGHT_SAHARA) += kb3886_bl.o
> obj-$(CONFIG_BACKLIGHT_SKY81452) += sky81452-backlight.o
> diff --git a/drivers/leds/leds-pm8941-wled.c b/drivers/video/backlight/pm8941-wled.c
> similarity index 90%
> rename from drivers/leds/leds-pm8941-wled.c
> rename to drivers/video/backlight/pm8941-wled.c
> index bf64a593fbf1..c704c3236034 100644
> --- a/drivers/leds/leds-pm8941-wled.c
> +++ b/drivers/video/backlight/pm8941-wled.c
> @@ -11,7 +11,7 @@
> */
>
> #include <linux/kernel.h>
> -#include <linux/leds.h>
> +#include <linux/backlight.h>
> #include <linux/module.h>
> #include <linux/of.h>
> #include <linux/of_device.h>
> @@ -76,30 +76,29 @@ struct pm8941_wled_config {
> };
>
> struct pm8941_wled {
> + const char *name;
> struct regmap *regmap;
> u16 addr;
>
> - struct led_classdev cdev;
> -
> struct pm8941_wled_config cfg;
> };
>
> -static int pm8941_wled_set(struct led_classdev *cdev,
> - enum led_brightness value)
> +static int pm8941_wled_update_status(struct backlight_device *bl)
> {
> - struct pm8941_wled *wled;
> + struct pm8941_wled *wled = bl_get_data(bl);
> + u16 val = bl->props.brightness;
> u8 ctrl = 0;
> - u16 val;
> int rc;
> int i;
>
> - wled = container_of(cdev, struct pm8941_wled, cdev);
> + if (bl->props.power != FB_BLANK_UNBLANK ||
> + bl->props.fb_blank != FB_BLANK_UNBLANK ||
> + bl->props.state & BL_CORE_FBBLANK)
> + val = 0;
>
> - if (value != 0)
> + if (val != 0)
> ctrl = PM8941_WLED_REG_MOD_EN_BIT;
>
> - val = value * PM8941_WLED_REG_VAL_MAX / LED_FULL;
> -
> rc = regmap_update_bits(wled->regmap,
> wled->addr + PM8941_WLED_REG_MOD_EN,
> PM8941_WLED_REG_MOD_EN_MASK, ctrl);
> @@ -128,16 +127,6 @@ static int pm8941_wled_set(struct led_classdev *cdev,
> return rc;
> }
>
> -static void pm8941_wled_set_brightness(struct led_classdev *cdev,
> - enum led_brightness value)
> -{
> - if (pm8941_wled_set(cdev, value)) {
> - dev_err(cdev->dev, "Unable to set brightness\n");
> - return;
> - }
> - cdev->brightness = value;
> -}
> -
> static int pm8941_wled_setup(struct pm8941_wled *wled)
> {
> int rc;
> @@ -336,12 +325,9 @@ static int pm8941_wled_configure(struct pm8941_wled *wled, struct device *dev)
> }
> wled->addr = val;
>
> - rc = of_property_read_string(dev->of_node, "label", &wled->cdev.name);
> + rc = of_property_read_string(dev->of_node, "label", &wled->name);
> if (rc)
> - wled->cdev.name = dev->of_node->name;
> -
> - wled->cdev.default_trigger = of_get_property(dev->of_node,
> - "linux,default-trigger", NULL);
> + wled->name = dev->of_node->name;
>
> *cfg = pm8941_wled_config_defaults;
> for (i = 0; i < ARRAY_SIZE(u32_opts); ++i) {
> @@ -377,8 +363,14 @@ static int pm8941_wled_configure(struct pm8941_wled *wled, struct device *dev)
> return 0;
> }
>
> +static const struct backlight_ops pm8941_wled_ops = {
> + .update_status = pm8941_wled_update_status,
> +};
> +
> static int pm8941_wled_probe(struct platform_device *pdev)
> {
> + struct backlight_properties props;
> + struct backlight_device *bl;
> struct pm8941_wled *wled;
> struct regmap *regmap;
> int rc;
> @@ -403,13 +395,14 @@ static int pm8941_wled_probe(struct platform_device *pdev)
> if (rc)
> return rc;
>
> - wled->cdev.brightness_set = pm8941_wled_set_brightness;
> -
> - rc = devm_led_classdev_register(&pdev->dev, &wled->cdev);
> - if (rc)
> - return rc;
> -
> - platform_set_drvdata(pdev, wled);
> + memset(&props, 0, sizeof(struct backlight_properties));
> + props.type = BACKLIGHT_RAW;
> + props.max_brightness = PM8941_WLED_REG_VAL_MAX;
> + bl = devm_backlight_device_register(&pdev->dev, wled->name,
> + &pdev->dev, wled,
> + &pm8941_wled_ops, &props);
> + if (IS_ERR(bl))
> + return PTR_ERR(bl);
>
> return 0;
> };
> @@ -432,4 +425,3 @@ module_platform_driver(pm8941_wled_driver);
>
> MODULE_DESCRIPTION("pm8941 wled driver");
> MODULE_LICENSE("GPL v2");
> -MODULE_ALIAS("platform:pm8941-wled");
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply
* Re: [PATCH] video: fbdev: pxa3xx_gcu: prepare the clocks
From: Robert Jarzmik @ 2015-08-10 19:05 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Jean-Christophe Plagniol-Villard, linux-fbdev, linux-kernel
In-Reply-To: <55C86E5B.4020808@ti.com>
Tomi Valkeinen <tomi.valkeinen@ti.com> writes:
> On 03/08/15 23:15, Robert Jarzmik wrote:
>
> Thanks, I've queued this for 4.2 fixes.
Thanks Tomi.
Cheers.
--
Robert
^ permalink raw reply
* [PATCH v2] backlight: pm8941-wled: Add default-brightness property
From: Bjorn Andersson @ 2015-08-10 20:13 UTC (permalink / raw)
To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Jingoo Han,
Lee Jones, Jean-Christophe Plagniol-Villard, Tomi Valkeinen
Cc: Rob Clark, devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-fbdev-u79uwXL29TY76Z2rM5mHXA,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA
Default the brightness to 2048 and add possibility to override this in
device tree.
Suggested-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
---
After going back and forth on this one I decided that the best unit of this
property (which could become a common backlight property) would be to use
"units of brightness". The value will either come from the boot loader picking
a value in some way or from a user finding a good value by tweaking sysfs -
both which will be in "units of brightness".
Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt | 2 ++
drivers/video/backlight/pm8941-wled.c | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt b/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
index 424f8444a6cd..e5b294dafc58 100644
--- a/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
+++ b/Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt
@@ -5,6 +5,8 @@ Required properties:
- reg: slave address
Optional properties:
+- default-brightness: brightness value on boot, value from: 0-4095
+ default: 2048
- label: The name of the backlight device
- qcom,cs-out: bool; enable current sink output
- qcom,cabc: bool; enable content adaptive backlight control
diff --git a/drivers/video/backlight/pm8941-wled.c b/drivers/video/backlight/pm8941-wled.c
index c704c3236034..e1298147bcbb 100644
--- a/drivers/video/backlight/pm8941-wled.c
+++ b/drivers/video/backlight/pm8941-wled.c
@@ -17,6 +17,9 @@
#include <linux/of_device.h>
#include <linux/regmap.h>
+/* From DT binding */
+#define PM8941_WLED_DEFAULT_BRIGHTNESS 2048
+
#define PM8941_WLED_REG_VAL_BASE 0x40
#define PM8941_WLED_REG_VAL_MAX 0xFFF
@@ -373,6 +376,7 @@ static int pm8941_wled_probe(struct platform_device *pdev)
struct backlight_device *bl;
struct pm8941_wled *wled;
struct regmap *regmap;
+ u32 val;
int rc;
regmap = dev_get_regmap(pdev->dev.parent, NULL);
@@ -395,8 +399,12 @@ static int pm8941_wled_probe(struct platform_device *pdev)
if (rc)
return rc;
+ val = PM8941_WLED_DEFAULT_BRIGHTNESS;
+ of_property_read_u32(pdev->dev.of_node, "default-brightness", &val);
+
memset(&props, 0, sizeof(struct backlight_properties));
props.type = BACKLIGHT_RAW;
+ props.brightness = val;
props.max_brightness = PM8941_WLED_REG_VAL_MAX;
bl = devm_backlight_device_register(&pdev->dev, wled->name,
&pdev->dev, wled,
--
1.8.2.2
^ permalink raw reply related
* Re: [PATCH v2 09/11] fbdev: Allow compile test of GPIO consumers if !GPIOLIB
From: Tomi Valkeinen @ 2015-08-11 7:22 UTC (permalink / raw)
To: Geert Uytterhoeven, Jean-Christophe Plagniol-Villard
Cc: linux-fbdev, Linus Walleij, Alexandre Courbot, linux-gpio
In-Reply-To: <1438506593-31845-1-git-send-email-geert@linux-m68k.org>
[-- Attachment #1: Type: text/plain, Size: 1430 bytes --]
On 02/08/15 12:09, Geert Uytterhoeven wrote:
> The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is
> not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer
> functionality only, can still be compiled if GPIOLIB is not enabled.
>
> Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where
> appropriate.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> v2:
> - Add Acked-by.
> ---
> drivers/video/fbdev/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 2d98de535e0f7374..569803f533d1a600 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2464,7 +2464,7 @@ config FB_SSD1307
> tristate "Solomon SSD1307 framebuffer support"
> depends on FB && I2C
> depends on OF
> - depends on GPIOLIB
> + depends on GPIOLIB || COMPILE_TEST
> select FB_SYS_FOPS
> select FB_SYS_FILLRECT
> select FB_SYS_COPYAREA
>
Applied to 4.3 fbdev.
I do wonder why this is needed, though... I understand COMPILE_TEST if
the dependency in question is difficult/impossible to enable with your
kernel config (say, enabling OMAP SoC support with x86 config), but
isn't GPIOLIB something that can be trivially enabled in any kernel config?
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [PATCH v2 09/11] fbdev: Allow compile test of GPIO consumers if !GPIOLIB
From: Geert Uytterhoeven @ 2015-08-11 7:28 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Jean-Christophe Plagniol-Villard, Linux Fbdev development list,
Linus Walleij, Alexandre Courbot, linux-gpio@vger.kernel.org
In-Reply-To: <55C9A2C3.1060001@ti.com>
Hi Tomi,
On Tue, Aug 11, 2015 at 9:22 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 02/08/15 12:09, Geert Uytterhoeven wrote:
>> The GPIO subsystem provides dummy GPIO consumer functions if GPIOLIB is
>> not enabled. Hence drivers that depend on GPIOLIB, but use GPIO consumer
>> functionality only, can still be compiled if GPIOLIB is not enabled.
>>
>> Relax the dependency on GPIOLIB if COMPILE_TEST is enabled, where
>> appropriate.
>>
>> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
>> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> Applied to 4.3 fbdev.
Thanks!
> I do wonder why this is needed, though... I understand COMPILE_TEST if
> the dependency in question is difficult/impossible to enable with your
> kernel config (say, enabling OMAP SoC support with x86 config), but
> isn't GPIOLIB something that can be trivially enabled in any kernel config?
While there are a few mfd and pinctrl drivers that select GPIOLIB, the
presence of GPIOLIB is mostly a platform feature. Not all architectures support
GPIOLIB yet.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* [GIT PULL] fbdev fixes for 4.2-rc7
From: Tomi Valkeinen @ 2015-08-11 13:07 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-fbdev, linux-kernel@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 1617 bytes --]
Hi Linus,
The following changes since commit f7644cbfcdf03528f0f450f3940c4985b2291f49:
Linux 4.2-rc6 (2015-08-09 15:54:30 -0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/fbdev-fixes-4.2
for you to fetch changes up to 2a17d7e80f1df44d6b94c3696d5eda44fe6638a8:
fbcon: unconditionally initialize cursor blink interval (2015-08-10 17:20:32 +0300)
----------------------------------------------------------------
fbdev fixes for 4.2
* Fix display regression on Versatile boards
* Fix OF node refcount bugs on omapdss
* fix WARN about clock prepare on pxa3xx_gcu
* Fix mem leak in videomode helpers
* Fix fbconsole related boot problem on sun7i-a20-olinuxino-micro
----------------------------------------------------------------
Christian Engelmayer (1):
video: Fix possible leak in of_get_videomode()
Jyri Sarha (2):
OMAPDSS: Fix node refcount leak in omapdss_of_get_next_port()
OMAPDSS: Fix omap_dss_find_output_by_port_node() port refcount decrement
Linus Walleij (1):
fbdev: select versatile helpers for the integrator
Robert Jarzmik (1):
video: fbdev: pxa3xx_gcu: prepare the clocks
Scot Doyle (1):
fbcon: unconditionally initialize cursor blink interval
drivers/video/console/fbcon.c | 3 ++-
drivers/video/fbdev/Kconfig | 2 +-
drivers/video/fbdev/omap2/dss/dss-of.c | 4 +++-
drivers/video/fbdev/pxa3xx-gcu.c | 4 ++--
drivers/video/of_videomode.c | 4 +---
5 files changed, 9 insertions(+), 8 deletions(-)
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [Xen-devel] [PATCH v3 0/9] Use correctly the Xen memory terminologies
From: David Vrabel @ 2015-08-11 17:37 UTC (permalink / raw)
To: Julien Grall, xen-devel
Cc: linux-fbdev, x86, netdev, H. Peter Anvin, Jiri Slaby,
Thomas Gleixner, Russell King, linux-scsi, Tomi Valkeinen,
stefano.stabellini, Ingo Molnar, linux-input,
Jean-Christophe Plagniol-Villard, ian.campbell,
James E.J. Bottomley, Boris Ostrovsky, linux-arm-kernel,
Juergen Gross, Wei Liu, Greg Kroah-Hartman, Dmitry Torokhov,
linux-kernel, David Vrabel, linux-api, linuxppc-d
In-Reply-To: <1438965282-19103-1-git-send-email-julien.grall@citrix.com>
On 07/08/15 17:34, Julien Grall wrote:
> Hi all,
>
> This patch series aims to use the memory terminologies described in
> include/xen/mm.h [1] for Linux xen code.
Applied to for-linus-4.3, thanks.
David
^ permalink raw reply
* [RFC 7/8] drm: Add support for pps and compression mode command packet
From: vikas.korjani @ 2015-08-12 9:27 UTC (permalink / raw)
To: intel-gfx
Cc: linux-fbdev, David Airlie, linux-kernel, dri-devel,
Tomi Valkeinen, Jean-Christophe Plagniol-Villard
In-Reply-To: <1439373233-8188-1-git-send-email-vikas.korjani@intel.com>
From: vkorjani <vikas.korjani@intel.com>
After enabling DSC we need to send compression mode command packet
and pps data packet, for which 2 new data types are added
07h Compression Mode Data Type Write , short write, 2 parameters
0Ah PPS Long Write (word count determines number of bytes)
This patch adds support to send these packets.
Cc: David Airlie <airlied@linux.ie>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: vkorjani <vikas.korjani@intel.com>
---
drivers/gpu/drm/drm_mipi_dsi.c | 29 +++++++++++++++++++++++++++++
include/drm/drm_mipi_dsi.h | 4 +++-
include/video/mipi_display.h | 3 +++
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
index 2d5ca8ee..cd536d1 100644
--- a/drivers/gpu/drm/drm_mipi_dsi.c
+++ b/drivers/gpu/drm/drm_mipi_dsi.c
@@ -521,6 +521,35 @@ ssize_t mipi_dsi_dcs_write_buffer(struct mipi_dsi_device *dsi,
EXPORT_SYMBOL(mipi_dsi_dcs_write_buffer);
/**
+ * mipi_dsi_dsc_pps_write_buffer() - transmit a DSC command with payload
+ * @dsi: DSI peripheral device
+ * @data: buffer containing data to be transmitted
+ * @len: size of transmission buffer
+ *
+ * function will automatically choose the right data type depending on
+ * the command payload length.
+ *
+ * Return: The number of bytes successfully transmitted or a negative error
+ * code on failure.*/
+ssize_t mipi_dsi_dsc_pps_write_buffer(struct mipi_dsi_device *dsi,
+ const void *data, size_t len)
+{
+ struct mipi_dsi_msg msg = {
+ .channel = dsi->channel,
+ .tx_buf = data,
+ .tx_len = len
+ };
+
+ if (len = 0)
+ msg.type = MIPI_DSI_DCS_COMPRESSION_MODE;
+ else
+ msg.type = MIPI_DSI_PPS_LONG_WRITE;
+
+ return mipi_dsi_device_transfer(dsi, &msg);
+}
+EXPORT_SYMBOL(mipi_dsi_dsc_pps_write_buffer);
+
+/**
* mipi_dsi_dcs_write() - send DCS write command
* @dsi: DSI peripheral device
* @cmd: DCS command
diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
index f1d8d0d..2aa5120 100644
--- a/include/drm/drm_mipi_dsi.h
+++ b/include/drm/drm_mipi_dsi.h
@@ -197,7 +197,9 @@ ssize_t mipi_dsi_dcs_write_buffer(struct mipi_dsi_device *dsi,
ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, u8 cmd,
const void *data, size_t len);
ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data,
- size_t len);
+ size_t len);
+ssize_t mipi_dsi_dsc_pps_write_buffer(struct mipi_dsi_device *dsi,
+ const void *data, size_t len);
int mipi_dsi_dcs_nop(struct mipi_dsi_device *dsi);
int mipi_dsi_dcs_soft_reset(struct mipi_dsi_device *dsi);
int mipi_dsi_dcs_get_power_mode(struct mipi_dsi_device *dsi, u8 *mode);
diff --git a/include/video/mipi_display.h b/include/video/mipi_display.h
index ddcc8ca..880e6e6 100644
--- a/include/video/mipi_display.h
+++ b/include/video/mipi_display.h
@@ -38,6 +38,9 @@ enum {
MIPI_DSI_DCS_READ = 0x06,
+ MIPI_DSI_DCS_COMPRESSION_MODE = 0x07,
+ MIPI_DSI_PPS_LONG_WRITE = 0x0A,
+
MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE = 0x37,
MIPI_DSI_END_OF_TRANSMISSION = 0x08,
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH] fbdev: select versatile helpers for the integrator
From: Linus Walleij @ 2015-08-13 8:59 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1438090272-26266-1-git-send-email-linus.walleij@linaro.org>
On Mon, Aug 10, 2015 at 11:19 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 10/08/15 12:03, Linus Walleij wrote:
>> On Tue, Jul 28, 2015 at 3:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>
>>> Commit 11c32d7b6274cb0f554943d65bd4a126c4a86dcd
>>> "video: move Versatile CLCD helpers" missed the fact
>>> that the Integrator/CP is also using the helper, and
>>> as a result the platform got only stubs and no graphics.
>>> Add this as a default selection to Kconfig so we have
>>> graphics again.
>>>
>>> Fixes: 11c32d7b6274 (video: move Versatile CLCD helpers)
>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>>
>> Ping on this.
>>
>> Shall I take this into ARM SoC instead?
>
> Sorry, I still haven't gotten into dealing with fbdev related mails
> after my vacation...
>
> This is needed for 4.2, right? I can pick this up.
In theory, it's not like it's regressing the world. I'm fine with
4.3 at this point of you just keep the Fixes:... tag.
Yours,
Linus Walleij
^ permalink raw reply
* Re: [PATCH] fbdev: select versatile helpers for the integrator
From: Tomi Valkeinen @ 2015-08-13 9:00 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1438090272-26266-1-git-send-email-linus.walleij@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]
On 13/08/15 11:59, Linus Walleij wrote:
> On Mon, Aug 10, 2015 at 11:19 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>> On 10/08/15 12:03, Linus Walleij wrote:
>>> On Tue, Jul 28, 2015 at 3:31 PM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>>
>>>> Commit 11c32d7b6274cb0f554943d65bd4a126c4a86dcd
>>>> "video: move Versatile CLCD helpers" missed the fact
>>>> that the Integrator/CP is also using the helper, and
>>>> as a result the platform got only stubs and no graphics.
>>>> Add this as a default selection to Kconfig so we have
>>>> graphics again.
>>>>
>>>> Fixes: 11c32d7b6274 (video: move Versatile CLCD helpers)
>>>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>>>
>>> Ping on this.
>>>
>>> Shall I take this into ARM SoC instead?
>>
>> Sorry, I still haven't gotten into dealing with fbdev related mails
>> after my vacation...
>>
>> This is needed for 4.2, right? I can pick this up.
>
> In theory, it's not like it's regressing the world. I'm fine with
> 4.3 at this point of you just keep the Fixes:... tag.
It's in Linus' tree already.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* RE: [PATCH] video/fsl: Fix the sleep function for FSL DIU module
From: Wang Dongsheng @ 2015-08-14 5:53 UTC (permalink / raw)
To: Timur Tabi
Cc: Scott Wood, Jin Jason, Li Leo, linuxppc-dev@lists.ozlabs.org,
linux-fbdev@vger.kernel.org
In-Reply-To: <5331A6BA.9030507@tabi.org>
Hi Tabi,
> -----Original Message-----
> From: Timur Tabi [mailto:timur@tabi.org]
> Sent: Tuesday, March 25, 2014 11:55 PM
> To: Wang Dongsheng-B40534
> Cc: Wood Scott-B07421; Jin Zhengxiong-R64188; Li Yang-Leo-R58472; linuxppc-
> dev@lists.ozlabs.org; linux-fbdev@vger.kernel.org
> Subject: Re: [PATCH] video/fsl: Fix the sleep function for FSL DIU module
>
> On 03/25/2014 02:56 AM, Dongsheng Wang wrote:
> > From: Jason Jin <Jason.Jin@freescale.com>
> >
> > For deep sleep, the diu module will power off, when wake up from the
> > deep sleep, the registers need to be reinitialized.
> >
> > Signed-off-by: Jason Jin <Jason.Jin@freescale.com>
> > Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
> >
> > diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
> > index e8758b9..7ec780c 100644
> > --- a/drivers/video/fsl-diu-fb.c
> > +++ b/drivers/video/fsl-diu-fb.c
> > @@ -1628,9 +1628,18 @@ static int fsl_diu_suspend(struct platform_device
> *ofdev, pm_message_t state)
> > static int fsl_diu_resume(struct platform_device *ofdev)
> > {
> > struct fsl_diu_data *data;
> > + struct mfb_info *mfbi;
>
> You don't need this, if ...
>
> > + int i;
> >
> > data = dev_get_drvdata(&ofdev->dev);
> > - enable_lcdc(data->fsl_diu_info);
> > + fsl_diu_enable_interrupts(data);
> > + update_lcdc(data->fsl_diu_info);
> > +
> > + for (i = 0; i < NUM_AOIS; i++) {
> > + mfbi = &data->mfb[i];
> > + if (mfbi->count)
>
> ... you do this:
>
> if (data->mfb[i].count)
>
> Also, 'i' should be an 'unsigned int'.
>
> > + fsl_diu_enable_panel(&data->fsl_diu_info[i]);
> > + }
> >
> > return 0;
> > }
> >
>
> Other than that, this seems okay.
>
Thanks, send v2 to update this patch.
Regards,
-Dongsheng
^ permalink raw reply
* [PATCH v2] video: fbdev: fsl: Fix the sleep function for FSL DIU module
From: Dongsheng Wang @ 2015-08-14 5:54 UTC (permalink / raw)
To: timur; +Cc: scottwood, Jason.Jin, linuxppc-dev, linux-fbdev, Wang Dongsheng
From: Jason Jin <Jason.Jin@freescale.com>
For deep sleep, the diu module will power off, when wake up
from the deep sleep, the registers need to be reinitialized.
Signed-off-by: Jason Jin <Jason.Jin@freescale.com>
Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com>
---
*v2*
Changes:
- int i -> unsigned int i.
Rmove:
- struct mfb_info *mfbi;
diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c
index 7fa2e6f..b335c1a 100644
--- a/drivers/video/fbdev/fsl-diu-fb.c
+++ b/drivers/video/fbdev/fsl-diu-fb.c
@@ -1628,9 +1628,16 @@ static int fsl_diu_suspend(struct platform_device *ofdev, pm_message_t state)
static int fsl_diu_resume(struct platform_device *ofdev)
{
struct fsl_diu_data *data;
+ unsigned int i;
data = dev_get_drvdata(&ofdev->dev);
- enable_lcdc(data->fsl_diu_info);
+
+ fsl_diu_enable_interrupts(data);
+ update_lcdc(data->fsl_diu_info);
+ for (i = 0; i < NUM_AOIS; i++) {
+ if (data->mfb[i].count)
+ fsl_diu_enable_panel(&data->fsl_diu_info[i]);
+ }
return 0;
}
--
2.1.0.27.g96db324
^ permalink raw reply related
* [PATCH] Staging: sm750fb: Fix "foo* bar" should be "foo *bar" errors
From: Shah, Yash (Y.) @ 2015-08-14 6:06 UTC (permalink / raw)
To: sudipm.mukherjee@gmail.com, teddy.wang@siliconmotion.com,
gregkh@linuxfoundation.org
Cc: linux-fbdev@vger.kernel.org, devel@driverdev.osuosl.org,
linux-kernel@vger.kernel.org, Babu, Viswanathan (V.)
From: Yash Shah <yshah1@visteon.com>
Fix "foo* bar" should be "foo *bar" errors as detected by
checkpatch.pl
Signed-off-by: Yash Shah <yshah1@visteon.com>
---
drivers/staging/sm750fb/sm750.h | 14 +++++++-------
drivers/staging/sm750fb/sm750_cursor.c | 4 ++--
drivers/staging/sm750fb/sm750_cursor.h | 4 ++--
drivers/staging/sm750fb/sm750_hw.h | 6 +++---
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index 9b101a9..5bc4455 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -16,9 +16,9 @@ extern int smi_indent;
struct lynx_accel {
/* base virtual address of DPR registers */
- volatile unsigned char __iomem * dprBase;
+ volatile unsigned char __iomem *dprBase;
/* base virtual address of de data port */
- volatile unsigned char __iomem * dpPortBase;
+ volatile unsigned char __iomem *dpPortBase;
/* function fointers */
void (*de_init)(struct lynx_accel *);
@@ -64,8 +64,8 @@ struct lynx_share {
/* locks*/
spinlock_t slock;
/* function pointers */
- void (*suspend)(struct lynx_share*);
- void (*resume)(struct lynx_share*);
+ void (*suspend)(struct lynx_share *);
+ void (*resume)(struct lynx_share *);
};
struct lynx_cursor {
@@ -80,7 +80,7 @@ struct lynx_cursor {
char __iomem *vstart;
int offset;
/* mmio addr of hw cursor */
- volatile char __iomem * mmio;
+ volatile char __iomem *mmio;
/* the lynx_share of this adaptor */
struct lynx_share *share;
/* proc_routines */
@@ -114,7 +114,7 @@ struct lynxfb_crtc {
int (*proc_checkMode)(struct lynxfb_crtc*, struct fb_var_screeninfo*);
int (*proc_setColReg)(struct lynxfb_crtc*, ushort, ushort, ushort, ushort);
- void (*clear)(struct lynxfb_crtc*);
+ void (*clear)(struct lynxfb_crtc *);
/* pan display */
int (*proc_panDisplay)(struct lynxfb_crtc *,
const struct fb_var_screeninfo *,
@@ -146,7 +146,7 @@ struct lynxfb_output {
int (*proc_checkMode)(struct lynxfb_output*, struct fb_var_screeninfo*);
int (*proc_setBLANK)(struct lynxfb_output*, int);
- void (*clear)(struct lynxfb_output*);
+ void (*clear)(struct lynxfb_output *);
};
struct lynxfb_par {
diff --git a/drivers/staging/sm750fb/sm750_cursor.c b/drivers/staging/sm750fb/sm750_cursor.c
index 2400c6c..a94a4bb 100644
--- a/drivers/staging/sm750fb/sm750_cursor.c
+++ b/drivers/staging/sm750fb/sm750_cursor.c
@@ -95,7 +95,7 @@ void hw_cursor_setColor(struct lynx_cursor *cursor,
}
void hw_cursor_setData(struct lynx_cursor *cursor,
- u16 rop, const u8* pcol, const u8* pmsk)
+ u16 rop, const u8 *pcol, const u8 *pmsk)
{
int i, j, count, pitch, offset;
u8 color, mask, opr;
@@ -184,7 +184,7 @@ void hw_cursor_setData(struct lynx_cursor *cursor,
void hw_cursor_setData2(struct lynx_cursor *cursor,
- u16 rop, const u8* pcol, const u8* pmsk)
+ u16 rop, const u8 *pcol, const u8 *pmsk)
{
int i, j, count, pitch, offset;
u8 color, mask;
diff --git a/drivers/staging/sm750fb/sm750_cursor.h b/drivers/staging/sm750fb/sm750_cursor.h
index e1716a6..6c4fc9b 100644
--- a/drivers/staging/sm750fb/sm750_cursor.h
+++ b/drivers/staging/sm750fb/sm750_cursor.h
@@ -11,7 +11,7 @@ void hw_cursor_setPos(struct lynx_cursor *cursor,
void hw_cursor_setColor(struct lynx_cursor *cursor,
u32 fg, u32 bg);
void hw_cursor_setData(struct lynx_cursor *cursor,
- u16 rop, const u8* data, const u8* mask);
+ u16 rop, const u8 *data, const u8 *mask);
void hw_cursor_setData2(struct lynx_cursor *cursor,
- u16 rop, const u8* data, const u8* mask);
+ u16 rop, const u8 *data, const u8 *mask);
#endif
diff --git a/drivers/staging/sm750fb/sm750_hw.h b/drivers/staging/sm750fb/sm750_hw.h
index ef0a16f..3781a1a 100644
--- a/drivers/staging/sm750fb/sm750_hw.h
+++ b/drivers/staging/sm750fb/sm750_hw.h
@@ -78,7 +78,7 @@ struct sm750_share {
*/
};
-int hw_sm750_map(struct lynx_share* share, struct pci_dev* pdev);
+int hw_sm750_map(struct lynx_share *share, struct pci_dev *pdev);
int hw_sm750_inithw(struct lynx_share*, struct pci_dev *);
void hw_sm750_initAccel(struct lynx_share *);
int hw_sm750_deWait(void);
@@ -92,8 +92,8 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc*, struct fb_var_screeninfo*, struct
int hw_sm750_setColReg(struct lynxfb_crtc*, ushort, ushort, ushort, ushort);
int hw_sm750_setBLANK(struct lynxfb_output*, int);
int hw_sm750le_setBLANK(struct lynxfb_output*, int);
-void hw_sm750_crtc_clear(struct lynxfb_crtc*);
-void hw_sm750_output_clear(struct lynxfb_output*);
+void hw_sm750_crtc_clear(struct lynxfb_crtc *);
+void hw_sm750_output_clear(struct lynxfb_output *);
int hw_sm750_pan_display(struct lynxfb_crtc *crtc,
const struct fb_var_screeninfo *var,
const struct fb_info *info);
--
1.9.1
^ permalink raw reply related
* Re: [PATCH v2] video: fbdev: fsl: Fix the sleep function for FSL DIU module
From: Timur Tabi @ 2015-08-15 3:45 UTC (permalink / raw)
To: Dongsheng Wang; +Cc: scottwood, Jason.Jin, linuxppc-dev, linux-fbdev
In-Reply-To: <1439531649-46827-1-git-send-email-dongsheng.wang@freescale.com>
Dongsheng Wang wrote:
> For deep sleep, the diu module will power off, when wake up
> from the deep sleep, the registers need to be reinitialized.
>
> Signed-off-by: Jason Jin<Jason.Jin@freescale.com>
> Signed-off-by: Wang Dongsheng<dongsheng.wang@freescale.com>
Acked-by: Timur Tabi <timur@tabi.org>
^ permalink raw reply
* RE: [PATCH v2] video: fbdev: fsl: Fix the sleep function for FSL DIU module
From: Wang Dongsheng @ 2015-08-17 6:05 UTC (permalink / raw)
To: Timur Tabi, Scott Wood
Cc: Jin Jason, linuxppc-dev@lists.ozlabs.org,
linux-fbdev@vger.kernel.org
In-Reply-To: <55CEB5CB.4060803@tabi.org>
Thanks Timur.
@Scott,
Could you apply this patch?
Regards,
-Dongsheng
> -----Original Message-----
> From: Timur Tabi [mailto:timur@tabi.org]
> Sent: Saturday, August 15, 2015 11:45 AM
> To: Wang Dongsheng-B40534
> Cc: Wood Scott-B07421; Jin Zhengxiong-R64188; linuxppc-dev@lists.ozlabs.org;
> linux-fbdev@vger.kernel.org
> Subject: Re: [PATCH v2] video: fbdev: fsl: Fix the sleep function for FSL DIU
> module
>
> Dongsheng Wang wrote:
> > For deep sleep, the diu module will power off, when wake up from the
> > deep sleep, the registers need to be reinitialized.
> >
> > Signed-off-by: Jason Jin<Jason.Jin@freescale.com>
> > Signed-off-by: Wang Dongsheng<dongsheng.wang@freescale.com>
>
> Acked-by: Timur Tabi <timur@tabi.org>
^ permalink raw reply
* Re: [PATCH v2 00/10] pwm: add support for atomic update
From: Boris Brezillon @ 2015-08-17 7:18 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20150725083657.6111ff59@bbrezillon>
On Sat, 25 Jul 2015 08:36:57 +0200
Boris Brezillon <boris.brezillon@free-electrons.com> wrote:
> Hi Thierry,
>
> Should I resend a new version rebased on Mark's pwm topic branch or
> would you like to review this one first ?
Ping.
>
> Best Regards,
>
> Boris
>
> On Mon, 20 Jul 2015 17:31:57 +0200
> Boris Brezillon <boris.brezillon@free-electrons.com> wrote:
>
> > Hello Thierry,
> >
> > This series adds support for atomic PWM update, or IOW, the capability
> > to update all the parameters of a PWM device (enabled/disabled, period,
> > duty and polarity) in one go.
> >
> > Best Regards,
> >
> > Boris
> >
> > Changes since v1:
> > - dropped applied patches
> > - squashed Heiko's fixes into the rockchip driver changes
> > - made a few cosmetic changes
> > - added kerneldoc comments
> > - added Heiko's patch to display more information in debugfs
> > - dropped pwm-regulator patches (should be submitted separately)
> >
> > Boris Brezillon (9):
> > pwm: introduce default period and polarity concepts
> > pwm: define a new pwm_state struct
> > pwm: move the enabled/disabled info to pwm_state struct
> > backlight: pwm_bl: remove useless call to pwm_set_period
> > pwm: declare a default PWM state
> > pwm: add the PWM initial state retrieval infra
> > pwm: add the core infrastructure to allow atomic update
> > pwm: rockchip: add initial state retrieval
> > pwm: rockchip: add support for atomic update
> >
> > Heiko Stübner (1):
> > pwm: add information about polarity, duty cycle and period to debugfs
> >
> > drivers/leds/leds-pwm.c | 2 +-
> > drivers/pwm/core.c | 169 +++++++++++++++++++++++++++++++----
> > drivers/pwm/pwm-pxa.c | 2 +-
> > drivers/pwm/pwm-rockchip.c | 119 +++++++++++++++++++-----
> > drivers/pwm/pwm-sun4i.c | 3 +-
> > drivers/regulator/pwm-regulator.c | 2 +-
> > drivers/video/backlight/lm3630a_bl.c | 4 +-
> > drivers/video/backlight/pwm_bl.c | 10 ++-
> > drivers/video/fbdev/ssd1307fb.c | 2 +-
> > include/linux/pwm.h | 86 +++++++++++++++---
> > 10 files changed, 336 insertions(+), 63 deletions(-)
> >
>
>
>
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply
* [PATCH] backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro
From: Axel Lin @ 2015-08-17 7:59 UTC (permalink / raw)
To: linux-fbdev
IS_ERR_VALUE() makes sense only *if* there could be valid values in
negative error range.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
drivers/video/backlight/sky81452-backlight.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/video/backlight/sky81452-backlight.c b/drivers/video/backlight/sky81452-backlight.c
index 052fa1b..d414c7a 100644
--- a/drivers/video/backlight/sky81452-backlight.c
+++ b/drivers/video/backlight/sky81452-backlight.c
@@ -65,7 +65,7 @@ static int sky81452_bl_update_status(struct backlight_device *bd)
if (brightness > 0) {
ret = regmap_write(regmap, SKY81452_REG0, brightness - 1);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
return ret;
return regmap_update_bits(regmap, SKY81452_REG1, SKY81452_EN,
@@ -87,12 +87,12 @@ static ssize_t sky81452_bl_store_enable(struct device *dev,
int ret;
ret = kstrtoul(buf, 16, &value);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
return ret;
ret = regmap_update_bits(regmap, SKY81452_REG1, SKY81452_EN,
value << CTZ(SKY81452_EN));
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
return ret;
return count;
@@ -108,7 +108,7 @@ static ssize_t sky81452_bl_show_open_short(struct device *dev,
reg = !strcmp(attr->attr.name, "open") ? SKY81452_REG5 : SKY81452_REG4;
ret = regmap_read(regmap, reg, &value);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
return ret;
if (value & SKY81452_SHRT) {
@@ -136,7 +136,7 @@ static ssize_t sky81452_bl_show_fault(struct device *dev,
int ret;
ret = regmap_read(regmap, SKY81452_REG4, &value);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
return ret;
*buf = 0;
@@ -196,7 +196,7 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
pdata->gpio_enable = of_get_gpio(np, 0);
ret = of_property_count_u32_elems(np, "led-sources");
- if (IS_ERR_VALUE(ret)) {
+ if (ret < 0) {
pdata->enable = SKY81452_EN >> CTZ(SKY81452_EN);
} else {
num_entry = ret;
@@ -205,7 +205,7 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
ret = of_property_read_u32_array(np, "led-sources", sources,
num_entry);
- if (IS_ERR_VALUE(ret)) {
+ if (ret < 0) {
dev_err(dev, "led-sources node is invalid.\n");
return ERR_PTR(-EINVAL);
}
@@ -218,12 +218,12 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
ret = of_property_read_u32(np,
"skyworks,short-detection-threshold-volt",
&pdata->short_detection_threshold);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
pdata->short_detection_threshold = 7;
ret = of_property_read_u32(np, "skyworks,current-limit-mA",
&pdata->boost_current_limit);
- if (IS_ERR_VALUE(ret))
+ if (ret < 0)
pdata->boost_current_limit = 2750;
of_node_put(np);
@@ -278,14 +278,14 @@ static int sky81452_bl_probe(struct platform_device *pdev)
if (gpio_is_valid(pdata->gpio_enable)) {
ret = devm_gpio_request_one(dev, pdata->gpio_enable,
GPIOF_OUT_INIT_HIGH, "sky81452-en");
- if (IS_ERR_VALUE(ret)) {
+ if (ret < 0) {
dev_err(dev, "failed to request GPIO. err=%d\n", ret);
return ret;
}
}
ret = sky81452_bl_init_device(regmap, pdata);
- if (IS_ERR_VALUE(ret)) {
+ if (ret < 0) {
dev_err(dev, "failed to initialize. err=%d\n", ret);
return ret;
}
@@ -302,8 +302,8 @@ static int sky81452_bl_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, bd);
- ret = sysfs_create_group(&bd->dev.kobj, &sky81452_bl_attr_group);
- if (IS_ERR_VALUE(ret)) {
+ ret = sysfs_create_group(&bd->dev.kobj, &sky81452_bl_attr_group);
+ if (ret < 0) {
dev_err(dev, "failed to create attribute. err=%d\n", ret);
return ret;
}
--
2.1.0
^ permalink raw reply related
* [PATCH] ocfb: remove incorrect __iomem annotation
From: Christoph Hellwig @ 2015-08-17 8:10 UTC (permalink / raw)
To: linux-fbdev
Make sparse happy:
drivers/video/fbdev/ocfb.c:375:64: sparse: incorrect type in argument 3 (different address spaces)
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
drivers/video/fbdev/ocfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/ocfb.c b/drivers/video/fbdev/ocfb.c
index de98196..97f11d2 100644
--- a/drivers/video/fbdev/ocfb.c
+++ b/drivers/video/fbdev/ocfb.c
@@ -62,7 +62,7 @@ struct ocfb_dev {
int little_endian;
/* Physical and virtual addresses of framebuffer */
dma_addr_t fb_phys;
- void __iomem *fb_virt;
+ void *fb_virt;
u32 pseudo_palette[PALETTE_SIZE];
};
--
1.9.1
^ permalink raw reply related
* Re: [PATCH] backlight: sky81452: Remove unneeded use of IS_ERR_VALUE() macro
From: Lee Jones @ 2015-08-17 8:21 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1439798357.21881.1.camel@ingics.com>
On Mon, 17 Aug 2015, Axel Lin wrote:
> IS_ERR_VALUE() makes sense only *if* there could be valid values in
> negative error range.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
> drivers/video/backlight/sky81452-backlight.c | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
Applied, thanks.
> diff --git a/drivers/video/backlight/sky81452-backlight.c b/drivers/video/backlight/sky81452-backlight.c
> index 052fa1b..d414c7a 100644
> --- a/drivers/video/backlight/sky81452-backlight.c
> +++ b/drivers/video/backlight/sky81452-backlight.c
> @@ -65,7 +65,7 @@ static int sky81452_bl_update_status(struct backlight_device *bd)
>
> if (brightness > 0) {
> ret = regmap_write(regmap, SKY81452_REG0, brightness - 1);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> return ret;
>
> return regmap_update_bits(regmap, SKY81452_REG1, SKY81452_EN,
> @@ -87,12 +87,12 @@ static ssize_t sky81452_bl_store_enable(struct device *dev,
> int ret;
>
> ret = kstrtoul(buf, 16, &value);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> return ret;
>
> ret = regmap_update_bits(regmap, SKY81452_REG1, SKY81452_EN,
> value << CTZ(SKY81452_EN));
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> return ret;
>
> return count;
> @@ -108,7 +108,7 @@ static ssize_t sky81452_bl_show_open_short(struct device *dev,
>
> reg = !strcmp(attr->attr.name, "open") ? SKY81452_REG5 : SKY81452_REG4;
> ret = regmap_read(regmap, reg, &value);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> return ret;
>
> if (value & SKY81452_SHRT) {
> @@ -136,7 +136,7 @@ static ssize_t sky81452_bl_show_fault(struct device *dev,
> int ret;
>
> ret = regmap_read(regmap, SKY81452_REG4, &value);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> return ret;
>
> *buf = 0;
> @@ -196,7 +196,7 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
> pdata->gpio_enable = of_get_gpio(np, 0);
>
> ret = of_property_count_u32_elems(np, "led-sources");
> - if (IS_ERR_VALUE(ret)) {
> + if (ret < 0) {
> pdata->enable = SKY81452_EN >> CTZ(SKY81452_EN);
> } else {
> num_entry = ret;
> @@ -205,7 +205,7 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
>
> ret = of_property_read_u32_array(np, "led-sources", sources,
> num_entry);
> - if (IS_ERR_VALUE(ret)) {
> + if (ret < 0) {
> dev_err(dev, "led-sources node is invalid.\n");
> return ERR_PTR(-EINVAL);
> }
> @@ -218,12 +218,12 @@ static struct sky81452_bl_platform_data *sky81452_bl_parse_dt(
> ret = of_property_read_u32(np,
> "skyworks,short-detection-threshold-volt",
> &pdata->short_detection_threshold);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> pdata->short_detection_threshold = 7;
>
> ret = of_property_read_u32(np, "skyworks,current-limit-mA",
> &pdata->boost_current_limit);
> - if (IS_ERR_VALUE(ret))
> + if (ret < 0)
> pdata->boost_current_limit = 2750;
>
> of_node_put(np);
> @@ -278,14 +278,14 @@ static int sky81452_bl_probe(struct platform_device *pdev)
> if (gpio_is_valid(pdata->gpio_enable)) {
> ret = devm_gpio_request_one(dev, pdata->gpio_enable,
> GPIOF_OUT_INIT_HIGH, "sky81452-en");
> - if (IS_ERR_VALUE(ret)) {
> + if (ret < 0) {
> dev_err(dev, "failed to request GPIO. err=%d\n", ret);
> return ret;
> }
> }
>
> ret = sky81452_bl_init_device(regmap, pdata);
> - if (IS_ERR_VALUE(ret)) {
> + if (ret < 0) {
> dev_err(dev, "failed to initialize. err=%d\n", ret);
> return ret;
> }
> @@ -302,8 +302,8 @@ static int sky81452_bl_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, bd);
>
> - ret = sysfs_create_group(&bd->dev.kobj, &sky81452_bl_attr_group);
> - if (IS_ERR_VALUE(ret)) {
> + ret = sysfs_create_group(&bd->dev.kobj, &sky81452_bl_attr_group);
> + if (ret < 0) {
> dev_err(dev, "failed to create attribute. err=%d\n", ret);
> return ret;
> }
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply
* Re: [PATCH v2] video: fbdev: fsl: Fix the sleep function for FSL DIU module
From: Timur Tabi @ 2015-08-17 12:31 UTC (permalink / raw)
To: Wang Dongsheng, Scott Wood
Cc: Jin Jason, linuxppc-dev@lists.ozlabs.org,
linux-fbdev@vger.kernel.org
In-Reply-To: <SN1PR0301MB1616FC248A1601A8D1C530859D790@SN1PR0301MB1616.namprd03.prod.outlook.com>
Wang Dongsheng wrote:
> Thanks Timur.
>
> @Scott,
> Could you apply this patch?
You need to ask the fbdev maintainer to apply it, because it has to go
through his tree.
^ permalink raw reply
* [PATCH] ARC: add negative dependency for VGA_CONSOLE
From: Yuriy Kolerov @ 2015-08-17 15:52 UTC (permalink / raw)
To: linux-kernel, linux-arch, linux-fbdev
Cc: arnd, akpm, plagnioj, tomi.valkeinen, Vineet.Gupta1,
Alexey.Brodkin, Anton.Kolesov, Francois.Bedard, Yuriy Kolerov
Architectures which support VGA console must define screen_info
structurture from "uapi/linux/screen_info.h". Otherwise undefined
symbol error occurs. Usually it's defined in "setup.c" for each
architecture.
If an architecture does not support VGA console (ARC's case)
there are 2 ways: define a dummy instance of screen_info or add
a negative dependency for VGA_CONSOLE in to prevent selecting
this option.
I've implemented the second way. However the best solution is to
add HAVE_VGA_CONSOLE option for targets which support VGA
console. Then turn off VGA_CONSOLE by default and add dependency
to HAVE_VGA_CONSOLE. But right now it's better to just add a
negative dependency for ARC and then consider how to collaborate
about this issue with maintainers of other architectures.
Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
---
drivers/video/console/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
index fe1cd01..5d27ba0 100644
--- a/drivers/video/console/Kconfig
+++ b/drivers/video/console/Kconfig
@@ -9,7 +9,7 @@ config VGA_CONSOLE
depends on !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && \
!SUPERH && !BLACKFIN && !AVR32 && !MN10300 && !CRIS && \
(!ARM || ARCH_FOOTBRIDGE || ARCH_INTEGRATOR || ARCH_NETWINDER) && \
- !ARM64
+ !ARM64 && !ARC
default y
help
Saying Y here will allow you to use Linux in text mode through a
--
2.2.0
^ permalink raw reply related
* Re: [PATCH] ARC: add negative dependency for VGA_CONSOLE
From: Geert Uytterhoeven @ 2015-08-17 16:21 UTC (permalink / raw)
To: Yuriy Kolerov
Cc: linux-kernel@vger.kernel.org, Linux-Arch,
Linux Fbdev development list, Arnd Bergmann, Andrew Morton,
Jean-Christophe PLAGNIOL-VILLARD, Tomi Valkeinen, Vineet Gupta,
Alexey Brodkin, Anton.Kolesov, Francois Bedard
In-Reply-To: <1439826777-11489-1-git-send-email-yuriy.kolerov@synopsys.com>
On Mon, Aug 17, 2015 at 5:52 PM, Yuriy Kolerov
<yuriy.kolerov@synopsys.com> wrote:
> Architectures which support VGA console must define screen_info
> structurture from "uapi/linux/screen_info.h". Otherwise undefined
> symbol error occurs. Usually it's defined in "setup.c" for each
> architecture.
>
> If an architecture does not support VGA console (ARC's case)
> there are 2 ways: define a dummy instance of screen_info or add
> a negative dependency for VGA_CONSOLE in to prevent selecting
> this option.
>
> I've implemented the second way. However the best solution is to
> add HAVE_VGA_CONSOLE option for targets which support VGA
> console. Then turn off VGA_CONSOLE by default and add dependency
> to HAVE_VGA_CONSOLE. But right now it's better to just add a
> negative dependency for ARC and then consider how to collaborate
> about this issue with maintainers of other architectures.
+1
> Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* [PATCH] video: fbdev: Use devm_clk_get
From: Vaishali Thakkar @ 2015-08-18 3:40 UTC (permalink / raw)
To: Jean-Christophe Plagniol-Villard
Cc: Tomi Valkeinen, linux-fbdev, linux-kernel
This patch introduces the use of managed resource function
devm_clk_get instead of clk_get and removes corresponding calls
to clk_put in the probe and remove functions.
To be compatible with the change various gotos are replaced with
direct returns, and unneeded label failed_put_clk is dropped.
Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com>
---
drivers/video/fbdev/pxa168fb.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c
index e209b03..efb57c0 100644
--- a/drivers/video/fbdev/pxa168fb.c
+++ b/drivers/video/fbdev/pxa168fb.c
@@ -615,7 +615,7 @@ static int pxa168fb_probe(struct platform_device *pdev)
return -EINVAL;
}
- clk = clk_get(&pdev->dev, "LCDCLK");
+ clk = devm_clk_get(&pdev->dev, "LCDCLK");
if (IS_ERR(clk)) {
dev_err(&pdev->dev, "unable to get LCDCLK");
return PTR_ERR(clk);
@@ -624,21 +624,18 @@ static int pxa168fb_probe(struct platform_device *pdev)
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res = NULL) {
dev_err(&pdev->dev, "no IO memory defined\n");
- ret = -ENOENT;
- goto failed_put_clk;
+ return -ENOENT;
}
irq = platform_get_irq(pdev, 0);
if (irq < 0) {
dev_err(&pdev->dev, "no IRQ defined\n");
- ret = -ENOENT;
- goto failed_put_clk;
+ return -ENOENT;
}
info = framebuffer_alloc(sizeof(struct pxa168fb_info), &pdev->dev);
if (info = NULL) {
- ret = -ENOMEM;
- goto failed_put_clk;
+ return -ENOMEM;
}
/* Initialize private data */
@@ -776,8 +773,6 @@ failed_free_fbmem:
info->screen_base, fbi->fb_start_dma);
failed_free_info:
kfree(info);
-failed_put_clk:
- clk_put(clk);
dev_err(&pdev->dev, "frame buffer device init failed with %d\n", ret);
return ret;
@@ -813,7 +808,6 @@ static int pxa168fb_remove(struct platform_device *pdev)
info->screen_base, info->fix.smem_start);
clk_disable(fbi->clk);
- clk_put(fbi->clk);
framebuffer_release(info);
--
1.9.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox