* Re: [PATCH] video: mmp: remove unneeded devm_ deallocations
From: Zhou Zhu @ 2013-09-25 7:59 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <CAPgLHd-HYd_iF7Rf9DXGB2dHwx8n4u_vyC05QH37ee_xt7iFdQ@mail.gmail.com>
Yongjun,
There's already a same patch here.
http://marc.info/?l=linux-fbdev&m\x137995281725157&w=2
On 09/25/2013 03:43 PM, Wei Yongjun wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
> The whole point of devm is that it'll do these automatically.
>
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> ---
> drivers/video/mmp/hw/mmp_ctrl.c | 44 ++++++++++-------------------------------
> 1 file changed, 10 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/video/mmp/hw/mmp_ctrl.c b/drivers/video/mmp/hw/mmp_ctrl.c
> index 75dca19..ffa8664 100644
> --- a/drivers/video/mmp/hw/mmp_ctrl.c
> +++ b/drivers/video/mmp/hw/mmp_ctrl.c
> @@ -446,33 +446,28 @@ static int mmphw_probe(struct platform_device *pdev)
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (res = NULL) {
> dev_err(&pdev->dev, "%s: no IO memory defined\n", __func__);
> - ret = -ENOENT;
> - goto failed;
> + return -ENOENT;
> }
>
> irq = platform_get_irq(pdev, 0);
> if (irq < 0) {
> dev_err(&pdev->dev, "%s: no IRQ defined\n", __func__);
> - ret = -ENOENT;
> - goto failed;
> + return -ENOENT;
> }
>
> /* get configs from platform data */
> mi = pdev->dev.platform_data;
> if (mi = NULL || !mi->path_num || !mi->paths) {
> dev_err(&pdev->dev, "%s: no platform data defined\n", __func__);
> - ret = -EINVAL;
> - goto failed;
> + return -EINVAL;
> }
>
> /* allocate */
> size = sizeof(struct mmphw_ctrl) + sizeof(struct mmphw_path_plat) *
> mi->path_num;
> ctrl = devm_kzalloc(&pdev->dev, size, GFP_KERNEL);
> - if (!ctrl) {
> - ret = -ENOMEM;
> - goto failed;
> - }
> + if (!ctrl)
> + return -ENOMEM;
>
> ctrl->name = mi->name;
> ctrl->path_num = mi->path_num;
> @@ -486,8 +481,7 @@ static int mmphw_probe(struct platform_device *pdev)
> resource_size(res), ctrl->name)) {
> dev_err(ctrl->dev,
> "can't request region for resource %pR\n", res);
> - ret = -EINVAL;
> - goto failed;
> + return -EINVAL;
> }
>
> ctrl->reg_base = devm_ioremap_nocache(ctrl->dev,
> @@ -495,8 +489,7 @@ static int mmphw_probe(struct platform_device *pdev)
> if (ctrl->reg_base = NULL) {
> dev_err(ctrl->dev, "%s: res %x - %x map failed\n", __func__,
> res->start, res->end);
> - ret = -ENOMEM;
> - goto failed;
> + return -ENOMEM;
> }
>
> /* request irq */
> @@ -505,16 +498,14 @@ static int mmphw_probe(struct platform_device *pdev)
> if (ret < 0) {
> dev_err(ctrl->dev, "%s unable to request IRQ %d\n",
> __func__, ctrl->irq);
> - ret = -ENXIO;
> - goto failed;
> + return -ENXIO;
> }
>
> /* get clock */
> ctrl->clk = devm_clk_get(ctrl->dev, mi->clk_name);
> if (IS_ERR(ctrl->clk)) {
> dev_err(ctrl->dev, "unable to get clk %s\n", mi->clk_name);
> - ret = -ENOENT;
> - goto failed_get_clk;
> + return -ENOENT;
> }
> clk_prepare_enable(ctrl->clk);
>
> @@ -551,22 +542,7 @@ failed_path_init:
> path_deinit(path_plat);
> }
>
> - if (ctrl->clk) {
> - devm_clk_put(ctrl->dev, ctrl->clk);
> - clk_disable_unprepare(ctrl->clk);
> - }
> -failed_get_clk:
> - devm_free_irq(ctrl->dev, ctrl->irq, ctrl);
> -failed:
> - if (ctrl) {
> - if (ctrl->reg_base)
> - devm_iounmap(ctrl->dev, ctrl->reg_base);
> - devm_release_mem_region(ctrl->dev, res->start,
> - resource_size(res));
> - devm_kfree(ctrl->dev, ctrl);
> - }
> -
> - dev_err(&pdev->dev, "device init failed\n");
> + clk_disable_unprepare(ctrl->clk);
>
> return ret;
> }
>
--
Thanks, -Zhou
^ permalink raw reply
* [patch 1/2] backlight: lm3630: signedness bug in lm3630a_chip_init()
From: Dan Carpenter @ 2013-09-25 8:54 UTC (permalink / raw)
To: linux-fbdev
"rval" needs to be signed for the error handling to work.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index c63f918..65392f9 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -105,7 +105,7 @@ static int lm3630a_chip_init(struct lm3630a_chip *pchip)
/* interrupt handling */
static void lm3630a_delayed_func(struct work_struct *work)
{
- unsigned int rval;
+ int rval;
struct lm3630a_chip *pchip;
pchip = container_of(work, struct lm3630a_chip, work.work);
^ permalink raw reply related
* [patch 2/2] backlight: lm3630: potential NULL deref in probe()
From: Dan Carpenter @ 2013-09-25 8:55 UTC (permalink / raw)
To: linux-fbdev
We dereference "pdata" later in the function so we can't leave it as
NULL.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index 65392f9..6146481 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -389,22 +389,21 @@ static int lm3630a_probe(struct i2c_client *client,
i2c_set_clientdata(client, pchip);
if (pdata = NULL) {
- pchip->pdata = devm_kzalloc(pchip->dev,
- sizeof(struct
- lm3630a_platform_data),
- GFP_KERNEL);
- if (pchip->pdata = NULL)
+ pdata = devm_kzalloc(pchip->dev,
+ sizeof(struct lm3630a_platform_data),
+ GFP_KERNEL);
+ if (pdata = NULL)
return -ENOMEM;
/* default values */
- pchip->pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
- pchip->pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
- pchip->pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
- } else {
- pchip->pdata = pdata;
+ pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
+ pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
+ pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
}
+ pchip->pdata = pdata;
+
/* chip initialize */
rval = lm3630a_chip_init(pchip);
if (rval < 0) {
^ permalink raw reply related
* Re: [patch 2/2] backlight: lm3630: potential NULL deref in probe()
From: Jingoo Han @ 2013-09-25 9:13 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085549.GB6661@elgon.mountain>
On Wednesday, September 25, 2013 5:55 PM, Dan Carpenter wrote:
>
> "rval" needs to be signed for the error handling to work.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
CC'ed Andrew Morton, Daniel Jeong,
Oh, you're right.
"rval" is used as below.
rval = lm3630a_read(pchip, REG_INT_STATUS);
Also, lm3630a_read() returns signed value; thus,
"rval" should be signed.
Thank you for sending the patch. :-)
Acked-by: Jingoo Han <jg1.han@samsung.com>
>
> diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
> index c63f918..65392f9 100644
> --- a/drivers/video/backlight/lm3630a_bl.c
> +++ b/drivers/video/backlight/lm3630a_bl.c
> @@ -105,7 +105,7 @@ static int lm3630a_chip_init(struct lm3630a_chip *pchip)
> /* interrupt handling */
> static void lm3630a_delayed_func(struct work_struct *work)
> {
> - unsigned int rval;
> + int rval;
> struct lm3630a_chip *pchip;
>
> pchip = container_of(work, struct lm3630a_chip, work.work);
^ permalink raw reply
* Re: [patch 2/2] backlight: lm3630: potential NULL deref in probe()
From: Jingoo Han @ 2013-09-25 9:28 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085549.GB6661@elgon.mountain>
On Wednesday, September 25, 2013 5:56 PM, Dan Carpenter wrote:
>
> We dereference "pdata" later in the function so we can't leave it as
> NULL.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
CC'ed Andrew Morton, Daniel Jeong,
Acked-by: Jingoo Han <jg1.han@samsung.com>
>
> diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
> index 65392f9..6146481 100644
> --- a/drivers/video/backlight/lm3630a_bl.c
> +++ b/drivers/video/backlight/lm3630a_bl.c
> @@ -389,22 +389,21 @@ static int lm3630a_probe(struct i2c_client *client,
>
> i2c_set_clientdata(client, pchip);
> if (pdata = NULL) {
> - pchip->pdata = devm_kzalloc(pchip->dev,
> - sizeof(struct
> - lm3630a_platform_data),
> - GFP_KERNEL);
> - if (pchip->pdata = NULL)
> + pdata = devm_kzalloc(pchip->dev,
> + sizeof(struct lm3630a_platform_data),
> + GFP_KERNEL);
> + if (pdata = NULL)
> return -ENOMEM;
> /* default values */
> - pchip->pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
> - pchip->pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
> - pchip->pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
> - pchip->pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
> - pchip->pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
> - pchip->pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
> - } else {
> - pchip->pdata = pdata;
> + pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
> + pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
> + pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
> + pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
> + pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
> + pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
> }
> + pchip->pdata = pdata;
> +
> /* chip initialize */
> rval = lm3630a_chip_init(pchip);
> if (rval < 0) {
^ permalink raw reply
* Re: [patch 1/2] backlight: lm3630: signedness bug in lm3630a_chip_init()
From: Jingoo Han @ 2013-09-25 9:30 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085451.GA6661@elgon.mountain>
On Wednesday, September 25, 2013 5:55 PM, Dan Carpenter wrote:
>
> "rval" needs to be signed for the error handling to work.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
CC'ed Andrew Morton, Daniel Jeong,
Acked-by: Jingoo Han <jg1.han@samsung.com>
>
> diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
> index c63f918..65392f9 100644
> --- a/drivers/video/backlight/lm3630a_bl.c
> +++ b/drivers/video/backlight/lm3630a_bl.c
> @@ -105,7 +105,7 @@ static int lm3630a_chip_init(struct lm3630a_chip *pchip)
> /* interrupt handling */
> static void lm3630a_delayed_func(struct work_struct *work)
> {
> - unsigned int rval;
> + int rval;
> struct lm3630a_chip *pchip;
>
> pchip = container_of(work, struct lm3630a_chip, work.work);
^ permalink raw reply
* Re: [patch 2/2] backlight: lm3630: potential NULL deref in probe()
From: Dan Carpenter @ 2013-09-25 9:34 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085549.GB6661@elgon.mountain>
On Wed, Sep 25, 2013 at 06:13:28PM +0900, Jingoo Han wrote:
> On Wednesday, September 25, 2013 5:55 PM, Dan Carpenter wrote:
> >
> > "rval" needs to be signed for the error handling to work.
> >
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> CC'ed Andrew Morton, Daniel Jeong,
>
Ah. I didn't realize this driver was going through Andrew. I will
resend the patches.
regards,
dan carpenter
^ permalink raw reply
* [patch 1/2] backlight: lm3630: signedness bug in lm3630a_chip_init()
From: Dan Carpenter @ 2013-09-25 9:35 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085451.GA6661@elgon.mountain>
"rval" needs to be signed for the error handling to work.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index c63f918..65392f9 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -105,7 +105,7 @@ static int lm3630a_chip_init(struct lm3630a_chip *pchip)
/* interrupt handling */
static void lm3630a_delayed_func(struct work_struct *work)
{
- unsigned int rval;
+ int rval;
struct lm3630a_chip *pchip;
pchip = container_of(work, struct lm3630a_chip, work.work);
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [patch 2/2] backlight: lm3630: potential NULL deref in probe()
From: Dan Carpenter @ 2013-09-25 9:36 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20130925085549.GB6661@elgon.mountain>
We dereference "pdata" later in the function so we can't leave it as
NULL.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index 65392f9..6146481 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -389,22 +389,21 @@ static int lm3630a_probe(struct i2c_client *client,
i2c_set_clientdata(client, pchip);
if (pdata = NULL) {
- pchip->pdata = devm_kzalloc(pchip->dev,
- sizeof(struct
- lm3630a_platform_data),
- GFP_KERNEL);
- if (pchip->pdata = NULL)
+ pdata = devm_kzalloc(pchip->dev,
+ sizeof(struct lm3630a_platform_data),
+ GFP_KERNEL);
+ if (pdata = NULL)
return -ENOMEM;
/* default values */
- pchip->pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
- pchip->pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
- pchip->pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
- pchip->pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
- } else {
- pchip->pdata = pdata;
+ pdata->leda_ctrl = LM3630A_LEDA_ENABLE;
+ pdata->ledb_ctrl = LM3630A_LEDB_ENABLE;
+ pdata->leda_max_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->ledb_max_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->leda_init_brt = LM3630A_MAX_BRIGHTNESS;
+ pdata->ledb_init_brt = LM3630A_MAX_BRIGHTNESS;
}
+ pchip->pdata = pdata;
+
/* chip initialize */
rval = lm3630a_chip_init(pchip);
if (rval < 0) {
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related
* [PATCH] OMAPDSS: Add missing dependency on backlight for DSI-CM panel drier
From: Mark Brown @ 2013-09-25 11:31 UTC (permalink / raw)
To: Tomi Valkeinen, Jean-Christophe Plagniol-Villard
Cc: linux-fbdev, linux-omap, linaro-kernel, Mark Brown
From: Mark Brown <broonie@linaro.org>
The DSI-CM driver uses the backlight class so needs to build depend on it.
Signed-off-by: Mark Brown <broonie@linaro.org>
---
drivers/video/omap2/displays-new/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/omap2/displays-new/Kconfig b/drivers/video/omap2/displays-new/Kconfig
index 6c90885..10b25e7 100644
--- a/drivers/video/omap2/displays-new/Kconfig
+++ b/drivers/video/omap2/displays-new/Kconfig
@@ -35,6 +35,7 @@ config DISPLAY_PANEL_DPI
config DISPLAY_PANEL_DSI_CM
tristate "Generic DSI Command Mode Panel"
+ depends on BACKLIGHT_CLASS_DEVICE
help
Driver for generic DSI command mode panels.
--
1.8.4.rc3
^ permalink raw reply related
* Vážení E-mail užívateľa;
From: WEBMAIL UPDATE 2013 @ 2013-09-25 11:40 UTC (permalink / raw)
To: linux-fbdev
Vážení E-mail užívateľa;
Prekročili ste 23432 boxy nastaviť svoje
Webová služba / Administrátor, a budete mať problémy pri odosielaní a
prijímať e-maily, kým znova overiť. Musíte aktualizovať kliknutím na
odkaz nižšie a vyplňte údaje pre overenie vášho účtu
Prosím, kliknite na odkaz nižšie alebo skopírovať vložiť do
e-prehliadač pre overenie Schránky.
http://webmailupdate2034.jimdo.com/
Pozor!
Ak tak neurobíte, budú mať obmedzený prístup k e-mailu schránky. Ak
sa
nepodarí aktualizovať svoj účet do troch dní od aktualizácie
oznámenia,
bude váš účet natrvalo uzavretá.
S pozdravom,
System Administrator ®
^ permalink raw reply
* [PATCH 1/6] video: udlfb: Use NULL instead of 0
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
new_back is a pointer. Use NULL instead of 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Bernie Thompson <bernie@plugable.com>
---
drivers/video/udlfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/udlfb.c b/drivers/video/udlfb.c
index d2e5bc3..025f14e 100644
--- a/drivers/video/udlfb.c
+++ b/drivers/video/udlfb.c
@@ -1166,7 +1166,7 @@ static int dlfb_realloc_framebuffer(struct dlfb_data *dev, struct fb_info *info)
int new_len;
unsigned char *old_fb = info->screen_base;
unsigned char *new_fb;
- unsigned char *new_back = 0;
+ unsigned char *new_back = NULL;
pr_warn("Reallocating framebuffer. Addresses will change!\n");
--
1.7.9.5
^ permalink raw reply related
* [PATCH 2/6] video: smscufx: Use NULL instead of 0
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
'info' is a pointer. Use NULL instead of 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Steve Glendinning <steve.glendinning@shawell.net>
---
drivers/video/smscufx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/smscufx.c b/drivers/video/smscufx.c
index e188ada..d513ed6 100644
--- a/drivers/video/smscufx.c
+++ b/drivers/video/smscufx.c
@@ -1147,7 +1147,7 @@ static void ufx_free_framebuffer_work(struct work_struct *work)
fb_destroy_modelist(&info->modelist);
- dev->info = 0;
+ dev->info = NULL;
/* Assume info structure is freed after this point */
framebuffer_release(info);
--
1.7.9.5
^ permalink raw reply related
* [PATCH 3/6] video: da8xx-fb: Staticize reg_context
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
'reg_context' is local to this file. Make it static.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/da8xx-fb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 70fc8e8..0670c85 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -1548,7 +1548,7 @@ err_pm_runtime_disable:
}
#ifdef CONFIG_PM
-struct lcdc_context {
+static struct lcdc_context {
u32 clk_enable;
u32 ctrl;
u32 dma_ctrl;
--
1.7.9.5
^ permalink raw reply related
* [PATCH 4/6] video: aty: Remove redundant break
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
'break' after return statement is redundant. Remove it.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/aty/atyfb_base.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
index 9b0f12c..28fafbf 100644
--- a/drivers/video/aty/atyfb_base.c
+++ b/drivers/video/aty/atyfb_base.c
@@ -1848,7 +1848,6 @@ static int atyfb_ioctl(struct fb_info *info, u_int cmd, u_long arg)
return aty_waitforvblank(par, crtc);
}
- break;
#if defined(DEBUG) && defined(CONFIG_FB_ATY_CT)
case ATYIO_CLKR:
--
1.7.9.5
^ permalink raw reply related
* [PATCH 5/6] video: kyro: Remove redundant break
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
'break' after return statement is redundant. Remove it.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Paul Mundt <lethal@linux-sh.org>
---
drivers/video/kyro/fbdev.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/kyro/fbdev.c b/drivers/video/kyro/fbdev.c
index c82f040..79bfb5c 100644
--- a/drivers/video/kyro/fbdev.c
+++ b/drivers/video/kyro/fbdev.c
@@ -623,7 +623,6 @@ static int kyrofb_ioctl(struct fb_info *info,
"command instead.\n");
return -EINVAL;
}
- break;
case KYRO_IOCTL_UVSTRIDE:
if (copy_to_user(argp, &deviceInfo.ulOverlayUVStride, sizeof(unsigned long)))
return -EFAULT;
--
1.7.9.5
^ permalink raw reply related
* [PATCH 6/6] video: uvesafb: Remove redundant NULL check
From: Sachin Kamat @ 2013-09-25 11:41 UTC (permalink / raw)
To: linux-fbdev
kfree on a NULL pointer is a no-op.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Michal Januszewski <spock@gentoo.org>
---
drivers/video/uvesafb.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
index 7aec6f3..676a4b9 100644
--- a/drivers/video/uvesafb.c
+++ b/drivers/video/uvesafb.c
@@ -233,8 +233,7 @@ out:
static void uvesafb_free(struct uvesafb_ktask *task)
{
if (task) {
- if (task->done)
- kfree(task->done);
+ kfree(task->done);
kfree(task);
}
}
@@ -1332,8 +1331,8 @@ setmode:
FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR;
info->fix.line_length = mode->bytes_per_scan_line;
-out: if (crtc != NULL)
- kfree(crtc);
+out:
+ kfree(crtc);
uvesafb_free(task);
return err;
@@ -1793,8 +1792,7 @@ out_mode:
fb_destroy_modedb(info->monspecs.modedb);
fb_dealloc_cmap(&info->cmap);
out:
- if (par->vbe_modes)
- kfree(par->vbe_modes);
+ kfree(par->vbe_modes);
framebuffer_release(info);
return err;
@@ -1817,12 +1815,9 @@ static int uvesafb_remove(struct platform_device *dev)
fb_dealloc_cmap(&info->cmap);
if (par) {
- if (par->vbe_modes)
- kfree(par->vbe_modes);
- if (par->vbe_state_orig)
- kfree(par->vbe_state_orig);
- if (par->vbe_state_saved)
- kfree(par->vbe_state_saved);
+ kfree(par->vbe_modes);
+ kfree(par->vbe_state_orig);
+ kfree(par->vbe_state_saved);
}
framebuffer_release(info);
--
1.7.9.5
^ permalink raw reply related
* [PATCH 0/2] video: of: display_timing: fixes
From: Andrzej Hajda @ 2013-09-25 11:51 UTC (permalink / raw)
To: open list:FRAMEBUFFER LAYER
Cc: Andrzej Hajda, Kyungmin Park, Tomi Valkeinen,
Jean-Christophe Plagniol-Villard, dri-devel
Hi,
Those two independent patches fixes DT display_timings related code.
The first patch replaces of_find_node_by_name by of_get_child_by_name.
Usage of of_find_node_by_name in such context is incorrect:
- we need only direct child, and this function looks for following nodes
on implementation internal list regardless of the hierarchy,
- there is no warranty that child nodes are after parent nodes in
this search order, it happens to be true for DT created from FDT,
but it is not true for dynamic DT.
The second patch just removes unused/broken function.
Regards
Andrzej
Andrzej Hajda (2):
video: of: display_timing: correct display-timings node finding
video: of: display_timing: remove broken of_display_timings_exist
drivers/video/of_display_timing.c | 26 +++-----------------------
include/video/of_display_timing.h | 1 -
2 files changed, 3 insertions(+), 24 deletions(-)
--
1.8.1.2
^ permalink raw reply
* [PATCH 1/2] video: of: display_timing: correct display-timings node finding
From: Andrzej Hajda @ 2013-09-25 11:51 UTC (permalink / raw)
To: open list:FRAMEBUFFER LAYER
Cc: Andrzej Hajda, Kyungmin Park, Tomi Valkeinen,
Jean-Christophe Plagniol-Villard, dri-devel
In-Reply-To: <1380109892-13040-1-git-send-email-a.hajda@samsung.com>
of_get_display_timing(s) use of_find_node_by_name
to get child node, this is incorrect, of_get_child_by_name
should be used instead. The patch fixes it.
Small typo is also corrected.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
drivers/video/of_display_timing.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c
index 171821d..ba5b40f 100644
--- a/drivers/video/of_display_timing.c
+++ b/drivers/video/of_display_timing.c
@@ -120,7 +120,7 @@ int of_get_display_timing(struct device_node *np, const char *name,
return -EINVAL;
}
- timing_np = of_find_node_by_name(np, name);
+ timing_np = of_get_child_by_name(np, name);
if (!timing_np) {
pr_err("%s: could not find node '%s'\n",
of_node_full_name(np), name);
@@ -143,11 +143,11 @@ struct display_timings *of_get_display_timings(struct device_node *np)
struct display_timings *disp;
if (!np) {
- pr_err("%s: no devicenode given\n", of_node_full_name(np));
+ pr_err("%s: no device node given\n", of_node_full_name(np));
return NULL;
}
- timings_np = of_find_node_by_name(np, "display-timings");
+ timings_np = of_get_child_by_name(np, "display-timings");
if (!timings_np) {
pr_err("%s: could not find display-timings node\n",
of_node_full_name(np));
--
1.8.1.2
^ permalink raw reply related
* [PATCH 2/2] video: of: display_timing: remove broken of_display_timings_exist
From: Andrzej Hajda @ 2013-09-25 11:51 UTC (permalink / raw)
To: open list:FRAMEBUFFER LAYER
Cc: Andrzej Hajda, Kyungmin Park, Tomi Valkeinen,
Jean-Christophe Plagniol-Villard, dri-devel
In-Reply-To: <1380109892-13040-1-git-send-email-a.hajda@samsung.com>
of_display_timings_exist is implemented incorrectly.
It tries to find property instead of node.
The function is not used anyway so the patch removes it.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
drivers/video/of_display_timing.c | 20 --------------------
include/video/of_display_timing.h | 1 -
2 files changed, 21 deletions(-)
diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c
index ba5b40f..b423bb9 100644
--- a/drivers/video/of_display_timing.c
+++ b/drivers/video/of_display_timing.c
@@ -247,23 +247,3 @@ dispfail:
return NULL;
}
EXPORT_SYMBOL_GPL(of_get_display_timings);
-
-/**
- * of_display_timings_exist - check if a display-timings node is provided
- * @np: device_node with the timing
- **/
-int of_display_timings_exist(struct device_node *np)
-{
- struct device_node *timings_np;
-
- if (!np)
- return -EINVAL;
-
- timings_np = of_parse_phandle(np, "display-timings", 0);
- if (!timings_np)
- return -EINVAL;
-
- of_node_put(timings_np);
- return 1;
-}
-EXPORT_SYMBOL_GPL(of_display_timings_exist);
diff --git a/include/video/of_display_timing.h b/include/video/of_display_timing.h
index 79e6697..16cde75 100644
--- a/include/video/of_display_timing.h
+++ b/include/video/of_display_timing.h
@@ -18,6 +18,5 @@ struct display_timings;
int of_get_display_timing(struct device_node *np, const char *name,
struct display_timing *dt);
struct display_timings *of_get_display_timings(struct device_node *np);
-int of_display_timings_exist(struct device_node *np);
#endif
--
1.8.1.2
^ permalink raw reply related
* [PATCH 1/4] video: vfb: Remove incorrect check
From: Sachin Kamat @ 2013-09-25 12:14 UTC (permalink / raw)
To: linux-fbdev
'yoffset' is unsigned and hence cannot be less than 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/vfb.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/video/vfb.c b/drivers/video/vfb.c
index ee5985e..ea2b523 100644
--- a/drivers/video/vfb.c
+++ b/drivers/video/vfb.c
@@ -390,9 +390,8 @@ static int vfb_pan_display(struct fb_var_screeninfo *var,
struct fb_info *info)
{
if (var->vmode & FB_VMODE_YWRAP) {
- if (var->yoffset < 0
- || var->yoffset >= info->var.yres_virtual
- || var->xoffset)
+ if (var->yoffset >= info->var.yres_virtual ||
+ var->xoffset)
return -EINVAL;
} else {
if (var->xoffset + info->var.xres > info->var.xres_virtual ||
--
1.7.9.5
^ permalink raw reply related
* [PATCH 2/4] video: cirrusfb: Remove incorrect checks
From: Sachin Kamat @ 2013-09-25 12:14 UTC (permalink / raw)
To: linux-fbdev
'xoffset' and 'yoffset' are unsigned and hence cannot be less than 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Jeff Garzik <jgarzik@redhat.com>
---
drivers/video/cirrusfb.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c
index b016746..5aab9b9 100644
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -595,11 +595,6 @@ static int cirrusfb_check_var(struct fb_var_screeninfo *var,
return -EINVAL;
}
- if (var->xoffset < 0)
- var->xoffset = 0;
- if (var->yoffset < 0)
- var->yoffset = 0;
-
/* truncate xoffset and yoffset to maximum if too high */
if (var->xoffset > var->xres_virtual - var->xres)
var->xoffset = var->xres_virtual - var->xres - 1;
--
1.7.9.5
^ permalink raw reply related
* [PATCH 3/4] video: aty: Remove incorrect checks
From: Sachin Kamat @ 2013-09-25 12:14 UTC (permalink / raw)
To: linux-fbdev
'xoffset' and 'yoffset' are unsigned and hence cannot be less than 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/aty/radeon_base.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c
index 1e30b2b..26d80a4 100644
--- a/drivers/video/aty/radeon_base.c
+++ b/drivers/video/aty/radeon_base.c
@@ -819,11 +819,6 @@ static int radeonfb_check_var (struct fb_var_screeninfo *var, struct fb_info *in
if (v.xres_virtual < v.xres)
v.xres = v.xres_virtual;
- if (v.xoffset < 0)
- v.xoffset = 0;
- if (v.yoffset < 0)
- v.yoffset = 0;
-
if (v.xoffset > v.xres_virtual - v.xres)
v.xoffset = v.xres_virtual - v.xres - 1;
--
1.7.9.5
^ permalink raw reply related
* [PATCH 4/4] video: riva: Remove incorrect checks
From: Sachin Kamat @ 2013-09-25 12:14 UTC (permalink / raw)
To: linux-fbdev
'xoffset' and 'yoffset' are unsigned and hence cannot be less than 0.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/riva/fbdev.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c
index 9536715..a5514ac 100644
--- a/drivers/video/riva/fbdev.c
+++ b/drivers/video/riva/fbdev.c
@@ -1185,11 +1185,6 @@ static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
if (rivafb_do_maximize(info, var, nom, den) < 0)
return -EINVAL;
- if (var->xoffset < 0)
- var->xoffset = 0;
- if (var->yoffset < 0)
- var->yoffset = 0;
-
/* truncate xoffset and yoffset to maximum if too high */
if (var->xoffset > var->xres_virtual - var->xres)
var->xoffset = var->xres_virtual - var->xres - 1;
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH] OMAPDSS: Add missing dependency on backlight for DSI-CM panel drier
From: Jingoo Han @ 2013-09-26 0:59 UTC (permalink / raw)
To: 'Mark Brown', 'Tomi Valkeinen',
'Jean-Christophe Plagniol-Villard'
Cc: linux-fbdev, linux-omap, linaro-kernel, 'Mark Brown',
'Jingoo Han'
In-Reply-To: <1380108661-22702-1-git-send-email-broonie@kernel.org>
On Wednesday, September 25, 2013 8:31 PM, Mark Brown wrote:
>
> From: Mark Brown <broonie@linaro.org>
>
> The DSI-CM driver uses the backlight class so needs to build depend on it.
>
> Signed-off-by: Mark Brown <broonie@linaro.org>
Reviewed-by: Jingoo Han <jg1.han@samsung.com>
I checked that the following build errors are removed.
drivers/video/omap2/displays-new/panel-dsi-cm.c:1257: undefined reference to `backlight_device_register'
drivers/video/omap2/displays-new/panel-dsi-cm.c:1283: undefined reference to `backlight_device_unregister'
drivers/built-in.o: In function `dsicm_remove':
drivers/video/omap2/displays-new/panel-dsi-cm.c:1309: undefined reference to `backlight_device_unregister'
Thank you.
Best regards,
Jingoo Han
> ---
> drivers/video/omap2/displays-new/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/omap2/displays-new/Kconfig b/drivers/video/omap2/displays-new/Kconfig
> index 6c90885..10b25e7 100644
> --- a/drivers/video/omap2/displays-new/Kconfig
> +++ b/drivers/video/omap2/displays-new/Kconfig
> @@ -35,6 +35,7 @@ config DISPLAY_PANEL_DPI
>
> config DISPLAY_PANEL_DSI_CM
> tristate "Generic DSI Command Mode Panel"
> + depends on BACKLIGHT_CLASS_DEVICE
> help
> Driver for generic DSI command mode panels.
>
> --
> 1.8.4.rc3
^ permalink raw reply
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