* [PATCH] video: xilinxfb: Move xilinxfb_platform_data directly to the driver
From: Michal Simek @ 2014-02-11 6:48 UTC (permalink / raw)
To: linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 2777 bytes --]
No reason to have separate file in header in include/linux folder
if this is purely driver specific structure.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
I have this patch in my devel tree for a while and would like
to hear your opinion. I can't see any reason to have
xilinxfb_platform_data in header if this is purely OF driver
used on OF archs.
---
drivers/video/xilinxfb.c | 15 ++++++++++++++-
include/linux/xilinxfb.h | 30 ------------------------------
2 files changed, 14 insertions(+), 31 deletions(-)
delete mode 100644 include/linux/xilinxfb.h
diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
index 6ff1a91..553cff2 100644
--- a/drivers/video/xilinxfb.c
+++ b/drivers/video/xilinxfb.c
@@ -33,7 +33,6 @@
#include <linux/of_platform.h>
#include <linux/of_address.h>
#include <linux/io.h>
-#include <linux/xilinxfb.h>
#include <linux/slab.h>
#ifdef CONFIG_PPC_DCR
@@ -84,6 +83,20 @@
#define PALETTE_ENTRIES_NO 16 /* passed to fb_alloc_cmap() */
+/* ML300/403 reference design framebuffer driver platform data struct */
+struct xilinxfb_platform_data {
+ u32 rotate_screen; /* Flag to rotate display 180 degrees */
+ u32 screen_height_mm; /* Physical dimensions of screen in mm */
+ u32 screen_width_mm;
+ u32 xres, yres; /* resolution of screen in pixels */
+ u32 xvirt, yvirt; /* resolution of memory buffer */
+
+ /* Physical address of framebuffer memory; If non-zero, driver
+ * will use provided memory address instead of allocating one from
+ * the consistent pool. */
+ u32 fb_phys;
+};
+
/*
* Default xilinxfb configuration
*/
diff --git a/include/linux/xilinxfb.h b/include/linux/xilinxfb.h
deleted file mode 100644
index 5a155a9..0000000
--- a/include/linux/xilinxfb.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Platform device data for Xilinx Framebuffer device
- *
- * Copyright 2007 Secret Lab Technologies Ltd.
- *
- * This file is licensed under the terms of the GNU General Public License
- * version 2. This program is licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#ifndef __XILINXFB_H__
-#define __XILINXFB_H__
-
-#include <linux/types.h>
-
-/* ML300/403 reference design framebuffer driver platform data struct */
-struct xilinxfb_platform_data {
- u32 rotate_screen; /* Flag to rotate display 180 degrees */
- u32 screen_height_mm; /* Physical dimensions of screen in mm */
- u32 screen_width_mm;
- u32 xres, yres; /* resolution of screen in pixels */
- u32 xvirt, yvirt; /* resolution of memory buffer */
-
- /* Physical address of framebuffer memory; If non-zero, driver
- * will use provided memory address instead of allocating one from
- * the consistent pool. */
- u32 fb_phys;
-};
-
-#endif /* __XILINXFB_H__ */
--
1.8.2.3
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply related
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-02-11 12:13 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 10 February 2014 17:48, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 17/01/14 06:32, Sachin Kamat wrote:
>> Exynos is now a DT only platform. Hence there is no need
>> for an explicit OF dependency. Remove it.
>
> But the driver still depends on OF, doesn't it? I don't think it's very
> good for the driver Kconfig to make presumptions about what ARCH_*
> depend on.
Depending upon nested dependencies is redundant IMHO.
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH] fbcon: Clean up fbcon data in fb_info on FB_EVENT_FB_UNBIND with 0 fbs
From: Tomi Valkeinen @ 2014-02-11 12:18 UTC (permalink / raw)
To: Keith Packard; +Cc: linux-kernel, Jean-Christophe Plagniol-Villard, linux-fbdev
In-Reply-To: <1390253470-23594-1-git-send-email-keithp@keithp.com>
[-- Attachment #1: Type: text/plain, Size: 1685 bytes --]
Hi,
On 20/01/14 23:31, Keith Packard wrote:
> 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(-)
Thanks, queued for 3.15.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH 0/10] framebuffer patches
From: Tomi Valkeinen @ 2014-02-11 12:58 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <alpine.LRH.2.02.1401231436400.7971@file01.intranet.prod.int.rdu2.redhat.com>
[-- Attachment #1: Type: text/plain, Size: 230 bytes --]
On 23/01/14 21:37, Mikulas Patocka wrote:
> Hi
>
> Here I'm sending some framebuffer patches for matrox, mach64, tga and a
> fix for copying on vesafb.
>
> Mikulas
>
Looks fine to me. Queuing for 3.15.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH 0/10] framebuffer patches
From: Tomi Valkeinen @ 2014-02-11 13:00 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <alpine.LRH.2.02.1401231436400.7971@file01.intranet.prod.int.rdu2.redhat.com>
[-- Attachment #1: Type: text/plain, Size: 476 bytes --]
On 11/02/14 14:58, Tomi Valkeinen wrote:
> On 23/01/14 21:37, Mikulas Patocka wrote:
>> Hi
>>
>> Here I'm sending some framebuffer patches for matrox, mach64, tga and a
>> fix for copying on vesafb.
>>
>> Mikulas
>>
>
> Looks fine to me. Queuing for 3.15.
Oh, I did some conflict resolution on "tgafb: fix mode setting with
fbset". It was trivial, so I think I got it right. But please check
anyway in a few days when these get into linux-next.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH] video: imxfb: Use regulator API with LCD class for powering
From: Tomi Valkeinen @ 2014-02-11 13:11 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20140211024318.GA31484@S2101-09.ap.freescale.net>
[-- Attachment #1: Type: text/plain, Size: 124 bytes --]
On 11/02/14 04:43, Shawn Guo wrote:
> Acked-by: Shawn Guo <shawn.guo@linaro.org>
Thanks. Queued for 3.15.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH] video: xilinxfb: Move xilinxfb_platform_data directly to the driver
From: Tomi Valkeinen @ 2014-02-11 13:12 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <af8de8bd8803b319c0f6a02ca5109768e5ef8457.1392101292.git.michal.simek@xilinx.com>
[-- Attachment #1: Type: text/plain, Size: 701 bytes --]
On 11/02/14 08:48, Michal Simek wrote:
> No reason to have separate file in header in include/linux folder
> if this is purely driver specific structure.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
> I have this patch in my devel tree for a while and would like
> to hear your opinion. I can't see any reason to have
> xilinxfb_platform_data in header if this is purely OF driver
> used on OF archs.
> ---
> drivers/video/xilinxfb.c | 15 ++++++++++++++-
> include/linux/xilinxfb.h | 30 ------------------------------
> 2 files changed, 14 insertions(+), 31 deletions(-)
> delete mode 100644 include/linux/xilinxfb.h
Thanks. Queued for 3.15.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [RFC PATCH] video: Use fb_sys_write rather than open-coding in drivers
From: Tomi Valkeinen @ 2014-02-11 14:06 UTC (permalink / raw)
To: Ryan Mallon
Cc: Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
In-Reply-To: <523BF40B.1090002@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 652 bytes --]
On 20/09/13 10:06, Ryan Mallon wrote:
> Several video drivers open code the fb_write write function with code
> which is very similar to fb_sys_write. Replace the open code versions
> with calls to fb_sys_write. An fb_sync callback is added to each of
> the drivers.
>
> Signed-off-by: Ryan Mallon <rmallon@gmail.com>
> ---
Doesn't this change the behavior so that fb_write does no longer update
the display, but fb_sync does? I don't think fb_sync is even meant to
update the display, it's meant to wait for an update to finish. Then
again, I'm not sure about that, all I see in fb.h is "wait for blit
idle, optional"
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-02-11 14:27 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: 1101 bytes --]
On 11/02/14 14:01, Sachin Kamat wrote:
> On 10 February 2014 17:48, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>> On 17/01/14 06:32, Sachin Kamat wrote:
>>> Exynos is now a DT only platform. Hence there is no need
>>> for an explicit OF dependency. Remove it.
>>
>> But the driver still depends on OF, doesn't it? I don't think it's very
>> good for the driver Kconfig to make presumptions about what ARCH_*
>> depend on.
>
> Depending upon nested dependencies is redundant IMHO.
Well, a driver should be independent of the underlying arch. In
practice, we have ARCH dependencies, as many of the devices only exist
on that arch. But I think the drivers should still be designed to be
arch-independent, as far as possible (omapdss compiles fine on x86).
If the driver depends on OF, it should depend on OF in the Kconfig, no
matter if the arch also depends on OF.
I don't really care if the EXYNOS_LCD_S6E8AX0 has OF dependency or not,
but to me this just looks unneeded cleanup, cluttering git logs, and in
my opinion it's even going to the wrong direction.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH] video: imxfb: Use regulator API w =?UTF-8?B?aXRoIExDRCBjbGFzc
From: Alexander Shiyan @ 2014-02-11 16:21 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <52FA2170.3040900@ti.com>
0JLRgtC+0YDQvdC40LosIDExINGE0LXQstGA0LDQu9GPIDIwMTQsIDE1OjExICswMjowMCDQvtGC
IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+Ogo+IE9uIDExLzAyLzE0IDA0
OjQzLCBTaGF3biBHdW8gd3JvdGU6Cj4gPiBBY2tlZC1ieTogU2hhd24gR3VvIDxzaGF3bi5ndW9A
bGluYXJvLm9yZz4KPiAKPiBUaGFua3MuIFF1ZXVlZCBmb3IgMy4xNS4KClRoYW5rcy4KVG9taSwg
Y2FuIHlvdSBhZGRpdGlvbmFsbHkgYXBwbHkgcGF0Y2ggZnJvbSBEZW5pcyBDYXJpa2xpIHRvIGFs
bG93CmhhdmUgRFQtb25seSBrZXJuZWxzIHdpdGggaS5NWCBGQiBkcml2ZXI/Cmh0dHA6Ly93d3cu
c3Bpbmljcy5uZXQvbGlzdHMvYXJtLWtlcm5lbC9tc2czMDI0OTkuaHRtbAoKLS0tCg=
^ permalink raw reply
* Re: [RFC PATCH] video: Use fb_sys_write rather than open-coding in drivers
From: Ryan Mallon @ 2014-02-11 19:07 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
In-Reply-To: <52FA2E57.3010300@ti.com>
On 12/02/14 03:06, Tomi Valkeinen wrote:
> On 20/09/13 10:06, Ryan Mallon wrote:
>> Several video drivers open code the fb_write write function with code
>> which is very similar to fb_sys_write. Replace the open code versions
>> with calls to fb_sys_write. An fb_sync callback is added to each of
>> the drivers.
>>
>> Signed-off-by: Ryan Mallon <rmallon@gmail.com>
>> ---
>
> Doesn't this change the behavior so that fb_write does no longer update
> the display, but fb_sync does? I don't think fb_sync is even meant to
> update the display, it's meant to wait for an update to finish. Then
> again, I'm not sure about that, all I see in fb.h is "wait for blit
> idle, optional"
fb_write() in fbmem.c calls ->fb_sync() after ->fb_write(), and I've set
the fb_sync() for each of the drivers, so the behaviour should be
unchanged for writes.
The fb_sync() function is also called by fb_read() and
fb_get_buffer_offset() (if FB_PIXMAP_SYNC flag is set). I don't know if
that will adversely affect behaviour.
Note that I haven't actually tested this code since I don't have any of
the hardware. It was just something I noticed while digging through
framebuffer driver code.
~Ryan
^ permalink raw reply
* Re: [PATCH 01/28] Remove CPU_MMP3
From: Greg Kroah-Hartman @ 2014-02-11 21:30 UTC (permalink / raw)
To: Richard Weinberger
Cc: Felipe Balbi, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
open list:USB PHY LAYER, open list, open list:FRAMEBUFFER LAYER
In-Reply-To: <1391971686-9517-2-git-send-email-richard@nod.at>
On Sun, Feb 09, 2014 at 07:47:39PM +0100, Richard Weinberger wrote:
> The symbol is an orphan, get rid of it.
>
> Signed-off-by: Richard Weinberger <richard@nod.at>
> Acked-by: Paul Bolle <pebolle@tiscali.nl>
>
> ---
> drivers/usb/phy/Kconfig | 1 -
> drivers/video/mmp/Kconfig | 2 +-
> drivers/video/mmp/hw/Kconfig | 2 +-
> 3 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> index 7d1451d..b9b1c52 100644
> --- a/drivers/usb/phy/Kconfig
> +++ b/drivers/usb/phy/Kconfig
> @@ -61,7 +61,6 @@ config KEYSTONE_USB_PHY
>
> config MV_U3D_PHY
> bool "Marvell USB 3.0 PHY controller Driver"
> - depends on CPU_MMP3
> select USB_PHY
> help
> Enable this to support Marvell USB 3.0 phy controller for Marvell
Do this and the driver breaks the build so it needs to depend on
something:
drivers/usb/phy/phy-mv-u3d-usb.c: In function ‘mv_u3d_phy_read’:
drivers/usb/phy/phy-mv-u3d-usb.c:42:2: error: implicit declaration of function ‘writel_relaxed’ [-Werror=implicit-function-declaration]
Sorry, I can't take this as-is.
greg k-h
^ permalink raw reply
* Re: [PATCH 01/28] Remove CPU_MMP3
From: Paul Bolle @ 2014-02-11 22:01 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Richard Weinberger, Felipe Balbi,
Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
open list:USB PHY LAYER, open list, open list:FRAMEBUFFER LAYER
In-Reply-To: <20140211213054.GA2555@kroah.com>
On Tue, 2014-02-11 at 13:30 -0800, Greg Kroah-Hartman wrote:
> On Sun, Feb 09, 2014 at 07:47:39PM +0100, Richard Weinberger wrote:
> > The symbol is an orphan, get rid of it.
> >
> > Signed-off-by: Richard Weinberger <richard@nod.at>
> > Acked-by: Paul Bolle <pebolle@tiscali.nl>
> >
> > ---
> > drivers/usb/phy/Kconfig | 1 -
> > drivers/video/mmp/Kconfig | 2 +-
> > drivers/video/mmp/hw/Kconfig | 2 +-
> > 3 files changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> > index 7d1451d..b9b1c52 100644
> > --- a/drivers/usb/phy/Kconfig
> > +++ b/drivers/usb/phy/Kconfig
> > @@ -61,7 +61,6 @@ config KEYSTONE_USB_PHY
> >
> > config MV_U3D_PHY
> > bool "Marvell USB 3.0 PHY controller Driver"
> > - depends on CPU_MMP3
> > select USB_PHY
> > help
> > Enable this to support Marvell USB 3.0 phy controller for Marvell
>
> Do this and the driver breaks the build so it needs to depend on
> something:
>
> drivers/usb/phy/phy-mv-u3d-usb.c: In function ‘mv_u3d_phy_read’:
> drivers/usb/phy/phy-mv-u3d-usb.c:42:2: error: implicit declaration of function ‘writel_relaxed’ [-Werror=implicit-function-declaration]
This sort of proves that a driver that depends on an unknown Kconfig
symbol gets no build coverage (and will bit rot).
> Sorry, I can't take this as-is.
My mistake, I should have spotted this when looking a Richard's patch.
Some background (which I quickly dug up): config MV_U3D_PHY got added in
v3.7 through commit a67e76ac904c ("usb: phy: mv_u3d: Add usb phy driver
for mv_u3d"). It then depended on USB_MV_U3D. And that symbol depended
on CPU_MMP3 at that time. Ie, MV_U3D_PHY was unbuildable when it was
added.
In commit 60630c2eabd4 ("usb: gadget: mv_u3d: drop ARCH dependency")
MV_U3D_PHY was made depended directly on CPU_MMP3. That kept it
unbuildable, of course.
Richard, assuming you agree with the above short history of MV_U3D_PHY,
would you mind sending a v2 that removes this unbuildable driver?
Paul Bolle
^ permalink raw reply
* Re: [RFC PATCH] video: Use fb_sys_write rather than open-coding in drivers
From: Ryan Mallon @ 2014-02-12 5:02 UTC (permalink / raw)
To: Tomi Valkeinen
Cc: Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
In-Reply-To: <52FB1AB0.6090601@ti.com>
On 12/02/14 19:54, Tomi Valkeinen wrote:
> On 11/02/14 21:07, Ryan Mallon wrote:
>> On 12/02/14 03:06, Tomi Valkeinen wrote:
>>
>>> On 20/09/13 10:06, Ryan Mallon wrote:
>>>> Several video drivers open code the fb_write write function with code
>>>> which is very similar to fb_sys_write. Replace the open code versions
>>>> with calls to fb_sys_write. An fb_sync callback is added to each of
>>>> the drivers.
>>>>
>>>> Signed-off-by: Ryan Mallon <rmallon@gmail.com>
>>>> ---
>>>
>>> Doesn't this change the behavior so that fb_write does no longer update
>>> the display, but fb_sync does? I don't think fb_sync is even meant to
>>> update the display, it's meant to wait for an update to finish. Then
>>> again, I'm not sure about that, all I see in fb.h is "wait for blit
>>> idle, optional"
>>
>>
>> fb_write() in fbmem.c calls ->fb_sync() after ->fb_write(), and I've set
>> the fb_sync() for each of the drivers, so the behaviour should be
>> unchanged for writes.
>>
>> The fb_sync() function is also called by fb_read() and
>> fb_get_buffer_offset() (if FB_PIXMAP_SYNC flag is set). I don't know if
>> that will adversely affect behaviour.
>
> Well, by just looking at the function names the drivers' fb_syncs call,
> it sounds to me that with your patch fb_sync will update the LCD, i.e.
> send data to it. Doing that in fb_read sounds totally wrong.
Well, the alternative is to supply an fb_write() implementation for each
driver that calls fb_sys_write(), and then updates the display. The
fb_sync() additions can be removed. That would cut down the boiler-plate
code, and should keep the behaviour the same.
If you don't think it is worth the effort, then the patch can just be
dropped.
~Ryan
^ permalink raw reply
* Re: [RFC PATCH] video: Use fb_sys_write rather than open-coding in drivers
From: Tomi Valkeinen @ 2014-02-12 6:54 UTC (permalink / raw)
To: Ryan Mallon
Cc: Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
In-Reply-To: <52FA7509.1060704@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1633 bytes --]
On 11/02/14 21:07, Ryan Mallon wrote:
> On 12/02/14 03:06, Tomi Valkeinen wrote:
>
>> On 20/09/13 10:06, Ryan Mallon wrote:
>>> Several video drivers open code the fb_write write function with code
>>> which is very similar to fb_sys_write. Replace the open code versions
>>> with calls to fb_sys_write. An fb_sync callback is added to each of
>>> the drivers.
>>>
>>> Signed-off-by: Ryan Mallon <rmallon@gmail.com>
>>> ---
>>
>> Doesn't this change the behavior so that fb_write does no longer update
>> the display, but fb_sync does? I don't think fb_sync is even meant to
>> update the display, it's meant to wait for an update to finish. Then
>> again, I'm not sure about that, all I see in fb.h is "wait for blit
>> idle, optional"
>
>
> fb_write() in fbmem.c calls ->fb_sync() after ->fb_write(), and I've set
> the fb_sync() for each of the drivers, so the behaviour should be
> unchanged for writes.
>
> The fb_sync() function is also called by fb_read() and
> fb_get_buffer_offset() (if FB_PIXMAP_SYNC flag is set). I don't know if
> that will adversely affect behaviour.
Well, by just looking at the function names the drivers' fb_syncs call,
it sounds to me that with your patch fb_sync will update the LCD, i.e.
send data to it. Doing that in fb_read sounds totally wrong.
> Note that I haven't actually tested this code since I don't have any of
> the hardware. It was just something I noticed while digging through
> framebuffer driver code.
Ok. Well, I think it's safer to drop these, then, if it's not 100% clear
that there are no unwanted side effects.
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-02-12 7:20 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 11 February 2014 19:57, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 11/02/14 14:01, Sachin Kamat wrote:
>> On 10 February 2014 17:48, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>>> On 17/01/14 06:32, Sachin Kamat wrote:
>>>> Exynos is now a DT only platform. Hence there is no need
>>>> for an explicit OF dependency. Remove it.
>>>
>>> But the driver still depends on OF, doesn't it? I don't think it's very
>>> good for the driver Kconfig to make presumptions about what ARCH_*
>>> depend on.
>>
>> Depending upon nested dependencies is redundant IMHO.
>
> Well, a driver should be independent of the underlying arch. In
> practice, we have ARCH dependencies, as many of the devices only exist
> on that arch. But I think the drivers should still be designed to be
> arch-independent, as far as possible (omapdss compiles fine on x86).
>
> If the driver depends on OF, it should depend on OF in the Kconfig, no
> matter if the arch also depends on OF.
>
> I don't really care if the EXYNOS_LCD_S6E8AX0 has OF dependency or not,
> but to me this just looks unneeded cleanup, cluttering git logs, and in
> my opinion it's even going to the wrong direction.
Your argument makes sense. Upon further experimentation I found that even the
Exynos video drivers are ARCH independent (i.e., they build on x86 too) and do
not need to depend on OF for compilation. So I believe, we can remove both these
dependencies. What is your opinion?
--
With warm regards,
Sachin
^ permalink raw reply
* Re: [PATCH 1/2] video: exynos: Remove OF dependency for Exynos DP
From: Tomi Valkeinen @ 2014-02-12 7:25 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: 2510 bytes --]
On 12/02/14 09:08, Sachin Kamat wrote:
> On 11 February 2014 19:57, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>> On 11/02/14 14:01, Sachin Kamat wrote:
>>> On 10 February 2014 17:48, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>>>> On 17/01/14 06:32, Sachin Kamat wrote:
>>>>> Exynos is now a DT only platform. Hence there is no need
>>>>> for an explicit OF dependency. Remove it.
>>>>
>>>> But the driver still depends on OF, doesn't it? I don't think it's very
>>>> good for the driver Kconfig to make presumptions about what ARCH_*
>>>> depend on.
>>>
>>> Depending upon nested dependencies is redundant IMHO.
>>
>> Well, a driver should be independent of the underlying arch. In
>> practice, we have ARCH dependencies, as many of the devices only exist
>> on that arch. But I think the drivers should still be designed to be
>> arch-independent, as far as possible (omapdss compiles fine on x86).
>>
>> If the driver depends on OF, it should depend on OF in the Kconfig, no
>> matter if the arch also depends on OF.
>>
>> I don't really care if the EXYNOS_LCD_S6E8AX0 has OF dependency or not,
>> but to me this just looks unneeded cleanup, cluttering git logs, and in
>> my opinion it's even going to the wrong direction.
>
> Your argument makes sense. Upon further experimentation I found that even the
> Exynos video drivers are ARCH independent (i.e., they build on x86 too) and do
> not need to depend on OF for compilation. So I believe, we can remove both these
> dependencies. What is your opinion?
Indeed, the driver doesn't even seem to call any of_* funcs. Looking at
the commit f9b1e013f1c6723798b8f7f5b83297e2837aaef7 (video: exynos_dp:
remove non-DT support for Exynos Display Port), it kind of sounds to me
that the OF dependency was put there just to prevent non-DT use.
I'm fine with removing OF dependency, if the commit description is
updated to say that it can be removed as the driver doesn't actually
depend on OF at all.
As for the ARCH dependency, I think we should keep it. I once removed
ARCH_OMAP dependency from omapdss, but Linus wasn't impressed when his
kernel compilation started to ask him if he wants to enable OMAPDSS
this, OMAPDSS that =). So I think it's fine to keep ARCH dependencies in
cases where the driver is clearly used only on some architecture.
However, you can use COMPILE_TEST kconfig option if you want to compile
test on other archs. I.e.:
depends on ARCH_EXYNOS || COMPILE_TEST
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ permalink raw reply
* Re: [PATCH 01/28] Remove CPU_MMP3
From: Geert Uytterhoeven @ 2014-02-12 7:52 UTC (permalink / raw)
To: Paul Bolle
Cc: Greg Kroah-Hartman, Richard Weinberger, Felipe Balbi,
Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
open list:USB PHY LAYER, open list, open list:FRAMEBUFFER LAYER
In-Reply-To: <1392156072.14317.26.camel@x220>
Cc Yu Xu <yuxu@marvell.com>
On Tue, Feb 11, 2014 at 11:01 PM, Paul Bolle <pebolle@tiscali.nl> wrote:
> On Tue, 2014-02-11 at 13:30 -0800, Greg Kroah-Hartman wrote:
>> On Sun, Feb 09, 2014 at 07:47:39PM +0100, Richard Weinberger wrote:
>> > The symbol is an orphan, get rid of it.
>> >
>> > Signed-off-by: Richard Weinberger <richard@nod.at>
>> > Acked-by: Paul Bolle <pebolle@tiscali.nl>
>> >
>> > ---
>> > drivers/usb/phy/Kconfig | 1 -
>> > drivers/video/mmp/Kconfig | 2 +-
>> > drivers/video/mmp/hw/Kconfig | 2 +-
>> > 3 files changed, 2 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
>> > index 7d1451d..b9b1c52 100644
>> > --- a/drivers/usb/phy/Kconfig
>> > +++ b/drivers/usb/phy/Kconfig
>> > @@ -61,7 +61,6 @@ config KEYSTONE_USB_PHY
>> >
>> > config MV_U3D_PHY
>> > bool "Marvell USB 3.0 PHY controller Driver"
>> > - depends on CPU_MMP3
>> > select USB_PHY
>> > help
>> > Enable this to support Marvell USB 3.0 phy controller for Marvell
>>
>> Do this and the driver breaks the build so it needs to depend on
>> something:
>>
>> drivers/usb/phy/phy-mv-u3d-usb.c: In function ‘mv_u3d_phy_read’:
>> drivers/usb/phy/phy-mv-u3d-usb.c:42:2: error: implicit declaration of function ‘writel_relaxed’ [-Werror=implicit-function-declaration]
>
> This sort of proves that a driver that depends on an unknown Kconfig
> symbol gets no build coverage (and will bit rot).
>
>> Sorry, I can't take this as-is.
>
> My mistake, I should have spotted this when looking a Richard's patch.
>
> Some background (which I quickly dug up): config MV_U3D_PHY got added in
> v3.7 through commit a67e76ac904c ("usb: phy: mv_u3d: Add usb phy driver
> for mv_u3d"). It then depended on USB_MV_U3D. And that symbol depended
> on CPU_MMP3 at that time. Ie, MV_U3D_PHY was unbuildable when it was
> added.
>
> In commit 60630c2eabd4 ("usb: gadget: mv_u3d: drop ARCH dependency")
> MV_U3D_PHY was made depended directly on CPU_MMP3. That kept it
> unbuildable, of course.
>
> Richard, assuming you agree with the above short history of MV_U3D_PHY,
> would you mind sending a v2 that removes this unbuildable driver?
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
* Re: [RFC PATCH] video: Use fb_sys_write rather than open-coding in drivers
From: Tomi Valkeinen @ 2014-02-12 8:17 UTC (permalink / raw)
To: Ryan Mallon
Cc: Jean-Christophe PLAGNIOL-VILLARD, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
In-Reply-To: <52FB005E.1000207@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]
On 12/02/14 07:02, Ryan Mallon wrote:
> Well, the alternative is to supply an fb_write() implementation for each
> driver that calls fb_sys_write(), and then updates the display. The
> fb_sync() additions can be removed. That would cut down the boiler-plate
> code, and should keep the behaviour the same.
>
> If you don't think it is worth the effort, then the patch can just be
> dropped.
I'd be very cautious about doing cleanups on drivers that you cannot
test. Small innocent looking changes can break them.
For example, your patch sets info->screen_size, which is not set
currently. Does the fbdev framework use screen_size somewhere
differently than smem_len? I don't know, but that could lead to small
difference in operation. However, in this case, fb_sys_write() actually
uses smem_len if screen_size is 0, so that change is not even needed.
ssd1307fb_write() looks a bit different than fb_sys_write. I don't know
if the differences could cause issues. The other ones look copy-pasted
from fb_sys_write (but I didn't look at them carefully), so perhaps
those could be cleaned up safely.
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-02-12 8:41 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1389933172-22991-1-git-send-email-sachin.kamat@linaro.org>
On 12 February 2014 12:55, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> On 12/02/14 09:08, Sachin Kamat wrote:
>> On 11 February 2014 19:57, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>>> On 11/02/14 14:01, Sachin Kamat wrote:
>>>> On 10 February 2014 17:48, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>>>>> On 17/01/14 06:32, Sachin Kamat wrote:
>>>>>> Exynos is now a DT only platform. Hence there is no need
>>>>>> for an explicit OF dependency. Remove it.
>>>>>
>>>>> But the driver still depends on OF, doesn't it? I don't think it's very
>>>>> good for the driver Kconfig to make presumptions about what ARCH_*
>>>>> depend on.
>>>>
>>>> Depending upon nested dependencies is redundant IMHO.
>>>
>>> Well, a driver should be independent of the underlying arch. In
>>> practice, we have ARCH dependencies, as many of the devices only exist
>>> on that arch. But I think the drivers should still be designed to be
>>> arch-independent, as far as possible (omapdss compiles fine on x86).
>>>
>>> If the driver depends on OF, it should depend on OF in the Kconfig, no
>>> matter if the arch also depends on OF.
>>>
>>> I don't really care if the EXYNOS_LCD_S6E8AX0 has OF dependency or not,
>>> but to me this just looks unneeded cleanup, cluttering git logs, and in
>>> my opinion it's even going to the wrong direction.
>>
>> Your argument makes sense. Upon further experimentation I found that even the
>> Exynos video drivers are ARCH independent (i.e., they build on x86 too) and do
>> not need to depend on OF for compilation. So I believe, we can remove both these
>> dependencies. What is your opinion?
>
> Indeed, the driver doesn't even seem to call any of_* funcs. Looking at
> the commit f9b1e013f1c6723798b8f7f5b83297e2837aaef7 (video: exynos_dp:
> remove non-DT support for Exynos Display Port), it kind of sounds to me
> that the OF dependency was put there just to prevent non-DT use.
>
> I'm fine with removing OF dependency, if the commit description is
> updated to say that it can be removed as the driver doesn't actually
> depend on OF at all.
>
> As for the ARCH dependency, I think we should keep it. I once removed
> ARCH_OMAP dependency from omapdss, but Linus wasn't impressed when his
> kernel compilation started to ask him if he wants to enable OMAPDSS
> this, OMAPDSS that =). So I think it's fine to keep ARCH dependencies in
> cases where the driver is clearly used only on some architecture.
Yes, I remember that :)
>
> However, you can use COMPILE_TEST kconfig option if you want to compile
> test on other archs. I.e.:
>
> depends on ARCH_EXYNOS || COMPILE_TEST
For now I will update the commit description and re-send the patch.
Thanks for your
comments Tomi.
--
With warm regards,
Sachin
^ permalink raw reply
* [PATCH Resend] video: exynos: Remove OF dependency for Exynos DP
From: Sachin Kamat @ 2014-02-12 8:45 UTC (permalink / raw)
To: linux-fbdev
OF dependency can be removed as the driver does not actually
depend on it at all.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Jingoo Han <jg1.han@samsung.com>
---
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 1/1] video: exynos: Fix S6E8AX0 LCD driver build error
From: Sachin Kamat @ 2014-02-12 9:55 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 1/1] video: exynos: Fix S6E8AX0 LCD driver build error
From: Sachin Kamat @ 2014-02-12 9:56 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1392198583-1828-1-git-send-email-sachin.kamat@linaro.org>
On 12 February 2014 15:19, Sachin Kamat <sachin.kamat@linaro.org> 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..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
>
Sorry, please ignore this.
--
With warm regards,
Sachin
^ permalink raw reply
* [PATCH 1/1] video: s6e8ax0: Use devm_* APIs
From: Sachin Kamat @ 2014-02-12 9:58 UTC (permalink / raw)
To: linux-fbdev
devm_* APIs make the cleanup paths simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
drivers/video/exynos/s6e8ax0.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/drivers/video/exynos/s6e8ax0.c b/drivers/video/exynos/s6e8ax0.c
index ca2602413aa4..29e70ed3f154 100644
--- a/drivers/video/exynos/s6e8ax0.c
+++ b/drivers/video/exynos/s6e8ax0.c
@@ -794,19 +794,18 @@ static int s6e8ax0_probe(struct mipi_dsim_lcd_device *dsim_dev)
return ret;
}
- lcd->ld = lcd_device_register("s6e8ax0", lcd->dev, lcd,
+ lcd->ld = devm_lcd_device_register(lcd->dev, "s6e8ax0", lcd->dev, lcd,
&s6e8ax0_lcd_ops);
if (IS_ERR(lcd->ld)) {
dev_err(lcd->dev, "failed to register lcd ops.\n");
return PTR_ERR(lcd->ld);
}
- lcd->bd = backlight_device_register("s6e8ax0-bl", lcd->dev, lcd,
- &s6e8ax0_backlight_ops, NULL);
+ lcd->bd = devm_backlight_device_register(lcd->dev, "s6e8ax0-bl",
+ lcd->dev, lcd, &s6e8ax0_backlight_ops, NULL);
if (IS_ERR(lcd->bd)) {
dev_err(lcd->dev, "failed to register backlight ops.\n");
- ret = PTR_ERR(lcd->bd);
- goto err_backlight_register;
+ return PTR_ERR(lcd->bd);
}
lcd->bd->props.max_brightness = MAX_BRIGHTNESS;
@@ -834,10 +833,6 @@ static int s6e8ax0_probe(struct mipi_dsim_lcd_device *dsim_dev)
dev_dbg(lcd->dev, "probed s6e8ax0 panel driver.\n");
return 0;
-
-err_backlight_register:
- lcd_device_unregister(lcd->ld);
- return ret;
}
#ifdef CONFIG_PM
--
1.7.9.5
^ permalink raw reply related
* Re: [PATCH v2 4/4] video: mmp: add device tree support
From: Tomi Valkeinen @ 2014-02-12 10:11 UTC (permalink / raw)
To: Zhou Zhu
Cc: 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: <52F998B7.7060203-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 4349 bytes --]
On 11/02/14 05:27, Zhou Zhu wrote:
> On 02/10/2014 08:43 PM, Tomi Valkeinen wrote:
>> How is the panel linked to all this? The nodes above do not refer to the
>> panel.
> We are making panel refer to path, so when panel dev probe, it could
> register to related path.
> The reason we not link from path to panel is our customer sometimes
> asked us to use same image pack (include dts) for different panel types
> in product. We could only add all these panels in dts and detect panel
> dynamically when boot. So moving panel out and making path not link to
> panel but panel link to path would be more straight forward.
Ok.
>>
>>> + ...
>>> + marvell,path = <&path1>;
>>> + ...
>>> +};
>>
>> It's a bit difficult to say much about this, as I have no knowledge
>> about mmp.
>>
>> But I don't quite understand what the pxa988-fb is. Is that some kind of
>> virtual device, only used to set up fbdev side? And pxa988-disp is the
>> actual hardware device?
>>
>> If so, I don't really think pxa988-fb should exist in the DT data at
>> all, as it's not a hardware device.
> Yes, fb is a virtual device for fbdev side.
> In our platforms we may use more than one fb for different paths/output
> panel or multi overlays on same path for composition. So we need to
> configure fb settings like which path/overlay/dmafetch it connected to
> for one or more fbdev.
> Besides, some more configures like yres_virtual size or fixed fb mem
> reserved rather than allocated which depends on platforms are also
> needed although these features are not upstreamed yet.
> So we put fb as a dt node here for these configures.
Ok.
The device tree data should reflect the hardware. Not the software. So
when thinking what kind of DT data you should have, you should forget
the drivers, and just think on HW terms.
You might want to have a look at CDF (Common Display Framework)
discussions on linux-fbdev list, and the "[PATCHv3 00/41] OMAPDSS: DT
support v3" series I've posted (mostly the .dts parts).
It sounds to me that you'd benefit greatly from the CDF, and even if CDF
is not yet merged (and will probably still take time), I'd very much
recommend trying to create your DT data in such a manner that it would
be in the same direction as what is currently suggested for CDF (or in
the OMAPDSS series).
>> Why isn't there just one node for pxa988-disp, which would contain all
>> the above information?
> We have moved out fb/panel from path due to several reasons:
> 1. To simplify the node. If moved these nodes in, it might be:
> disp {
> ...
> path1 {
> ...
> panel-xxx {
> }
> panel-yyy {
> }
> ...
> fb0 {
> }
> fb1 {
> }
> }
> path2 {
> ...
> panel-zzz {
> }
> fb3 {
> }
> }
> }
> Also due to child node type might be different, we could even not
> directly check child of node. The code would be complex.
> 2. the path of node would be too long and not so common.
> e.g. the panel node in dts would be /soc/axi/disp/path1/panel-xxx, and
> in sysfs, node would be /sys/devices/platform/soc/axi/path1/panel-xxx.
> It would be complex and not compatible for platforms when our
> bootloader/user app doing some operations to these nodes.
> If we moved them out, we could move fb/panel out of soc directory so the
> node would be /panel-xxx or /fb1 and simpler and compatible.
I suggest to first think only about the DT data, and create it
correctly. After that you could think how to create compatibility code
in the driver side, so that the legacy sysfs paths are still usable.
The thing with DT data is that it's quite difficult to make big changes
to it later, without writing possibly complex compatibility
functionality. So in my opinion it's worth it to spend a good deal of
time thinking about good DT bindings from the start.
That said, if the driver and hardware in question is for some old SoC,
that's not going to be used on new boards, and the driver is not going
to be used in any future boards, it might be simpler to just make simple
bindings that work for the known set of boards and displays, and be done
with it.
I don't know if that's the case here or not.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
^ 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