* [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-01-17 4:44 UTC (permalink / raw)
To: linux-fbdev
Exynos is now a DT only platform. Hence there is no need
for an explicit OF dependency. Remove it.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/exynos/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
index 1129d0e9e640..976594d578a9 100644
--- a/drivers/video/exynos/Kconfig
+++ b/drivers/video/exynos/Kconfig
@@ -30,7 +30,7 @@ config EXYNOS_LCD_S6E8AX0
config EXYNOS_DP
bool "EXYNOS DP driver support"
- depends on OF && ARCH_EXYNOS
+ depends on ARCH_EXYNOS
default n
help
This enables support for DP device.
--
1.7.9.5
^ permalink raw reply related
* [PATCH 2/2] video: exynos: Fix S6E8AX0 LCD driver build error
From: Sachin Kamat @ 2014-01-17 4:44 UTC (permalink / raw)
To: linux-fbdev
Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver.
Else we get the following errors due to missing symbols:
drivers/built-in.o: In function `s6e8ax0_probe':
:(.text+0x51aec): undefined reference to `lcd_device_register'
:(.text+0x51c44): undefined reference to `lcd_device_unregister'
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/exynos/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
index 976594d578a9..7e19b467b8f7 100644
--- a/drivers/video/exynos/Kconfig
+++ b/drivers/video/exynos/Kconfig
@@ -22,7 +22,8 @@ config EXYNOS_MIPI_DSI
config EXYNOS_LCD_S6E8AX0
bool "S6E8AX0 MIPI AMOLED LCD Driver"
- depends on (EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE)
+ depends on EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE
+ depends on (LCD_CLASS_DEVICE != m)
default n
help
If you have an S6E8AX0 MIPI AMOLED LCD Panel, say Y to enable its
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Jingoo Han @ 2014-01-17 4:47 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On Friday, January 17, 2014 1:33 PM, Sachin Kamat wrote:
>
> Exynos is now a DT only platform. Hence there is no need
> for an explicit OF dependency. Remove it.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Jingoo Han <jg1.han@samsung.com>
Thank you for sending the patch. However, please CC me,
because I am a maintainer of Exynos DP driver.
Best regards,
Jingoo Han
> ---
> drivers/video/exynos/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
> index 1129d0e9e640..976594d578a9 100644
> --- a/drivers/video/exynos/Kconfig
> +++ b/drivers/video/exynos/Kconfig
> @@ -30,7 +30,7 @@ config EXYNOS_LCD_S6E8AX0
>
> config EXYNOS_DP
> bool "EXYNOS DP driver support"
> - depends on OF && ARCH_EXYNOS
> + depends on ARCH_EXYNOS
> default n
> help
> This enables support for DP device.
> --
> 1.7.9.5
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-01-17 4:58 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 17 January 2014 10:17, Jingoo Han <jg1.han@samsung.com> wrote:
> On Friday, January 17, 2014 1:33 PM, Sachin Kamat wrote:
>>
>> Exynos is now a DT only platform. Hence there is no need
>> for an explicit OF dependency. Remove it.
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>
> Acked-by: Jingoo Han <jg1.han@samsung.com>
Thanks.
>
> Thank you for sending the patch. However, please CC me,
> because I am a maintainer of Exynos DP driver.
Sorry for missing you on the CC list. I think you probably need to
update the MAINTAINER file
entry to reflect this.
---
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Jingoo Han @ 2014-01-17 5:12 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On Friday, January 17, 2014 1:58 PM, Jingoo Han wrote:
> On 17 January 2014 10:17, Jingoo Han <jg1.han@samsung.com> wrote:
> > On Friday, January 17, 2014 1:33 PM, Sachin Kamat wrote:
> >>
> >> Exynos is now a DT only platform. Hence there is no need
> >> for an explicit OF dependency. Remove it.
> >>
> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> >
> > Acked-by: Jingoo Han <jg1.han@samsung.com>
>
> Thanks.
> >
> > Thank you for sending the patch. However, please CC me,
> > because I am a maintainer of Exynos DP driver.
>
> Sorry for missing you on the CC list. I think you probably need to
> update the MAINTAINER file
> entry to reflect this.
Um, there is no problem in the MAINTAINER file about this.
Maybe, you are confused.
Now, Exynos "DP" and Exynos "MIPI" are separately maintained
as below:
EXYNOS DP DRIVER
M: Jingoo Han <jg1.han@samsung.com>
L: linux-fbdev@vger.kernel.org
S: Maintained
F: drivers/video/exynos/exynos_dp*
F: include/video/exynos_dp*
EXYNOS MIPI DISPLAY DRIVERS
M: Inki Dae <inki.dae@samsung.com>
M: Donghwa Lee <dh09.lee@samsung.com>
M: Kyungmin Park <kyungmin.park@samsung.com>
L: linux-fbdev@vger.kernel.org
S: Maintained
F: drivers/video/exynos/exynos_mipi*
F: include/video/exynos_mipi*
Thus, 2nd patch is related to "MIPI", thus, previous CC list is
right. However, 1st patch is related to only "DP". So, I should
be included to CC list.
Best regards,
Jingoo Han
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-01-17 5:55 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 17 January 2014 10:42, Jingoo Han <jg1.han@samsung.com> wrote:
> On Friday, January 17, 2014 1:58 PM, Jingoo Han wrote:
>> On 17 January 2014 10:17, Jingoo Han <jg1.han@samsung.com> wrote:
>> > On Friday, January 17, 2014 1:33 PM, Sachin Kamat wrote:
>> >>
>> >> Exynos is now a DT only platform. Hence there is no need
>> >> for an explicit OF dependency. Remove it.
>> >>
>> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> >
>> > Acked-by: Jingoo Han <jg1.han@samsung.com>
>>
>> Thanks.
>> >
>> > Thank you for sending the patch. However, please CC me,
>> > because I am a maintainer of Exynos DP driver.
>>
>> Sorry for missing you on the CC list. I think you probably need to
>> update the MAINTAINER file
>> entry to reflect this.
>
> Um, there is no problem in the MAINTAINER file about this.
> Maybe, you are confused.
No confusion from my side :)
The entries below do not list maintainer for the Kconfig file since
you have added specific filters.
Please verify using get_maintainers script.
scripts/get_maintainer.pl -f drivers/video/exynos/Kconfig
This is what it gives (and you are not listed as a maintainer in this case):
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
(maintainer:FRAMEBUFFER LAYER)
Tomi Valkeinen <tomi.valkeinen@ti.com> (maintainer:FRAMEBUFFER
LAYER,commit_signer:1/4%%)
Kukjin Kim <kgene.kim@samsung.com> (maintainer:ARM/S5P EXYNOS AR...)
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (commit_signer:2/4P%)
Kishon Vijay Abraham I <kishon@ti.com> (commit_signer:2/4P%)
Sachin Kamat <sachin.kamat@linaro.org>
(commit_signer:2/4P%,authored:2/4P%,added_lines:3/5`%,removed_lines:2/3g%)
Jingoo Han <jg1.han@samsung.com>
(commit_signer:1/4%%,authored:1/4%%,added_lines:1/5 %,removed_lines:1/33%)
Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
(authored:1/4%%,added_lines:1/5 %)
linux-fbdev@vger.kernel.org (open list:FRAMEBUFFER LAYER)
linux-arm-kernel@lists.infradead.org (moderated list:ARM/S5P EXYNOS AR...)
linux-samsung-soc@vger.kernel.org (moderated list:ARM/S5P EXYNOS AR...)
linux-kernel@vger.kernel.org (open list)
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Jingoo Han @ 2014-01-17 6:07 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On Friday, January 17, 2014 2:44 PM, Sachin Kamat wrote:
> On 17 January 2014 10:42, Jingoo Han <jg1.han@samsung.com> wrote:
> > On Friday, January 17, 2014 1:58 PM, Jingoo Han wrote:
> >> On 17 January 2014 10:17, Jingoo Han <jg1.han@samsung.com> wrote:
> >> > On Friday, January 17, 2014 1:33 PM, Sachin Kamat wrote:
> >> >>
> >> >> Exynos is now a DT only platform. Hence there is no need
> >> >> for an explicit OF dependency. Remove it.
> >> >>
> >> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> >> >
> >> > Acked-by: Jingoo Han <jg1.han@samsung.com>
> >>
> >> Thanks.
> >> >
> >> > Thank you for sending the patch. However, please CC me,
> >> > because I am a maintainer of Exynos DP driver.
> >>
> >> Sorry for missing you on the CC list. I think you probably need to
> >> update the MAINTAINER file
> >> entry to reflect this.
> >
> > Um, there is no problem in the MAINTAINER file about this.
> > Maybe, you are confused.
>
> No confusion from my side :)
> The entries below do not list maintainer for the Kconfig file since
> you have added specific filters.
> Please verify using get_maintainers script.
Ah, I see.
Right, there is no entries for 'drivers/video/exynos/Kconfig'.
Because, this Kconfig file is shared by both "EXYNOS DP DRIVER"
and "EXYNOS MIPI DISPLAY DRIVERS", I did not add it to "EXYNOS
DP DRIVER" entry.
>
> scripts/get_maintainer.pl -f drivers/video/exynos/Kconfig
>
> This is what it gives (and you are not listed as a maintainer in this case):
>
> Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> (maintainer:FRAMEBUFFER LAYER)
> Tomi Valkeinen <tomi.valkeinen@ti.com> (maintainer:FRAMEBUFFER
> LAYER,commit_signer:1/4%%)
> Kukjin Kim <kgene.kim@samsung.com> (maintainer:ARM/S5P EXYNOS AR...)
> Greg Kroah-Hartman <gregkh@linuxfoundation.org> (commit_signer:2/4P%)
> Kishon Vijay Abraham I <kishon@ti.com> (commit_signer:2/4P%)
> Sachin Kamat <sachin.kamat@linaro.org>
> (commit_signer:2/4P%,authored:2/4P%,added_lines:3/5`%,removed_lines:2/3g%)
> Jingoo Han <jg1.han@samsung.com>
> (commit_signer:1/4%%,authored:1/4%%,added_lines:1/5 %,removed_lines:1/33%)
> Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
> (authored:1/4%%,added_lines:1/5 %)
> linux-fbdev@vger.kernel.org (open list:FRAMEBUFFER LAYER)
> linux-arm-kernel@lists.infradead.org (moderated list:ARM/S5P EXYNOS AR...)
> linux-samsung-soc@vger.kernel.org (moderated list:ARM/S5P EXYNOS AR...)
> linux-kernel@vger.kernel.org (open list)
If you have a good idea for get_maintainer.pl, please let me know.
Thank you.
Best regards,
Jingoo Han
^ permalink raw reply
* Re: [PATCH 13/15] fbdev: sh-mobile-lcdcfb: Enable driver compilation with COMPILE_TEST
From: Tomi Valkeinen @ 2014-01-17 9:00 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <52CD0CBB.3070801@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1060 bytes --]
Hi,
On 2014-01-08 10:30, Tomi Valkeinen wrote:
> On 2014-01-07 17:15, Laurent Pinchart wrote:
>> On Wednesday 11 December 2013 13:51:18 Laurent Pinchart wrote:
>>> Hi Jean-Christophe and Tomi,
>>>
>>> Could you please pick this patch up for v3.14 ?
>>
>> Ping ?
>
> Queued for 3.14.
I'll drop this patch, as it causes compile break (from kbuild test robot):
All error/warnings:
drivers/built-in.o: In function `sh_mobile_lcdc_pan':
>> sh_mobile_lcdcfb.c:(.text+0x77373): undefined reference to
`sh_mobile_meram_cache_update'
drivers/built-in.o: In function `sh_mobile_lcdc_start':
>> sh_mobile_lcdcfb.c:(.text+0x79320): undefined reference to
`sh_mobile_meram_cache_free'
>> sh_mobile_lcdcfb.c:(.text+0x79394): undefined reference to
`sh_mobile_meram_cache_alloc'
>> sh_mobile_lcdcfb.c:(.text+0x793d4): undefined reference to
`sh_mobile_meram_cache_update'
drivers/built-in.o: In function `sh_mobile_lcdc_stop':
>> sh_mobile_lcdcfb.c:(.text+0x79616): undefined reference to
`sh_mobile_meram_cache_free'
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Tomi Valkeinen @ 2014-01-17 9:03 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 220 bytes --]
On 2014-01-17 06:32, Sachin Kamat wrote:
> Exynos is now a DT only platform. Hence there is no need
> for an explicit OF dependency. Remove it.
Is Exynos a DT-only platform in v3.13? Or only in v3.14?
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-01-17 9:33 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 17 January 2014 14:33, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 2014-01-17 06:32, Sachin Kamat wrote:
>> Exynos is now a DT only platform. Hence there is no need
>> for an explicit OF dependency. Remove it.
>
> Is Exynos a DT-only platform in v3.13? Or only in v3.14?
It has been so since v3.11.
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH 2/2] video: exynos: Fix S6E8AX0 LCD driver build error
From: Tomi Valkeinen @ 2014-01-17 10:22 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-2-git-send-email-sachin.kamat@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 1144 bytes --]
On 2014-01-17 06:32, Sachin Kamat wrote:
> Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver.
> Else we get the following errors due to missing symbols:
> drivers/built-in.o: In function `s6e8ax0_probe':
> :(.text+0x51aec): undefined reference to `lcd_device_register'
> :(.text+0x51c44): undefined reference to `lcd_device_unregister'
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> ---
> drivers/video/exynos/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
> index 976594d578a9..7e19b467b8f7 100644
> --- a/drivers/video/exynos/Kconfig
> +++ b/drivers/video/exynos/Kconfig
> @@ -22,7 +22,8 @@ config EXYNOS_MIPI_DSI
>
> config EXYNOS_LCD_S6E8AX0
> bool "S6E8AX0 MIPI AMOLED LCD Driver"
> - depends on (EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE)
> + depends on EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE
> + depends on (LCD_CLASS_DEVICE != m)
Hmm, doesn't that say that LCD_CLASS_DEVICE can be y or n (i.e. != m),
so it could be disabled also?
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* [PATCH v2] video: exynos: Fix S6E8AX0 LCD driver build error
From: Sachin Kamat @ 2014-01-17 11:12 UTC (permalink / raw)
To: linux-fbdev
Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver.
Else we get the following errors due to missing symbols:
drivers/built-in.o: In function `s6e8ax0_probe':
:(.text+0x51aec): undefined reference to `lcd_device_register'
:(.text+0x51c44): undefined reference to `lcd_device_unregister'
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/exynos/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
index 976594d578a9..eb6f2b059821 100644
--- a/drivers/video/exynos/Kconfig
+++ b/drivers/video/exynos/Kconfig
@@ -22,7 +22,8 @@ config EXYNOS_MIPI_DSI
config EXYNOS_LCD_S6E8AX0
bool "S6E8AX0 MIPI AMOLED LCD Driver"
- depends on (EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE)
+ depends on EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE
+ depends on (LCD_CLASS_DEVICE = y)
default n
help
If you have an S6E8AX0 MIPI AMOLED LCD Panel, say Y to enable its
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH 2/2] video: exynos: Fix S6E8AX0 LCD driver build error
From: Sachin Kamat @ 2014-01-17 11:13 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-2-git-send-email-sachin.kamat@linaro.org>
On 17 January 2014 15:52, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 2014-01-17 06:32, Sachin Kamat wrote:
>> Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver.
>> Else we get the following errors due to missing symbols:
>> drivers/built-in.o: In function `s6e8ax0_probe':
>> :(.text+0x51aec): undefined reference to `lcd_device_register'
>> :(.text+0x51c44): undefined reference to `lcd_device_unregister'
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> ---
>> drivers/video/exynos/Kconfig | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig
>> index 976594d578a9..7e19b467b8f7 100644
>> --- a/drivers/video/exynos/Kconfig
>> +++ b/drivers/video/exynos/Kconfig
>> @@ -22,7 +22,8 @@ config EXYNOS_MIPI_DSI
>>
>> config EXYNOS_LCD_S6E8AX0
>> bool "S6E8AX0 MIPI AMOLED LCD Driver"
>> - depends on (EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE && LCD_CLASS_DEVICE)
>> + depends on EXYNOS_MIPI_DSI && BACKLIGHT_CLASS_DEVICE
>> + depends on (LCD_CLASS_DEVICE != m)
>
> Hmm, doesn't that say that LCD_CLASS_DEVICE can be y or n (i.e. != m),
> so it could be disabled also?
Yes you are right. Not sure how I got it right while testing. Thanks
for catching.
It should just be (LCD_CLASS_DEVICE = y).
Will resend.
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH v2] backlight: Convert from Legacy pm ops to dev_pm_ops
From: Rafael J. Wysocki @ 2014-01-19 15:37 UTC (permalink / raw)
To: Shuah Khan
Cc: rpurdie, FlorianSchandinat, plagnioj, tomi.valkeinen,
rafael.j.wysocki, linux-fbdev, linux-kernel, shuahkhan
In-Reply-To: <2236505237-3336-1-git-send-email-shuah.kh@samsung.com>
On Wednesday, November 14, 2040 04:27:17 AM Shuah Khan wrote:
> Convert drivers/video/backlight/class to use dev_pm_ops for power
> management and remove Legacy PM ops hooks. With this change, rtc class
> registers suspend/resume callbacks via class->pm (dev_pm_ops) instead of
> Legacy class->suspend/resume. When __device_suspend() runs call-backs,
> it will find class->pm ops for the backlight class.
>
> Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
> Cc: Shuah Khan <shuahkhan@gmail.com>
Can you please resend the patches that nobody took with CCs to
linux-pm@vger.kernel.org? If the original maintainers don't care, I'll be
able to pick those patches up then (if they look good).
Thanks!
> ---
>
> v2: Updated changelog to correct device class.
>
> drivers/video/backlight/backlight.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
> index c74e7aa..0ffb251 100644
> --- a/drivers/video/backlight/backlight.c
> +++ b/drivers/video/backlight/backlight.c
> @@ -208,7 +208,7 @@ static ssize_t backlight_show_actual_brightness(struct device *dev,
>
> static struct class *backlight_class;
>
> -static int backlight_suspend(struct device *dev, pm_message_t state)
> +static int backlight_suspend(struct device *dev)
> {
> struct backlight_device *bd = to_backlight_device(dev);
>
> @@ -236,6 +236,9 @@ static int backlight_resume(struct device *dev)
> return 0;
> }
>
> +static SIMPLE_DEV_PM_OPS(backlight_class_dev_pm_ops, backlight_suspend,
> + backlight_resume);
> +
> static void bl_device_release(struct device *dev)
> {
> struct backlight_device *bd = to_backlight_device(dev);
> @@ -414,8 +417,7 @@ static int __init backlight_class_init(void)
> }
>
> backlight_class->dev_attrs = bl_device_attributes;
> - backlight_class->suspend = backlight_suspend;
> - backlight_class->resume = backlight_resume;
> + backlight_class->pm = &backlight_class_dev_pm_ops;
> return 0;
> }
>
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
^ permalink raw reply
* Re: [PATCH 13/15] fbdev: sh-mobile-lcdcfb: Enable driver compilation with COMPILE_TEST
From: Laurent Pinchart @ 2014-01-19 21:01 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <52D8F14A.7030100@ti.com>
[-- Attachment #1: Type: text/plain, Size: 1663 bytes --]
Hi Tomi,
On Friday 17 January 2014 11:00:58 Tomi Valkeinen wrote:
> Hi,
>
> On 2014-01-08 10:30, Tomi Valkeinen wrote:
> > On 2014-01-07 17:15, Laurent Pinchart wrote:
> >> On Wednesday 11 December 2013 13:51:18 Laurent Pinchart wrote:
> >>> Hi Jean-Christophe and Tomi,
> >>>
> >>> Could you please pick this patch up for v3.14 ?
> >>
> >> Ping ?
> >
> > Queued for 3.14.
>
> I'll drop this patch, as it causes compile break (from kbuild test robot):
>
> All error/warnings:
>
> drivers/built-in.o: In function `sh_mobile_lcdc_pan':
> >> sh_mobile_lcdcfb.c:(.text+0x77373): undefined reference to
> `sh_mobile_meram_cache_update'
> drivers/built-in.o: In function `sh_mobile_lcdc_start':
> >> sh_mobile_lcdcfb.c:(.text+0x79320): undefined reference to
> `sh_mobile_meram_cache_free'
> >> sh_mobile_lcdcfb.c:(.text+0x79394): undefined reference to
> `sh_mobile_meram_cache_alloc'
> >> sh_mobile_lcdcfb.c:(.text+0x793d4): undefined reference to
> `sh_mobile_meram_cache_update'
> drivers/built-in.o: In function `sh_mobile_lcdc_stop':
> >> sh_mobile_lcdcfb.c:(.text+0x79616): undefined reference to
> `sh_mobile_meram_cache_free'
The lcdc driver can be compiled without meram support. This is handled by
conditional compilation in include/video/sh_mobile_meram.h that defines the
meram functions as stubs when meram support isn't selected.
The problem comes from the combination of FB_SH_MOBILE_MERAM=m and
FB_SH_MOBILE_LCDC=y. The former makes the meram function non-stubs, while the
later makes the LCDC driver fail to link, as meram support is then compiled as
a module.
How do you usually handle this ?
--
Regards,
Laurent Pinchart
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply
* Re: [PATCH v2] backlight: Convert from Legacy pm ops to dev_pm_ops
From: Jingoo Han @ 2014-01-20 1:34 UTC (permalink / raw)
To: 'Rafael J. Wysocki', 'Shuah Khan'
Cc: 'Richard Purdie', 'Florian Tobias Schandinat',
'Jean-Christophe PLAGNIOL-VILLARD',
'Tomi Valkeinen', 'Rafael J. Wysocki',
linux-fbdev, linux-kernel, 'Shuah Khan',
'Jingoo Han'
In-Reply-To: <15798389.lgk83XnI1i@vostro.rjw.lan>
On Monday, January 20, 2014 12:37 AM, Rafael J. Wysocki wrote:
> On Wednesday, November 14, 2040 04:27:17 AM Shuah Khan wrote:
> > Convert drivers/video/backlight/class to use dev_pm_ops for power
> > management and remove Legacy PM ops hooks. With this change, rtc class
> > registers suspend/resume callbacks via class->pm (dev_pm_ops) instead of
> > Legacy class->suspend/resume. When __device_suspend() runs call-backs,
> > it will find class->pm ops for the backlight class.
> >
> > Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
> > Cc: Shuah Khan <shuahkhan@gmail.com>
>
> Can you please resend the patches that nobody took with CCs to
> linux-pm@vger.kernel.org? If the original maintainers don't care, I'll be
> able to pick those patches up then (if they look good).
I already gave the comment, and am waiting v3 patch.
However, Shuah Khan did not send the v3 patch yet.
Currently, backlight subsystem patches go through mm-tree
With my acked-by.
Shuah Khan,
Will you send the v3 patch? As I said, there is the typo in
commit message. Please fix it.
s/rtc class/backlight class
Best regards,
Jingoo Han
> > ---
> >
> > v2: Updated changelog to correct device class.
> >
> > drivers/video/backlight/backlight.c | 8 +++++---
> > 1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
> > index c74e7aa..0ffb251 100644
> > --- a/drivers/video/backlight/backlight.c
> > +++ b/drivers/video/backlight/backlight.c
> > @@ -208,7 +208,7 @@ static ssize_t backlight_show_actual_brightness(struct device *dev,
> >
> > static struct class *backlight_class;
> >
> > -static int backlight_suspend(struct device *dev, pm_message_t state)
> > +static int backlight_suspend(struct device *dev)
> > {
> > struct backlight_device *bd = to_backlight_device(dev);
> >
> > @@ -236,6 +236,9 @@ static int backlight_resume(struct device *dev)
> > return 0;
> > }
> >
> > +static SIMPLE_DEV_PM_OPS(backlight_class_dev_pm_ops, backlight_suspend,
> > + backlight_resume);
> > +
> > static void bl_device_release(struct device *dev)
> > {
> > struct backlight_device *bd = to_backlight_device(dev);
> > @@ -414,8 +417,7 @@ static int __init backlight_class_init(void)
> > }
> >
> > backlight_class->dev_attrs = bl_device_attributes;
> > - backlight_class->suspend = backlight_suspend;
> > - backlight_class->resume = backlight_resume;
> > + backlight_class->pm = &backlight_class_dev_pm_ops;
> > return 0;
> > }
> >
> >
^ permalink raw reply
* Re: [PATCH v2 0/4] video: mmp: add device tree suppport
From: Zhou Zhu @ 2014-01-20 1:58 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Zhou Zhu, linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jean-Christophe Plagniol-Villard, Haojian Zhuang, Sascha Hauer,
Jingoo Han, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Chao Xie, Guoqing Li
In-Reply-To: <1389698184-28761-1-git-send-email-zzhu3-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
Hi, Tomi,
Looks there's no more comment now.
Would you please help to review this patch set and apply it also for
3.14 if possible?
Thank you very much!
On 01/14/2014 07:16 PM, Zhou Zhu wrote:
> This patch set is to add device tree support for mmp_disp.
> patch 1/2 are to remove clk_name configure in mach_info before.
> patch 3/4 are to add device tree support.
>
> change of v2:
> add patch to remove config of clk_name in mach_info
> use phandle to get path.
> runtime decision of dt usage.
> clean up to use node name directly.
>
> Zhou Zhu (4):
> arm: mmp: remove not used disp clk_name in ttc_dkb
> video: mmp: no need to get clk_name from mach_info
> video: mmp: add devm_mmp_get_path_by_phandle for DT
> video: mmp: add device tree support
>
> Documentation/devicetree/bindings/fb/mmp-disp.txt | 60 ++++++++
> arch/arm/mach-mmp/ttc_dkb.c | 1 -
> drivers/video/mmp/core.c | 35 +++++
> drivers/video/mmp/fb/mmpfb.c | 73 ++++++----
> drivers/video/mmp/hw/mmp_ctrl.c | 154 ++++++++++++++++-----
> include/video/mmp_disp.h | 3 +-
> 6 files changed, 268 insertions(+), 58 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/fb/mmp-disp.txt
>
--
Thanks, -Zhou
^ permalink raw reply
* [PATCH v2] backlight: turn backlight on/off when necessary
From: Liu Ying @ 2014-01-20 5:47 UTC (permalink / raw)
To: jg1.han; +Cc: linux-fbdev, linux-kernel, dri-devel, plagnioj, tomi.valkeinen
We don't have to turn backlight on/off everytime a blanking
or unblanking event comes because the backlight status may
have already been what we want. Another thought is that one
backlight device may be shared by multiple framebuffers. We
don't hope blanking one of the framebuffers may turn the
backlight off for all the other framebuffers, since they are
likely being active to display something. This patch adds
some logics to record each framebuffer's backlight usage to
determine the backlight device use count and whether the
backlight should be turned on or off. To be more specific,
only one unblank operation on a certain blanked framebuffer
may increase the backlight device's use count by one, while
one blank operation on a certain unblanked framebuffer may
decrease the use count by one, because the userspace is
likely to unblank a unblanked framebuffer or blank a blanked
framebuffer.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
---
v1 can be found at https://lkml.org/lkml/2013/5/30/139
v1->v2:
* Make the commit message be more specific about the condition
in which backlight device use count can be increased/decreased.
* Correct the setting for bd->props.fb_blank.
drivers/video/backlight/backlight.c | 28 +++++++++++++++++++++-------
include/linux/backlight.h | 6 ++++++
2 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 5d05555..42044be 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -34,13 +34,15 @@ static const char *const backlight_types[] = {
defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE))
/* This callback gets called when something important happens inside a
* framebuffer driver. We're looking if that important event is blanking,
- * and if it is, we're switching backlight power as well ...
+ * and if it is and necessary, we're switching backlight power as well ...
*/
static int fb_notifier_callback(struct notifier_block *self,
unsigned long event, void *data)
{
struct backlight_device *bd;
struct fb_event *evdata = data;
+ int node = evdata->info->node;
+ int fb_blank = 0;
/* If we aren't interested in this event, skip it immediately ... */
if (event != FB_EVENT_BLANK && event != FB_EVENT_CONBLANK)
@@ -51,12 +53,24 @@ static int fb_notifier_callback(struct notifier_block *self,
if (bd->ops)
if (!bd->ops->check_fb ||
bd->ops->check_fb(bd, evdata->info)) {
- bd->props.fb_blank = *(int *)evdata->data;
- if (bd->props.fb_blank = FB_BLANK_UNBLANK)
- bd->props.state &= ~BL_CORE_FBBLANK;
- else
- bd->props.state |= BL_CORE_FBBLANK;
- backlight_update_status(bd);
+ fb_blank = *(int *)evdata->data;
+ if (fb_blank = FB_BLANK_UNBLANK &&
+ !bd->fb_bl_on[node]) {
+ bd->fb_bl_on[node] = true;
+ if (!bd->use_count++) {
+ bd->props.state &= ~BL_CORE_FBBLANK;
+ bd->props.fb_blank = FB_BLANK_UNBLANK;
+ backlight_update_status(bd);
+ }
+ } else if (fb_blank != FB_BLANK_UNBLANK &&
+ bd->fb_bl_on[node]) {
+ bd->fb_bl_on[node] = false;
+ if (!(--bd->use_count)) {
+ bd->props.state |= BL_CORE_FBBLANK;
+ bd->props.fb_blank = FB_BLANK_POWERDOWN;
+ backlight_update_status(bd);
+ }
+ }
}
mutex_unlock(&bd->ops_lock);
return 0;
diff --git a/include/linux/backlight.h b/include/linux/backlight.h
index 5f9cd96..7264742 100644
--- a/include/linux/backlight.h
+++ b/include/linux/backlight.h
@@ -9,6 +9,7 @@
#define _LINUX_BACKLIGHT_H
#include <linux/device.h>
+#include <linux/fb.h>
#include <linux/mutex.h>
#include <linux/notifier.h>
@@ -104,6 +105,11 @@ struct backlight_device {
struct list_head entry;
struct device dev;
+
+ /* Multiple framebuffers may share one backlight device */
+ bool fb_bl_on[FB_MAX];
+
+ int use_count;
};
static inline void backlight_update_status(struct backlight_device *bd)
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH 13/15] fbdev: sh-mobile-lcdcfb: Enable driver compilation with COMPILE_TEST
From: Tomi Valkeinen @ 2014-01-20 11:21 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <22423852.GiH1NBjiii@avalon>
[-- Attachment #1: Type: text/plain, Size: 677 bytes --]
On 2014-01-19 23:01, Laurent Pinchart wrote:
> Hi Tomi,
> The lcdc driver can be compiled without meram support. This is handled by
> conditional compilation in include/video/sh_mobile_meram.h that defines the
> meram functions as stubs when meram support isn't selected.
>
> The problem comes from the combination of FB_SH_MOBILE_MERAM=m and
> FB_SH_MOBILE_LCDC=y. The former makes the meram function non-stubs, while the
> later makes the LCDC driver fail to link, as meram support is then compiled as
> a module.
>
> How do you usually handle this ?
I guess the easiest option is to make FB_SH_MOBILE_MERAM a bool, instead
of tristate.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH v2] backlight: Convert from Legacy pm ops to dev_pm_ops
From: Shuah Khan @ 2014-01-20 15:27 UTC (permalink / raw)
To: Jingoo Han, 'Rafael J. Wysocki'
Cc: 'Richard Purdie', 'Florian Tobias Schandinat',
'Jean-Christophe PLAGNIOL-VILLARD',
'Tomi Valkeinen', 'Rafael J. Wysocki',
linux-fbdev, linux-kernel, 'Shuah Khan', Shuah Khan
In-Reply-To: <001f01cf157f$ca2e8530$5e8b8f90$%han@samsung.com>
On 01/19/2014 06:34 PM, Jingoo Han wrote:
> On Monday, January 20, 2014 12:37 AM, Rafael J. Wysocki wrote:
>> On Wednesday, November 14, 2040 04:27:17 AM Shuah Khan wrote:
>>> Convert drivers/video/backlight/class to use dev_pm_ops for power
>>> management and remove Legacy PM ops hooks. With this change, rtc class
>>> registers suspend/resume callbacks via class->pm (dev_pm_ops) instead of
>>> Legacy class->suspend/resume. When __device_suspend() runs call-backs,
>>> it will find class->pm ops for the backlight class.
>>>
>>> Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
>>> Cc: Shuah Khan <shuahkhan@gmail.com>
>>
>> Can you please resend the patches that nobody took with CCs to
>> linux-pm@vger.kernel.org? If the original maintainers don't care, I'll be
>> able to pick those patches up then (if they look good).
>
> I already gave the comment, and am waiting v3 patch.
> However, Shuah Khan did not send the v3 patch yet.
>
> Currently, backlight subsystem patches go through mm-tree
> With my acked-by.
>
> Shuah Khan,
> Will you send the v3 patch? As I said, there is the typo in
> commit message. Please fix it.
> s/rtc class/backlight class
>
Rafael/Jingoo Han,
I did send the v3 patch with the typo fixed. Here is the link:
http://lkml.indiana.edu/hypermail/linux/kernel/1306.0/00219.html
This is a while back. I will rebase and res-test and send it.
thanks,
-- Shuah
--
Shuah Khan
Senior Linux Kernel Developer - Open Source Group
Samsung Research America(Silicon Valley)
shuah.kh@samsung.com | (970) 672-0658
^ permalink raw reply
* Re: [PATCH 13/15] fbdev: sh-mobile-lcdcfb: Enable driver compilation with COMPILE_TEST
From: Laurent Pinchart @ 2014-01-20 15:30 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <52DD06CB.8050606@ti.com>
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
Hi Tomi,
On Monday 20 January 2014 13:21:47 Tomi Valkeinen wrote:
> On 2014-01-19 23:01, Laurent Pinchart wrote:
> > Hi Tomi,
> >
> > The lcdc driver can be compiled without meram support. This is handled by
> > conditional compilation in include/video/sh_mobile_meram.h that defines
> > the
> > meram functions as stubs when meram support isn't selected.
> >
> > The problem comes from the combination of FB_SH_MOBILE_MERAM=m and
> > FB_SH_MOBILE_LCDC=y. The former makes the meram function non-stubs, while
> > the later makes the LCDC driver fail to link, as meram support is then
> > compiled as a module.
> >
> > How do you usually handle this ?
>
> I guess the easiest option is to make FB_SH_MOBILE_MERAM a bool, instead
> of tristate.
That's easy, but it would prevent meram support from being compiled as a
module when lcdc support is compiled as a module as well.
--
Regards,
Laurent Pinchart
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply
* [PATCH] fbcon: Clean up fbcon data in fb_info on FB_EVENT_FB_UNBIND with 0 fbs
From: Keith Packard @ 2014-01-20 21:31 UTC (permalink / raw)
To: linux-kernel, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
linux-fbdev
Cc: Keith Packard
In-Reply-To: <1387498677-25653-1-git-send-email-keithp@keithp.com>
When FB_EVENT_FB_UNBIND is sent, fbcon has two paths, one path taken
when there is another frame buffer to switch any affected vcs to and
another path when there isn't.
In the case where there is another frame buffer to use,
fbcon_fb_unbind calls set_con2fb_map to remap all of the affected vcs
to the replacement frame buffer. set_con2fb_map will eventually call
con2fb_release_oldinfo when the last vcs gets unmapped from the old
frame buffer.
con2fb_release_oldinfo frees the fbcon data that is hooked off of the
fb_info structure, including the cursor timer.
In the case where there isn't another frame buffer to use,
fbcon_fb_unbind simply calls fbcon_unbind, which doesn't clear the
con2fb_map or free the fbcon data hooked from the fb_info
structure. In particular, it doesn't stop the cursor blink timer. When
the fb_info structure is then freed, we end up with a timer queue
pointing into freed memory and "bad things" start happening.
This patch first changes con2fb_release_oldinfo so that it can take a
NULL pointer for the new frame buffer, but still does all of the
deallocation and cursor timer cleanup.
Finally, the patch tries to replicate some of what set_con2fb_map does
by clearing the con2fb_map for the affected vcs and calling the
modified con2fb_release_info function to clean up the fb_info structure.
Signed-off-by: Keith Packard <keithp@keithp.com>
---
drivers/video/console/fbcon.c | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index cd8a802..9297a9b 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -759,7 +759,7 @@ static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
newinfo in an undefined state. Thus, a call to
fb_set_par() may be needed for the newinfo.
*/
- if (newinfo->fbops->fb_set_par) {
+ if (newinfo && newinfo->fbops->fb_set_par) {
ret = newinfo->fbops->fb_set_par(newinfo);
if (ret)
@@ -3028,8 +3028,31 @@ static int fbcon_fb_unbind(int idx)
if (con2fb_map[i] = idx)
set_con2fb_map(i, new_idx, 0);
}
- } else
+ } else {
+ struct fb_info *info = registered_fb[idx];
+
+ /* This is sort of like set_con2fb_map, except it maps
+ * the consoles to no device and then releases the
+ * oldinfo to free memory and cancel the cursor blink
+ * timer. I can imagine this just becoming part of
+ * set_con2fb_map where new_idx is -1
+ */
+ for (i = first_fb_vc; i <= last_fb_vc; i++) {
+ if (con2fb_map[i] = idx) {
+ con2fb_map[i] = -1;
+ if (!search_fb_in_map(idx)) {
+ ret = con2fb_release_oldinfo(vc_cons[i].d,
+ info, NULL, i,
+ idx, 0);
+ if (ret) {
+ con2fb_map[i] = idx;
+ return ret;
+ }
+ }
+ }
+ }
ret = fbcon_unbind();
+ }
return ret;
}
--
1.8.5.2
^ permalink raw reply related
* [PATCHv3 00/41] OMAPDSS: DT support v3
From: Tomi Valkeinen @ 2014-01-21 10:56 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Here's version 3 of the DSS DT series.
The previous version can be found from:
v1: http://permalink.gmane.org/gmane.linux.ports.arm.omap/108249
v2: http://permalink.gmane.org/gmane.linux.ports.arm.omap/108866
The main changes to v2 are:
- DT Binding documentation
- OMAP2 DSS support
- Split DSI register space
- DSS nodes disabled by default
- Hack to have generic DT bindings but OMAP specific drivers (for now)
This series can also be found from:
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git work/dss-dt-review-3
Tomi
Javier Martinez Canillas (1):
ARM: omap3-igep0020.dts: add display information
Sebastian Reichel (1):
OMAPDSS: acx565akm: Add DT support
Tomi Valkeinen (39):
ARM: OMAP2+: add omapdss_init_of()
ARM: OMAP2+: DT 'compatible' tweak for displays
OMAPDSS: add 'label' support for DT
OMAPDSS: get dssdev->alias from DT alias
OMAPFB: clean up default display search
OMAPFB: search for default display with DT alias
OMAPDSS: add of helpers
OMAPDSS: Improve regulator names for DT
OMAPDSS: Add DT support to DSS
OMAPDSS: Add DT support to DISPC
OMAPDSS: Add DT support to HDMI
OMAPDSS: Add DT support to VENC
OMAPDSS: Add DT support to DSI
OMAPDSS: panel-dsi-cm: Add DT support
OMAPDSS: encoder-tfp410: Add DT support
OMAPDSS: connector-dvi: Add DT support
OMAPDSS: encoder-tpd12s015: Add DT support
OMAPDSS: hdmi-connector: Add DT support
OMAPDSS: panel-dpi: Add DT support
OMAPDSS: connector-analog-tv: Add DT support
ARM: omap2.dtsi: add omapdss information
ARM: omap3.dtsi: add omapdss information
ARM: omap4.dtsi: add omapdss information
ARM: omap4-panda.dts: add display information
ARM: omap4-sdp.dts: add display information
ARM: omap3-beagle.dts: add display information
ARM: omap3-beagle-xm.dts: add display information
ARM: omap3-n900.dts: add display information
OMAPDSS: remove DT hacks for regulators
ARM: OMAP2+: remove pdata quirks for displays
Doc/DT: Add OMAP DSS DT Bindings
Doc/DT: Add DT binding documentation for Analog TV Connector
Doc/DT: Add DT binding documentation for DVI Connector
Doc/DT: Add DT binding documentation for HDMI Connector
Doc/DT: Add DT binding documentation for MIPI DPI Panel
Doc/DT: Add DT binding documentation for MIPI DSI CM Panel
Doc/DT: Add DT binding documentation for Sony acx565akm panel
Doc/DT: Add DT binding documentation for TFP410 encoder
Doc/DT: Add DT binding documentation for tpd12s015 encoder
.../bindings/video/analog-tv-connector.txt | 23 +++
.../devicetree/bindings/video/dvi-connector.txt | 26 +++
.../devicetree/bindings/video/hdmi-connector.txt | 23 +++
.../devicetree/bindings/video/panel-dpi.txt | 43 ++++
.../devicetree/bindings/video/panel-dsi-cm.txt | 26 +++
.../devicetree/bindings/video/sony,acx565akm.txt | 28 +++
.../devicetree/bindings/video/ti,omap-dss.txt | 197 ++++++++++++++++++
.../devicetree/bindings/video/ti,omap2-dss.txt | 54 +++++
.../devicetree/bindings/video/ti,omap3-dss.txt | 73 +++++++
.../devicetree/bindings/video/ti,omap4-dss.txt | 99 +++++++++
.../devicetree/bindings/video/ti,tfp410.txt | 41 ++++
.../devicetree/bindings/video/ti,tpd12s015.txt | 44 ++++
.../devicetree/bindings/video/video-ports.txt | 22 ++
arch/arm/boot/dts/omap2.dtsi | 31 +++
arch/arm/boot/dts/omap3-beagle-xm.dts | 119 +++++++++++
arch/arm/boot/dts/omap3-beagle.dts | 116 +++++++++++
arch/arm/boot/dts/omap3-igep0020.dts | 59 +++++-
arch/arm/boot/dts/omap3-n900.dts | 70 ++++++-
arch/arm/boot/dts/omap3.dtsi | 42 ++++
arch/arm/boot/dts/omap4-panda-common.dtsi | 119 ++++++++++-
arch/arm/boot/dts/omap4-sdp.dts | 107 +++++++++-
arch/arm/boot/dts/omap4.dtsi | 65 ++++++
arch/arm/mach-omap2/board-generic.c | 4 +
arch/arm/mach-omap2/common.h | 3 +
arch/arm/mach-omap2/display.c | 132 ++++++++++++
arch/arm/mach-omap2/dss-common.c | 224 ---------------------
arch/arm/mach-omap2/pdata-quirks.c | 3 -
.../video/omap2/displays-new/connector-analog-tv.c | 43 +++-
drivers/video/omap2/displays-new/connector-dvi.c | 43 ++++
drivers/video/omap2/displays-new/connector-hdmi.c | 30 +++
drivers/video/omap2/displays-new/encoder-tfp410.c | 43 +++-
.../video/omap2/displays-new/encoder-tpd12s015.c | 56 ++++++
drivers/video/omap2/displays-new/panel-dpi.c | 64 +++++-
drivers/video/omap2/displays-new/panel-dsi-cm.c | 65 +++++-
.../omap2/displays-new/panel-sony-acx565akm.c | 33 ++-
drivers/video/omap2/dss/Makefile | 2 +-
drivers/video/omap2/dss/dispc.c | 8 +
drivers/video/omap2/dss/display.c | 28 ++-
drivers/video/omap2/dss/dpi.c | 47 +++++
drivers/video/omap2/dss/dsi.c | 147 +++++++++++++-
drivers/video/omap2/dss/dss-of.c | 159 +++++++++++++++
drivers/video/omap2/dss/dss.c | 64 ++++++
drivers/video/omap2/dss/dss.h | 6 +
drivers/video/omap2/dss/hdmi4.c | 14 +-
drivers/video/omap2/dss/sdi.c | 45 +++++
drivers/video/omap2/dss/venc.c | 66 +++++-
drivers/video/omap2/omapfb/omapfb-main.c | 67 ++++--
include/video/omapdss.h | 14 ++
48 files changed, 2550 insertions(+), 287 deletions(-)
create mode 100644 Documentation/devicetree/bindings/video/analog-tv-connector.txt
create mode 100644 Documentation/devicetree/bindings/video/dvi-connector.txt
create mode 100644 Documentation/devicetree/bindings/video/hdmi-connector.txt
create mode 100644 Documentation/devicetree/bindings/video/panel-dpi.txt
create mode 100644 Documentation/devicetree/bindings/video/panel-dsi-cm.txt
create mode 100644 Documentation/devicetree/bindings/video/sony,acx565akm.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,omap-dss.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,omap2-dss.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,omap3-dss.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,omap4-dss.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,tfp410.txt
create mode 100644 Documentation/devicetree/bindings/video/ti,tpd12s015.txt
create mode 100644 Documentation/devicetree/bindings/video/video-ports.txt
create mode 100644 drivers/video/omap2/dss/dss-of.c
--
1.8.3.2
^ permalink raw reply
* [PATCHv3 01/41] ARM: OMAP2+: add omapdss_init_of()
From: Tomi Valkeinen @ 2014-01-21 10:56 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1390301833-24944-1-git-send-email-tomi.valkeinen@ti.com>
omapdss driver uses a omapdss platform device to pass platform specific
function pointers and DSS hardware version from the arch code to the
driver. This device is needed also when booting with DT.
This patch adds omapdss_init_of() function, called from board-generic at
init time, which creates the omapdss device.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-generic.c | 2 +
arch/arm/mach-omap2/common.h | 2 +
arch/arm/mach-omap2/display.c | 76 +++++++++++++++++++++++++++++++++++++
3 files changed, 80 insertions(+)
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 8d972ff18c56..842e4f21ab09 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -36,6 +36,8 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
static void __init omap_generic_init(void)
{
pdata_quirks_init(omap_dt_match_table);
+
+ omapdss_init_of();
}
#ifdef CONFIG_SOC_OMAP2420
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index e30ef6797c63..04a4d360dd20 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -307,5 +307,7 @@ extern int omap_dss_reset(struct omap_hwmod *);
/* SoC specific clock initializer */
extern int (*omap_clk_init)(void);
+int __init omapdss_init_of(void);
+
#endif /* __ASSEMBLER__ */
#endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 4cf165502b35..77cd927e5acb 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -23,6 +23,8 @@
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/delay.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
#include <video/omapdss.h>
#include "omap_hwmod.h"
@@ -552,3 +554,77 @@ int omap_dss_reset(struct omap_hwmod *oh)
return r;
}
+
+int __init omapdss_init_of(void)
+{
+ int r;
+ enum omapdss_version ver;
+ struct device_node *node;
+
+ static struct omap_dss_board_info board_data = {
+ .dsi_enable_pads = omap_dsi_enable_pads,
+ .dsi_disable_pads = omap_dsi_disable_pads,
+ .get_context_loss_count = omap_pm_get_dev_context_loss_count,
+ .set_min_bus_tput = omap_dss_set_min_bus_tput,
+ };
+
+ /* only create dss helper devices if dss is enabled in the .dts */
+
+ node = of_find_compatible_node(NULL, NULL, "ti,omap2-dss");
+ if (!node)
+ node = of_find_compatible_node(NULL, NULL, "ti,omap3-dss");
+ if (!node)
+ node = of_find_compatible_node(NULL, NULL, "ti,omap4-dss");
+ if (!node)
+ return 0;
+
+ if (!of_device_is_available(node))
+ return 0;
+
+ ver = omap_display_get_version();
+
+ if (ver = OMAPDSS_VER_UNKNOWN) {
+ pr_err("DSS not supported on this SoC\n");
+ return -ENODEV;
+ }
+
+ board_data.version = ver;
+
+ omap_display_device.dev.platform_data = &board_data;
+
+ r = platform_device_register(&omap_display_device);
+ if (r < 0) {
+ pr_err("Unable to register omapdss device\n");
+ return r;
+ }
+
+ /* create DRM device */
+ r = omap_init_drm();
+ if (r < 0) {
+ pr_err("Unable to register omapdrm device\n");
+ return r;
+ }
+
+ /* create vrfb device */
+ r = omap_init_vrfb();
+ if (r < 0) {
+ pr_err("Unable to register omapvrfb device\n");
+ return r;
+ }
+
+ /* create FB device */
+ r = omap_init_fb();
+ if (r < 0) {
+ pr_err("Unable to register omapfb device\n");
+ return r;
+ }
+
+ /* create V4L2 display device */
+ r = omap_init_vout();
+ if (r < 0) {
+ pr_err("Unable to register omap_vout device\n");
+ return r;
+ }
+
+ return 0;
+}
--
1.8.3.2
^ permalink raw reply related
* [PATCHv3 02/41] ARM: OMAP2+: DT 'compatible' tweak for displays
From: Tomi Valkeinen @ 2014-01-21 10:56 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1390301833-24944-1-git-send-email-tomi.valkeinen@ti.com>
As there is no common panel framework in the kernel, we have OMAP
specific panel drivers. However, the DT data should be generic. This
brings the issue that some other platform could use the same panels, and
would need to create a driver with the same 'compatible' string as the
OMAP driver.
In the long run, we have to get a common panel framework. For the time
being, this patch solves the issue:
At early boot time, we go through the DT nodes looking for the panels
the kernel supports for OMAP. For each found node, the 'compatible'
string is prepended with "omapdss,", i.e. "sony,acx565akm" becomes
"omapdss,sony,acx565akm". The OMAP display drivers all have "omapdss,"
at the beginning of their compatible field.
This allows us to have generic DT data, but OMAP specific display
drivers.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
arch/arm/mach-omap2/board-generic.c | 2 ++
arch/arm/mach-omap2/common.h | 1 +
arch/arm/mach-omap2/display.c | 56 +++++++++++++++++++++++++++++++++++++
3 files changed, 59 insertions(+)
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 842e4f21ab09..08921d0d63d4 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -35,6 +35,8 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
static void __init omap_generic_init(void)
{
+ omapdss_early_init_of();
+
pdata_quirks_init(omap_dt_match_table);
omapdss_init_of();
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index 04a4d360dd20..e21702e2e82e 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -308,6 +308,7 @@ extern int omap_dss_reset(struct omap_hwmod *);
extern int (*omap_clk_init)(void);
int __init omapdss_init_of(void);
+void __init omapdss_early_init_of(void);
#endif /* __ASSEMBLER__ */
#endif /* __ARCH_ARM_MACH_OMAP2PLUS_COMMON_H */
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 77cd927e5acb..9a729bd3d28b 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -25,6 +25,7 @@
#include <linux/delay.h>
#include <linux/of.h>
#include <linux/of_platform.h>
+#include <linux/slab.h>
#include <video/omapdss.h>
#include "omap_hwmod.h"
@@ -555,6 +556,61 @@ int omap_dss_reset(struct omap_hwmod *oh)
return r;
}
+/* list of 'compatible' nodes to convert to omapdss specific */
+static const char * const dss_compat_conv_list[] __initconst = {
+ "composite-connector",
+ "dvi-connector",
+ "hdmi-connector",
+ "panel-dpi",
+ "panel-dsi-cm",
+ "sony,acx565akm",
+ "svideo-connector",
+ "ti,tfp410",
+ "ti,tpd12s015",
+};
+
+/* prepend compatible string with "omapdss," */
+static __init void omapdss_omapify_node(struct device_node *node,
+ const char *compat)
+{
+ char *new_compat;
+ struct property *prop;
+
+ new_compat = kasprintf(GFP_KERNEL, "omapdss,%s", compat);
+
+ prop = kzalloc(sizeof(*prop), GFP_KERNEL);
+ prop->name = "compatible";
+ prop->value = new_compat;
+ prop->length = strlen(new_compat) + 1;
+
+ of_update_property(node, prop);
+}
+
+/*
+ * As omapdss panel drivers are omapdss specific, but we want to define the
+ * DT-data in generic manner, we convert the compatible strings of the panel
+ * nodes from "panel-foo" to "omapdss,panel-foo". This way we can have both
+ * correct DT data and omapdss specific drivers.
+ *
+ * When we get generic panel drivers to the kernel, this will be removed.
+ */
+void __init omapdss_early_init_of(void)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(dss_compat_conv_list); ++i) {
+ const char *compat = dss_compat_conv_list[i];
+ struct device_node *node = NULL;
+
+ while ((node = of_find_compatible_node(node, NULL, compat))) {
+ if (!of_device_is_available(node))
+ continue;
+
+ omapdss_omapify_node(node, compat);
+ }
+ }
+}
+
int __init omapdss_init_of(void)
{
int r;
--
1.8.3.2
^ 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