* Re: [PATCH v2 1/3] video: clps711x: Add new Cirrus Logic CLPS711X framebuffer driver
From: Tomi Valkeinen @ 2014-04-24 7:57 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1397285583-15187-1-git-send-email-shc_work@mail.ru>
[-- Attachment #1: Type: text/plain, Size: 918 bytes --]
Hi,
On 12/04/14 09:53, Alexander Shiyan wrote:
> This adds support for the framebuffer available in the Cirrus
> Logic CLPS711X CPUs.
> FB features:
> - 1-2-4 bits per pixel.
> - Programmable panel size to a maximum of 1024x256 at 4 bps.
> - Relocatible Frame Buffer (SRAM or SDRAM).
> - Programmable refresh rates.
> - 16 gray scale values.
> This new driver supports usage with devicetree and as a general
> change it removes last user of <mach/hardware.h> for CLPS711X targets,
> so this subarch will fully prepared to switch to multiplatform.
> The driver have been tested with custom board equipped Cirrus Logic
> EP7312 in DT and non-DT mode.
My original comment about this is still unanswered: why a totally new
driver? The proper way would be to gradually change the old driver with
a patch series. Then it's possible to review the patches and see what is
actually changed.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [PATCH v2 1/3] video: clps711x: Add new Cirrus Logic CLPS711X framebuffer driver
From: Alexander Shiyan @ 2014-04-24 5:03 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1397285583-15187-1-git-send-email-shc_work@mail.ru>
On Sat, 12 Apr 2014 10:53:02 +0400
Alexander Shiyan <shc_work@mail.ru> wrote:
Ping.
> This adds support for the framebuffer available in the Cirrus
> Logic CLPS711X CPUs.
> FB features:
> - 1-2-4 bits per pixel.
> - Programmable panel size to a maximum of 1024x256 at 4 bps.
> - Relocatible Frame Buffer (SRAM or SDRAM).
> - Programmable refresh rates.
> - 16 gray scale values.
> This new driver supports usage with devicetree and as a general
> change it removes last user of <mach/hardware.h> for CLPS711X targets,
> so this subarch will fully prepared to switch to multiplatform.
> The driver have been tested with custom board equipped Cirrus Logic
> EP7312 in DT and non-DT mode.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
...
--
Alexander Shiyan <shc_work@mail.ru>
^ permalink raw reply
* [PATCH v2 3/3] omapdss: panel-tpo-td028ec1: Add module alias
From: Marek Belisko @ 2014-04-23 20:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398284120-4986-1-git-send-email-marek@goldelico.com>
Add module alias string to make it working when panel is compiled as module.
Without this change panel module is not probed thus display is not working.
Signed-off-by: Marek Belisko <marek@goldelico.com>
---
drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
index 5b3466e..728808b 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
@@ -505,6 +505,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
+MODULE_ALIAS("spi:toppoly,td028ttec1");
MODULE_AUTHOR("H. Nikolaus Schaller <hns@goldelico.com>");
MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver");
MODULE_LICENSE("GPL");
--
1.8.3.2
^ permalink raw reply related
* [PATCH v2 2/3] ARM: dts: oma3-gta04: Add display support
From: Marek Belisko @ 2014-04-23 20:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398284120-4986-1-git-send-email-marek@goldelico.com>
This patch add support for lcd display on gta04 board. Display control
is connected on spi (used spi bitbang driver).
Signed-off-by: Marek Belisko <marek@goldelico.com>
---
arch/arm/boot/dts/omap3-gta04.dts | 86 +++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
diff --git a/arch/arm/boot/dts/omap3-gta04.dts b/arch/arm/boot/dts/omap3-gta04.dts
index f8ad125..db56e67 100644
--- a/arch/arm/boot/dts/omap3-gta04.dts
+++ b/arch/arm/boot/dts/omap3-gta04.dts
@@ -44,6 +44,36 @@
ti,mcbsp = <&mcbsp2>;
ti,codec = <&twl_audio>;
};
+
+ spi_lcd {
+ compatible = "spi-gpio";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_gpio_pins>;
+
+ gpio-sck = <&gpio1 12 0>;
+ gpio-miso = <&gpio1 18 0>;
+ gpio-mosi = <&gpio1 20 0>;
+ cs-gpios = <&gpio1 19 0>;
+ num-chipselects = <1>;
+
+ /* lcd panel */
+ lcd: td028ttec1@0 {
+ compatible = "toppoly,td028ttec1";
+ reg = <0>;
+ spi-max-frequency = <100000>;
+ spi-cpol;
+ spi-cpha;
+
+ label = "lcd";
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
+ };
};
&omap3_pmx_core {
@@ -78,6 +108,47 @@
0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
>;
};
+
+ dss_dpi_pins: pinmux_dss_dpi_pins {
+ pinctrl-single,pins = <
+ 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
+ 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
+ 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
+ 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
+ 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
+ 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
+ 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
+ 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
+ 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
+ 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
+ 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
+ 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
+ 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
+ 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
+ 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
+ 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
+ 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
+ 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
+ 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
+ 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
+ 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
+ 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
+ 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
+ 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
+ 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
+ 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
+ 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
+ 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
+ >;
+ };
+
+ spi_gpio_pins: spi_gpio_pinmux {
+ pinctrl-single,pins = <0x5a8 (PIN_OUTPUT | MUX_MODE4) /* clk */
+ 0x5b6 (PIN_OUTPUT | MUX_MODE4) /* cs */
+ 0x5b8 (PIN_OUTPUT | MUX_MODE4) /* tx */
+ 0x5b4 (PIN_INPUT | MUX_MODE4) /* rx */
+ >;
+ };
};
&i2c1 {
@@ -219,3 +290,18 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3150000>;
};
+
+&dss {
+ pinctrl-names = "default";
+ pinctrl-0 = < &dss_dpi_pins >;
+
+ status = "okay";
+
+ vdds_dsi-supply = <&vpll2>;
+
+ dpi_out: endpoint {
+ remote-endpoint = <&lcd_in>;
+ data-lines = <24>;
+ };
+
+};
--
1.8.3.2
^ permalink raw reply related
* [PATCH v2 1/3] omapdss: panel-tpo-td028ec1: Add DT support.
From: Marek Belisko @ 2014-04-23 20:15 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398284120-4986-1-git-send-email-marek@goldelico.com>
Signed-off-by: Marek Belisko <marek@goldelico.com>
---
.../bindings/video/toppoly,td028ttec1.txt | 30 ++++++++++++++++++++
arch/arm/mach-omap2/display.c | 1 +
.../omap2/displays-new/panel-tpo-td028ttec1.c | 32 +++++++++++++++++++++-
3 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
diff --git a/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
new file mode 100644
index 0000000..7175dc3
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
@@ -0,0 +1,30 @@
+Toppoly TD028TTEC1 Panel
+============
+
+Required properties:
+- compatible: "toppoly,td028ttec1"
+
+Optional properties:
+- label: a symbolic name for the panel
+
+Required nodes:
+- Video port for DPI input
+
+Example
+-------
+
+lcd-panel: td028ttec1@0 {
+ compatible = "toppoly,td028ttec1";
+ reg = <0>;
+ spi-max-frequency = <100000>;
+ spi-cpol;
+ spi-cpha;
+
+ label = "lcd";
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+};
+
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 16d33d8..66a2ee0 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -566,6 +566,7 @@ static const char * const dss_compat_conv_list[] __initconst = {
"svideo-connector",
"ti,tfp410",
"ti,tpd12s015",
+ "toppoly,td028ttec1",
};
/* prepend compatible string with "omapdss," */
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
index fae6adc..5b3466e 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
@@ -206,7 +206,8 @@ static int td028ttec1_panel_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
+ if (ddata->data_lines)
+ in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->videomode);
r = in->ops.dpi->enable(in);
@@ -389,6 +390,23 @@ static int td028ttec1_panel_probe_pdata(struct spi_device *spi)
return 0;
}
+static int td028ttec1_probe_of(struct spi_device *spi)
+{
+ struct device_node *node = spi->dev.of_node;
+ struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
+ struct omap_dss_device *in;
+
+ in = omapdss_of_find_source_for_first_ep(node);
+ if (IS_ERR(in)) {
+ dev_err(&spi->dev, "failed to find video source\n");
+ return PTR_ERR(in);
+ }
+
+ ddata->in = in;
+
+ return 0;
+}
+
static int td028ttec1_panel_probe(struct spi_device *spi)
{
struct panel_drv_data *ddata;
@@ -418,6 +436,10 @@ static int td028ttec1_panel_probe(struct spi_device *spi)
r = td028ttec1_panel_probe_pdata(spi);
if (r)
return r;
+ } else if (spi->dev.of_node) {
+ r = td028ttec1_probe_of(spi);
+ if (r)
+ return r;
} else {
return -ENODEV;
}
@@ -463,6 +485,13 @@ static int td028ttec1_panel_remove(struct spi_device *spi)
return 0;
}
+static const struct of_device_id td028ttec1_of_match[] = {
+ { .compatible = "omapdss,toppoly,td028ttec1", },
+ {},
+};
+
+MODULE_DEVICE_TABLE(of, td028ttec1_of_match);
+
static struct spi_driver td028ttec1_spi_driver = {
.probe = td028ttec1_panel_probe,
.remove = td028ttec1_panel_remove,
@@ -470,6 +499,7 @@ static struct spi_driver td028ttec1_spi_driver = {
.driver = {
.name = "panel-tpo-td028ttec1",
.owner = THIS_MODULE,
+ .of_match_table = td028ttec1_of_match,
},
};
--
1.8.3.2
^ permalink raw reply related
* [PATCH v2 0/3] Add display support for gta04 device
From: Marek Belisko @ 2014-04-23 20:15 UTC (permalink / raw)
To: linux-arm-kernel
This 3 patches adding display support for openmoko gta04 device.
First patch add DT bindings for topolly td028 panel. Second add description for
dss + panel and third fix panel probing when panel is compiled as module.
Changes from v1:
- extend panel compatible string by 'omapdss'
- add tpo-td028 panel to dss_compat_conv_list
- add MODULE_ALIAS macro to properly probe panel when is compiled as module
Marek Belisko (3):
omapdss: panel-tpo-td028ec1: Add DT support.
ARM: dts: oma3-gta04: Add display support
omapdss: panel-tpo-td028ec1: Add module alias
.../bindings/video/toppoly,td028ttec1.txt | 30 ++++++++
arch/arm/boot/dts/omap3-gta04.dts | 86 ++++++++++++++++++++++
arch/arm/mach-omap2/display.c | 1 +
.../omap2/displays-new/panel-tpo-td028ttec1.c | 33 ++++++++-
4 files changed, 149 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
--
1.8.3.2
^ permalink raw reply
* Re: [PATCH] fbdev: Fix tmiofb driver dependencies
From: Geert Uytterhoeven @ 2014-04-23 19:45 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <20140423135104.2974008f@endymion.delvare>
Hi Jean,
On Wed, Apr 23, 2014 at 1:51 PM, Jean Delvare <jdelvare@suse.de> wrote:
> The tmiofb driver should not depend on MFD_CORE but on MFD_TMIO.
> Without the tmio_core driver, tmiofb has no platform device to bind
> to and is thus useless.
What about COMPILE_TEST?
> Signed-off-by: Jean Delvare <jdelvare@suse.de>
> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> ---
> I suspect that MFD_TMIO was originally intended and MFD_CORE was a
> typo.
Does it compile with MFD_CORE=n?
If no: depends on FB && MDF_CORE && (MFD_TMIO || COMPILE_TEST)
If yes: depends on FB && (MFD_TMIO || COMPILE_TEST)
> drivers/video/fbdev/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- linux-3.15-rc2.orig/drivers/video/fbdev/Kconfig 2014-04-23 11:51:17.163933232 +0200
> +++ linux-3.15-rc2/drivers/video/fbdev/Kconfig 2014-04-23 13:40:01.170774059 +0200
> @@ -1993,7 +1993,7 @@ config FB_SH_MOBILE_HDMI
>
> config FB_TMIO
> tristate "Toshiba Mobile IO FrameBuffer support"
> - depends on FB && MFD_CORE
> + depends on FB && MFD_TMIO
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* [PATCH] fbcon: Fix memory leak in con2fb_release_oldinfo()
From: Masami Ichikawa @ 2014-04-23 14:35 UTC (permalink / raw)
To: masami256, plagnioj, tomi.valkeinen, udknight, gregkh, keithp,
mika.kuoppala, viresh.kumar, linux-kernel, linux-fbdev
kmemleak reported a memory leak as below.
unreferenced object 0xffff8800dab6d8d8 (size 96):
comm "swapper/0", pid 1, jiffies 4294877598 (age 38.483s)
hex dump (first 32 bytes):
00 00 00 00 00 01 00 00 08 00 00 00 10 00 00 00 ................
07 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffff814e8f2e>] kmemleak_alloc+0x4e/0xb0
[<ffffffff811a0600>] __kmalloc+0x280/0x320
[<ffffffff81309b61>] soft_cursor+0x231/0x290
[<ffffffff81309393>] bit_cursor+0x613/0x650
[<ffffffff8130556b>] fbcon_cursor+0x13b/0x1c0
[<ffffffff813755f8>] hide_cursor+0x28/0xa0
[<ffffffff81376e98>] redraw_screen+0x168/0x240
[<ffffffff81303891>] fbcon_prepare_logo+0x381/0x420
[<ffffffff81303c7e>] fbcon_init+0x34e/0x590
[<ffffffff81375828>] visual_init+0xb8/0x120
[<ffffffff81377c93>] do_bind_con_driver+0x163/0x380
[<ffffffff81378494>] do_take_over_console+0x114/0x1c0
[<ffffffff81303f23>] do_fbcon_takeover+0x63/0xd0
[<ffffffff813086dd>] fbcon_event_notify+0x68d/0x7e0
[<ffffffff814ff7ac>] notifier_call_chain+0x4c/0x70
[<ffffffff8108c85d>] __blocking_notifier_call_chain+0x4d/0x70
This memory leak cause is, fbcon_ops's cursor_src is allocated in
soft_cursor() but not released in con2fb_release_oldinfo().
so, cursor_src is needed to be released when oldinfo is going to be
released.
Signed-off-by: Masami Ichikawa <masami256@gmail.com>
---
drivers/video/console/fbcon.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index f447734..57b1d44 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -748,6 +748,7 @@ static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
fbcon_del_cursor_timer(oldinfo);
kfree(ops->cursor_state.mask);
kfree(ops->cursor_data);
+ kfree(ops->cursor_src);
kfree(ops->fontbuffer);
kfree(oldinfo->fbcon_par);
oldinfo->fbcon_par = NULL;
--
1.9.1
^ permalink raw reply related
* [PATCH] fbdev: Fix tmiofb driver dependencies
From: Jean Delvare @ 2014-04-23 11:51 UTC (permalink / raw)
To: linux-fbdev
The tmiofb driver should not depend on MFD_CORE but on MFD_TMIO.
Without the tmio_core driver, tmiofb has no platform device to bind
to and is thus useless.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
I suspect that MFD_TMIO was originally intended and MFD_CORE was a
typo.
drivers/video/fbdev/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-3.15-rc2.orig/drivers/video/fbdev/Kconfig 2014-04-23 11:51:17.163933232 +0200
+++ linux-3.15-rc2/drivers/video/fbdev/Kconfig 2014-04-23 13:40:01.170774059 +0200
@@ -1993,7 +1993,7 @@ config FB_SH_MOBILE_HDMI
config FB_TMIO
tristate "Toshiba Mobile IO FrameBuffer support"
- depends on FB && MFD_CORE
+ depends on FB && MFD_TMIO
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
--
Jean Delvare
SUSE L3 Support
^ permalink raw reply
* Re: [PATCH 1/2] omapdss: panel-tpo-td028ec1: Add DT support.
From: Tomi Valkeinen @ 2014-04-23 10:44 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398201168-25275-2-git-send-email-marek@goldelico.com>
[-- Attachment #1: Type: text/plain, Size: 1020 bytes --]
On 23/04/14 00:12, Marek Belisko wrote:
> static int td028ttec1_panel_probe(struct spi_device *spi)
> {
> struct panel_drv_data *ddata;
> @@ -418,6 +436,10 @@ static int td028ttec1_panel_probe(struct spi_device *spi)
> r = td028ttec1_panel_probe_pdata(spi);
> if (r)
> return r;
> + } else if (spi->dev.of_node) {
> + r = td028ttec1_probe_of(spi);
> + if (r)
> + return r;
> } else {
> return -ENODEV;
> }
> @@ -463,6 +485,13 @@ static int td028ttec1_panel_remove(struct spi_device *spi)
> return 0;
> }
>
> +static const struct of_device_id td028ttec1_of_match[] = {
> + { .compatible = "toppoly,td028ttec1", },
We need to hack a bit here for the time being. You need to have
"omapdss," prefix for the compatible string in the driver, and add the
panel's compatible string to arch/arm/mach-omap2/display.c:
dss_compat_conv_list.
The reason for this is that the drivers are omap specific, but the DT
data is not.
Otherwise looks good to me.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* [PATCH] video: Kconfig: Add a dependency to the Goldfish framebuffer driver
From: Jean Delvare @ 2014-04-23 10:42 UTC (permalink / raw)
To: linux-fbdev
All other Goldfish drivers depend on GOLDFISH, I see no reason why the
framebuffer driver would be an exception.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
drivers/video/fbdev/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-3.15-rc2.orig/drivers/video/fbdev/Kconfig 2014-04-22 14:20:30.949107522 +0200
+++ linux-3.15-rc2/drivers/video/fbdev/Kconfig 2014-04-23 11:51:17.163933232 +0200
@@ -2169,7 +2169,7 @@ config FB_XILINX
config FB_GOLDFISH
tristate "Goldfish Framebuffer"
- depends on FB && HAS_DMA
+ depends on FB && HAS_DMA && (GOLDFISH || COMPILE_TEST)
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
--
Jean Delvare
SUSE L3 Support
^ permalink raw reply
* [PATCH 2/2] ARM: dts: oma3-gta04: Add display support
From: Marek Belisko @ 2014-04-22 21:12 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398201168-25275-1-git-send-email-marek@goldelico.com>
This patch add support for lcd display on gta04 board. Display control
is connected on spi (used spi bitbang driver).
Signed-off-by: Marek Belisko <marek@goldelico.com>
---
arch/arm/boot/dts/omap3-gta04.dts | 86 +++++++++++++++++++++++++++++++++++++++
1 file changed, 86 insertions(+)
diff --git a/arch/arm/boot/dts/omap3-gta04.dts b/arch/arm/boot/dts/omap3-gta04.dts
index f8ad125..db56e67 100644
--- a/arch/arm/boot/dts/omap3-gta04.dts
+++ b/arch/arm/boot/dts/omap3-gta04.dts
@@ -44,6 +44,36 @@
ti,mcbsp = <&mcbsp2>;
ti,codec = <&twl_audio>;
};
+
+ spi_lcd {
+ compatible = "spi-gpio";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_gpio_pins>;
+
+ gpio-sck = <&gpio1 12 0>;
+ gpio-miso = <&gpio1 18 0>;
+ gpio-mosi = <&gpio1 20 0>;
+ cs-gpios = <&gpio1 19 0>;
+ num-chipselects = <1>;
+
+ /* lcd panel */
+ lcd: td028ttec1@0 {
+ compatible = "toppoly,td028ttec1";
+ reg = <0>;
+ spi-max-frequency = <100000>;
+ spi-cpol;
+ spi-cpha;
+
+ label = "lcd";
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
+ };
};
&omap3_pmx_core {
@@ -78,6 +108,47 @@
0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
>;
};
+
+ dss_dpi_pins: pinmux_dss_dpi_pins {
+ pinctrl-single,pins = <
+ 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
+ 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
+ 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
+ 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
+ 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
+ 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
+ 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
+ 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
+ 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
+ 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
+ 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
+ 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
+ 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
+ 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
+ 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
+ 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
+ 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
+ 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
+ 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
+ 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
+ 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
+ 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
+ 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
+ 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
+ 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
+ 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
+ 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
+ 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
+ >;
+ };
+
+ spi_gpio_pins: spi_gpio_pinmux {
+ pinctrl-single,pins = <0x5a8 (PIN_OUTPUT | MUX_MODE4) /* clk */
+ 0x5b6 (PIN_OUTPUT | MUX_MODE4) /* cs */
+ 0x5b8 (PIN_OUTPUT | MUX_MODE4) /* tx */
+ 0x5b4 (PIN_INPUT | MUX_MODE4) /* rx */
+ >;
+ };
};
&i2c1 {
@@ -219,3 +290,18 @@
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3150000>;
};
+
+&dss {
+ pinctrl-names = "default";
+ pinctrl-0 = < &dss_dpi_pins >;
+
+ status = "okay";
+
+ vdds_dsi-supply = <&vpll2>;
+
+ dpi_out: endpoint {
+ remote-endpoint = <&lcd_in>;
+ data-lines = <24>;
+ };
+
+};
--
1.8.3.2
^ permalink raw reply related
* [PATCH 1/2] omapdss: panel-tpo-td028ec1: Add DT support.
From: Marek Belisko @ 2014-04-22 21:12 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1398201168-25275-1-git-send-email-marek@goldelico.com>
Signed-off-by: Marek Belisko <marek@goldelico.com>
---
.../bindings/video/toppoly,td028ttec1.txt | 30 ++++++++++++++++++++
.../omap2/displays-new/panel-tpo-td028ttec1.c | 32 +++++++++++++++++++++-
2 files changed, 61 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
diff --git a/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
new file mode 100644
index 0000000..7175dc3
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
@@ -0,0 +1,30 @@
+Toppoly TD028TTEC1 Panel
+============
+
+Required properties:
+- compatible: "toppoly,td028ttec1"
+
+Optional properties:
+- label: a symbolic name for the panel
+
+Required nodes:
+- Video port for DPI input
+
+Example
+-------
+
+lcd-panel: td028ttec1@0 {
+ compatible = "toppoly,td028ttec1";
+ reg = <0>;
+ spi-max-frequency = <100000>;
+ spi-cpol;
+ spi-cpha;
+
+ label = "lcd";
+ port {
+ lcd_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+};
+
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
index fae6adc..70a56ff 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
+++ b/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
@@ -206,7 +206,8 @@ static int td028ttec1_panel_enable(struct omap_dss_device *dssdev)
if (omapdss_device_is_enabled(dssdev))
return 0;
- in->ops.dpi->set_data_lines(in, ddata->data_lines);
+ if (ddata->data_lines)
+ in->ops.dpi->set_data_lines(in, ddata->data_lines);
in->ops.dpi->set_timings(in, &ddata->videomode);
r = in->ops.dpi->enable(in);
@@ -389,6 +390,23 @@ static int td028ttec1_panel_probe_pdata(struct spi_device *spi)
return 0;
}
+static int td028ttec1_probe_of(struct spi_device *spi)
+{
+ struct device_node *node = spi->dev.of_node;
+ struct panel_drv_data *ddata = dev_get_drvdata(&spi->dev);
+ struct omap_dss_device *in;
+
+ in = omapdss_of_find_source_for_first_ep(node);
+ if (IS_ERR(in)) {
+ dev_err(&spi->dev, "failed to find video source\n");
+ return PTR_ERR(in);
+ }
+
+ ddata->in = in;
+
+ return 0;
+}
+
static int td028ttec1_panel_probe(struct spi_device *spi)
{
struct panel_drv_data *ddata;
@@ -418,6 +436,10 @@ static int td028ttec1_panel_probe(struct spi_device *spi)
r = td028ttec1_panel_probe_pdata(spi);
if (r)
return r;
+ } else if (spi->dev.of_node) {
+ r = td028ttec1_probe_of(spi);
+ if (r)
+ return r;
} else {
return -ENODEV;
}
@@ -463,6 +485,13 @@ static int td028ttec1_panel_remove(struct spi_device *spi)
return 0;
}
+static const struct of_device_id td028ttec1_of_match[] = {
+ { .compatible = "toppoly,td028ttec1", },
+ {},
+};
+
+MODULE_DEVICE_TABLE(of, td028ttec1_of_match);
+
static struct spi_driver td028ttec1_spi_driver = {
.probe = td028ttec1_panel_probe,
.remove = td028ttec1_panel_remove,
@@ -470,6 +499,7 @@ static struct spi_driver td028ttec1_spi_driver = {
.driver = {
.name = "panel-tpo-td028ttec1",
.owner = THIS_MODULE,
+ .of_match_table = td028ttec1_of_match,
},
};
--
1.8.3.2
^ permalink raw reply related
* [PATCH 0/2] Add display support for gta04 device
From: Marek Belisko @ 2014-04-22 21:12 UTC (permalink / raw)
To: linux-arm-kernel
This 2 patches adding display support for openmoko gta04 device.
First patch add DT bindings for topolly td028 panel and second add description for
dss + panel.
Marek Belisko (2):
omapdss: panel-tpo-td028ec1: Add DT support.
ARM: dts: oma3-gta04: Add display support
.../bindings/video/toppoly,td028ttec1.txt | 30 ++++++++
arch/arm/boot/dts/omap3-gta04.dts | 86 ++++++++++++++++++++++
.../omap2/displays-new/panel-tpo-td028ttec1.c | 32 +++++++-
3 files changed, 147 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/video/toppoly,td028ttec1.txt
--
1.8.3.2
^ permalink raw reply
* Re: [PATCHv3 19/41] OMAPDSS: panel-dpi: Add DT support
From: Tony Lindgren @ 2014-04-18 15:51 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1390301833-24944-20-git-send-email-tomi.valkeinen@ti.com>
Hi,
Just trying to summarize what has been discussed so far in
various threads regarding changes needed to this patch.
* Tomi Valkeinen <tomi.valkeinen@ti.com> [140121 03:01]:
> --- a/drivers/video/omap2/displays-new/panel-dpi.c
> +++ b/drivers/video/omap2/displays-new/panel-dpi.c
> @@ -182,6 +186,52 @@ static int panel_dpi_probe_pdata(struct platform_device *pdev)
> return 0;
> }
>
> +static int panel_dpi_probe_of(struct platform_device *pdev)
> +{
> + struct panel_drv_data *ddata = platform_get_drvdata(pdev);
> + struct device_node *node = pdev->dev.of_node;
> + struct omap_dss_device *in;
> + int r;
> + struct display_timing timing;
> + struct videomode vm;
> + int gpio;
> +
> + gpio = of_get_gpio(node, 0);
> + if (gpio_is_valid(gpio) || gpio = -ENOENT) {
> + ddata->enable_gpio = gpio;
> + } else {
> + dev_err(&pdev->dev, "failed to parse enable gpio\n");
> + return gpio;
> + }
We should set the GPIO polarity based on the OF_GPIO_ACTIVE_LOW like
gpio_backlight_probe_dt is doing.
Then do we really want to do the dev_err for each -EPROBE_DEFER here?
> + gpio = of_get_gpio(node, 1);
> + if (gpio_is_valid(gpio) || gpio = -ENOENT) {
> + ddata->backlight_gpio = gpio;
> + } else {
> + dev_err(&pdev->dev, "failed to parse backlight gpio\n");
> + return gpio;
> + }
How about let's drop the backlight_gpio as discussed since it
can be handled with gpio-backlight?
Instead, let's add the panel specific reset_gpio as suggested by
Joachim. That seems common to some dpi using panels.
Then support for the other panel specific GPIOs can then be added
as a follow-up patch when we know how we want to handle them.
Oh, and this patch needs the related binding documentation too in
Documentation/devicetree/bindings.
Regards,
Tony
^ permalink raw reply
* Re: [PATCH] fbdev: fix possible NULL pointer derefernce
From: DaeSeok Youn @ 2014-04-18 10:31 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD
Cc: tomi.valkeinen, jg1.han, laurent.pinchart, Rob Clark, linux-fbdev,
linux-kernel
In-Reply-To: <CAHb8M2BdDUJBOsFdDXOKSo2p+=_Gb4Ha92UMa5K6wMyg3KKdmw@mail.gmail.com>
Hello,
2014-04-17 9:00 GMT+09:00 DaeSeok Youn <daeseok.youn@gmail.com>:
> Hello,
>
> 2014-04-16 21:38 GMT+09:00 Jean-Christophe PLAGNIOL-VILLARD
> <plagnioj@jcrosoft.com>:
>>
>> On Apr 16, 2014, at 5:40 PM, Daeseok Youn <daeseok.youn@gmail.com> wrote:
>>
>>>
>>> The spec->modedb can be NULL by fb_create_modedb().
>>>
>>> And also smatch says:
>>> drivers/video/fbdev/core/fbmon.c:975 fb_edid_to_monspecs() error:
>>> potential null dereference 'specs->modedb'.
>>> (fb_create_modedb returns null)
>>>
>>> Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
>>> ---
>>> drivers/video/fbdev/core/fbmon.c | 3 +++
>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c
>>> index c204ebe..db274ca 100644
>>> --- a/drivers/video/fbdev/core/fbmon.c
>>> +++ b/drivers/video/fbdev/core/fbmon.c
>>> @@ -966,6 +966,9 @@ void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
>>>
>>> specs->modedb = fb_create_modedb(edid, &specs->modedb_len);
>>>
>>> + if (!specs->modedb)
>>> + return;
>>> +
>>
>> we need to return an error and trace it
> Yes, you're right. I will change return type from void to int and add
> to handle an error when this function(fb_edid_to_monspecs) is called.
>
I try to look at the fbdev code related with fb_edid_to_monspecs().
And the result, I think it doesn't need to return an error and trace it.
My patch is also useless because modedb_len is zero when
fb_create_modedb() returns NULL so It cannot be dereferenced.
And callers of this function seem to need a log but I think they don't need to
handling an error. Some functions are handling error with checking
NULL of modedb variable,
they are just printing an error message.
If I am wrong or you have reasons for handling an error on that
function, please let me know.
Regards,
Daeseok Youn.
> I will send this patch as your comment.
>
> Thanks for review.
>
> Daeseok Youn.
>>
>> Best Regards,
>> J.
>>> /*
>>> * Workaround for buggy EDIDs that sets that the first
>>> * detailed timing is preferred but has not detailed
>>> --
>>> 1.7.4.4
>>>
>>
^ permalink raw reply
* [PATCH 3.12 20/72] video/fb: Propagate error code from failing to unregister conflicting fb
From: Jiri Slaby @ 2014-04-18 9:21 UTC (permalink / raw)
To: stable
Cc: linux-fbdev, Jiri Slaby, linux-kernel, dri-devel, Tomi Valkeinen,
Dave Airlie, Jean-Christophe Plagniol-Villard
In-Reply-To: <3389f243c528afc7c7300c83b8f296290cd3656d.1397812482.git.jslaby@suse.cz>
From: Chris Wilson <chris@chris-wilson.co.uk>
3.12-stable review patch. If anyone has any objections, please let me know.
=======
commit 46eeb2c144956e88197439b5ee5cf221a91b0a81 upstream.
If we fail to remove a conflicting fb driver, we need to abort the
loading of the second driver to avoid likely kernel panics.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
drivers/video/fbmem.c | 31 +++++++++++++++++++++----------
include/linux/fb.h | 4 ++--
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index cde461932760..7309ac704e26 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1577,10 +1577,10 @@ static bool fb_do_apertures_overlap(struct apertures_struct *gena,
static int do_unregister_framebuffer(struct fb_info *fb_info);
#define VGA_FB_PHYS 0xA0000
-static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary)
+static int do_remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary)
{
- int i;
+ int i, ret;
/* check all firmware fbs and kick off if the base addr overlaps */
for (i = 0 ; i < FB_MAX; i++) {
@@ -1599,22 +1599,29 @@ static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
printk(KERN_INFO "fb: conflicting fb hw usage "
"%s vs %s - removing generic driver\n",
name, registered_fb[i]->fix.id);
- do_unregister_framebuffer(registered_fb[i]);
+ ret = do_unregister_framebuffer(registered_fb[i]);
+ if (ret)
+ return ret;
}
}
+
+ return 0;
}
static int do_register_framebuffer(struct fb_info *fb_info)
{
- int i;
+ int i, ret;
struct fb_event event;
struct fb_videomode mode;
if (fb_check_foreignness(fb_info))
return -ENOSYS;
- do_remove_conflicting_framebuffers(fb_info->apertures, fb_info->fix.id,
- fb_is_primary_device(fb_info));
+ ret = do_remove_conflicting_framebuffers(fb_info->apertures,
+ fb_info->fix.id,
+ fb_is_primary_device(fb_info));
+ if (ret)
+ return ret;
if (num_registered_fb = FB_MAX)
return -ENXIO;
@@ -1739,12 +1746,16 @@ int unlink_framebuffer(struct fb_info *fb_info)
}
EXPORT_SYMBOL(unlink_framebuffer);
-void remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary)
+int remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary)
{
+ int ret;
+
mutex_lock(®istration_lock);
- do_remove_conflicting_framebuffers(a, name, primary);
+ ret = do_remove_conflicting_framebuffers(a, name, primary);
mutex_unlock(®istration_lock);
+
+ return ret;
}
EXPORT_SYMBOL(remove_conflicting_framebuffers);
diff --git a/include/linux/fb.h b/include/linux/fb.h
index ffac70aab3e9..8439a1600c1a 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -613,8 +613,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf,
extern int register_framebuffer(struct fb_info *fb_info);
extern int unregister_framebuffer(struct fb_info *fb_info);
extern int unlink_framebuffer(struct fb_info *fb_info);
-extern void remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary);
+extern int remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary);
extern int fb_prepare_logo(struct fb_info *fb_info, int rotate);
extern int fb_show_logo(struct fb_info *fb_info, int rotate);
extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size);
--
1.9.2
^ permalink raw reply related
* [patch added to the 3.12 stable tree] video/fb: Propagate error code from failing to unregister conf
From: Jiri Slaby @ 2014-04-18 9:07 UTC (permalink / raw)
To: stable
Cc: Chris Wilson, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
linux-fbdev, dri-devel, Dave Airlie, Jiri Slaby
In-Reply-To: <1397812087-13168-1-git-send-email-jslaby@suse.cz>
From: Chris Wilson <chris@chris-wilson.co.uk>
This patch has been added to the 3.12 stable tree. If you have any
objections, please let us know.
=======
commit 46eeb2c144956e88197439b5ee5cf221a91b0a81 upstream.
If we fail to remove a conflicting fb driver, we need to abort the
loading of the second driver to avoid likely kernel panics.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
drivers/video/fbmem.c | 31 +++++++++++++++++++++----------
include/linux/fb.h | 4 ++--
2 files changed, 23 insertions(+), 12 deletions(-)
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index cde461932760..7309ac704e26 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1577,10 +1577,10 @@ static bool fb_do_apertures_overlap(struct apertures_struct *gena,
static int do_unregister_framebuffer(struct fb_info *fb_info);
#define VGA_FB_PHYS 0xA0000
-static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary)
+static int do_remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary)
{
- int i;
+ int i, ret;
/* check all firmware fbs and kick off if the base addr overlaps */
for (i = 0 ; i < FB_MAX; i++) {
@@ -1599,22 +1599,29 @@ static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
printk(KERN_INFO "fb: conflicting fb hw usage "
"%s vs %s - removing generic driver\n",
name, registered_fb[i]->fix.id);
- do_unregister_framebuffer(registered_fb[i]);
+ ret = do_unregister_framebuffer(registered_fb[i]);
+ if (ret)
+ return ret;
}
}
+
+ return 0;
}
static int do_register_framebuffer(struct fb_info *fb_info)
{
- int i;
+ int i, ret;
struct fb_event event;
struct fb_videomode mode;
if (fb_check_foreignness(fb_info))
return -ENOSYS;
- do_remove_conflicting_framebuffers(fb_info->apertures, fb_info->fix.id,
- fb_is_primary_device(fb_info));
+ ret = do_remove_conflicting_framebuffers(fb_info->apertures,
+ fb_info->fix.id,
+ fb_is_primary_device(fb_info));
+ if (ret)
+ return ret;
if (num_registered_fb = FB_MAX)
return -ENXIO;
@@ -1739,12 +1746,16 @@ int unlink_framebuffer(struct fb_info *fb_info)
}
EXPORT_SYMBOL(unlink_framebuffer);
-void remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary)
+int remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary)
{
+ int ret;
+
mutex_lock(®istration_lock);
- do_remove_conflicting_framebuffers(a, name, primary);
+ ret = do_remove_conflicting_framebuffers(a, name, primary);
mutex_unlock(®istration_lock);
+
+ return ret;
}
EXPORT_SYMBOL(remove_conflicting_framebuffers);
diff --git a/include/linux/fb.h b/include/linux/fb.h
index ffac70aab3e9..8439a1600c1a 100644
--- a/include/linux/fb.h
+++ b/include/linux/fb.h
@@ -613,8 +613,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf,
extern int register_framebuffer(struct fb_info *fb_info);
extern int unregister_framebuffer(struct fb_info *fb_info);
extern int unlink_framebuffer(struct fb_info *fb_info);
-extern void remove_conflicting_framebuffers(struct apertures_struct *a,
- const char *name, bool primary);
+extern int remove_conflicting_framebuffers(struct apertures_struct *a,
+ const char *name, bool primary);
extern int fb_prepare_logo(struct fb_info *fb_info, int rotate);
extern int fb_show_logo(struct fb_info *fb_info, int rotate);
extern char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size);
--
1.9.2
^ permalink raw reply related
* [GIT PULL] fbdev reorder for 3.15 (rebased)
From: Tomi Valkeinen @ 2014-04-17 7:08 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, linux-fbdev, Stephen Rothwell
[-- Attachment #1: Type: text/plain, Size: 57714 bytes --]
Hi Linus,
The following changes since commit c26ef3eb3c11274bad1b64498d0a134f85755250:
video: bf54x-lq043fb: fix build error (2014-04-15 12:44:16 +0300)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/fbdev-reorder-3.15
for you to fetch changes up to 776bbb97e0a37fe67bd0870e5aa4845af856b872:
video: Kconfig: move drm and fb into separate menus (2014-04-17 08:10:20 +0300)
----------------------------------------------------------------
Reorder drivers/video/ directory so that all fbdev drivers are now located in
drivers/video/fbdev/ and the fbdev framework core files are located in
drivers/video/fbdev/core/
The drivers/video/Kconfig is modified so that the DRM and the fbdev menu
options are in separate submenus, instead of both being mixed in the same
'Graphics support' menu level.
----------------------------------------------------------------
Tomi Valkeinen (3):
video: move fbdev to drivers/video/fbdev
fbdev: move fbdev core files to separate directory
video: Kconfig: move drm and fb into separate menus
Documentation/DocBook/device-drivers.tmpl | 10 +-
drivers/Makefile | 4 +-
drivers/staging/xgifb/vb_def.h | 2 +-
drivers/staging/xgifb/vb_struct.h | 2 +-
drivers/staging/xgifb/vgatypes.h | 4 +-
drivers/video/Kconfig | 2480 +-------------------
drivers/video/Makefile | 166 +-
drivers/video/console/sticon.c | 2 +-
drivers/video/console/sticore.c | 2 +-
drivers/video/{ => fbdev}/68328fb.c | 0
drivers/video/fbdev/Kconfig | 2474 +++++++++++++++++++
drivers/video/fbdev/Makefile | 152 ++
drivers/video/{ => fbdev}/acornfb.c | 0
drivers/video/{ => fbdev}/acornfb.h | 0
drivers/video/{ => fbdev}/amba-clcd.c | 0
drivers/video/{ => fbdev}/amifb.c | 0
drivers/video/{ => fbdev}/arcfb.c | 0
drivers/video/{ => fbdev}/arkfb.c | 0
drivers/video/{ => fbdev}/asiliantfb.c | 0
drivers/video/{ => fbdev}/atafb.c | 0
drivers/video/{ => fbdev}/atafb.h | 0
drivers/video/{ => fbdev}/atafb_iplan2p2.c | 0
drivers/video/{ => fbdev}/atafb_iplan2p4.c | 0
drivers/video/{ => fbdev}/atafb_iplan2p8.c | 0
drivers/video/{ => fbdev}/atafb_mfb.c | 0
drivers/video/{ => fbdev}/atafb_utils.h | 0
drivers/video/{ => fbdev}/atmel_lcdfb.c | 0
drivers/video/{ => fbdev}/aty/Makefile | 0
drivers/video/{ => fbdev}/aty/ati_ids.h | 0
drivers/video/{ => fbdev}/aty/aty128fb.c | 0
drivers/video/{ => fbdev}/aty/atyfb.h | 0
drivers/video/{ => fbdev}/aty/atyfb_base.c | 0
drivers/video/{ => fbdev}/aty/mach64_accel.c | 0
drivers/video/{ => fbdev}/aty/mach64_ct.c | 0
drivers/video/{ => fbdev}/aty/mach64_cursor.c | 2 +-
drivers/video/{ => fbdev}/aty/mach64_gx.c | 0
drivers/video/{ => fbdev}/aty/radeon_accel.c | 0
drivers/video/{ => fbdev}/aty/radeon_backlight.c | 0
drivers/video/{ => fbdev}/aty/radeon_base.c | 0
drivers/video/{ => fbdev}/aty/radeon_i2c.c | 0
drivers/video/{ => fbdev}/aty/radeon_monitor.c | 0
drivers/video/{ => fbdev}/aty/radeon_pm.c | 0
drivers/video/{ => fbdev}/aty/radeonfb.h | 0
drivers/video/{ => fbdev}/au1100fb.c | 0
drivers/video/{ => fbdev}/au1100fb.h | 0
drivers/video/{ => fbdev}/au1200fb.c | 0
drivers/video/{ => fbdev}/au1200fb.h | 0
drivers/video/{ => fbdev}/auo_k1900fb.c | 0
drivers/video/{ => fbdev}/auo_k1901fb.c | 0
drivers/video/{ => fbdev}/auo_k190x.c | 0
drivers/video/{ => fbdev}/auo_k190x.h | 0
drivers/video/{ => fbdev}/bf537-lq035.c | 0
drivers/video/{ => fbdev}/bf54x-lq043fb.c | 0
drivers/video/{ => fbdev}/bfin-lq035q1-fb.c | 0
drivers/video/{ => fbdev}/bfin-t350mcqb-fb.c | 0
drivers/video/{ => fbdev}/bfin_adv7393fb.c | 0
drivers/video/{ => fbdev}/bfin_adv7393fb.h | 0
drivers/video/{ => fbdev}/broadsheetfb.c | 0
drivers/video/{ => fbdev}/bt431.h | 0
drivers/video/{ => fbdev}/bt455.h | 0
drivers/video/{ => fbdev}/bw2.c | 0
drivers/video/{ => fbdev}/c2p.h | 0
drivers/video/{ => fbdev}/c2p_core.h | 0
drivers/video/{ => fbdev}/c2p_iplan2.c | 0
drivers/video/{ => fbdev}/c2p_planar.c | 0
drivers/video/{ => fbdev}/carminefb.c | 0
drivers/video/{ => fbdev}/carminefb.h | 0
drivers/video/{ => fbdev}/carminefb_regs.h | 0
drivers/video/{ => fbdev}/cg14.c | 0
drivers/video/{ => fbdev}/cg3.c | 0
drivers/video/{ => fbdev}/cg6.c | 0
drivers/video/{ => fbdev}/chipsfb.c | 0
drivers/video/{ => fbdev}/cirrusfb.c | 0
drivers/video/{ => fbdev}/clps711xfb.c | 0
drivers/video/{ => fbdev}/cobalt_lcdfb.c | 0
drivers/video/{ => fbdev}/controlfb.c | 0
drivers/video/{ => fbdev}/controlfb.h | 0
drivers/video/fbdev/core/Makefile | 16 +
drivers/video/{ => fbdev/core}/cfbcopyarea.c | 0
drivers/video/{ => fbdev/core}/cfbfillrect.c | 0
drivers/video/{ => fbdev/core}/cfbimgblt.c | 0
drivers/video/{ => fbdev/core}/fb_ddc.c | 2 +-
drivers/video/{ => fbdev/core}/fb_defio.c | 0
drivers/video/{ => fbdev/core}/fb_draw.h | 0
drivers/video/{ => fbdev/core}/fb_notify.c | 0
drivers/video/{ => fbdev/core}/fb_sys_fops.c | 0
drivers/video/{ => fbdev/core}/fbcmap.c | 0
drivers/video/{ => fbdev/core}/fbcvt.c | 0
drivers/video/{ => fbdev/core}/fbmem.c | 0
drivers/video/{ => fbdev/core}/fbmon.c | 2 +-
drivers/video/{ => fbdev/core}/fbsysfs.c | 0
drivers/video/{ => fbdev/core}/modedb.c | 0
drivers/video/{ => fbdev/core}/svgalib.c | 0
drivers/video/{ => fbdev/core}/syscopyarea.c | 0
drivers/video/{ => fbdev/core}/sysfillrect.c | 0
drivers/video/{ => fbdev/core}/sysimgblt.c | 0
drivers/video/{ => fbdev}/cyber2000fb.c | 0
drivers/video/{ => fbdev}/cyber2000fb.h | 0
drivers/video/{ => fbdev}/da8xx-fb.c | 0
drivers/video/{ => fbdev}/dnfb.c | 0
drivers/video/{ => fbdev}/edid.h | 0
drivers/video/{ => fbdev}/efifb.c | 0
drivers/video/{ => fbdev}/ep93xx-fb.c | 0
drivers/video/{ => fbdev}/exynos/Kconfig | 0
drivers/video/{ => fbdev}/exynos/Makefile | 0
drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi.c | 0
.../{ => fbdev}/exynos/exynos_mipi_dsi_common.c | 0
.../{ => fbdev}/exynos/exynos_mipi_dsi_common.h | 0
.../{ => fbdev}/exynos/exynos_mipi_dsi_lowlevel.c | 0
.../{ => fbdev}/exynos/exynos_mipi_dsi_lowlevel.h | 0
.../{ => fbdev}/exynos/exynos_mipi_dsi_regs.h | 0
drivers/video/{ => fbdev}/exynos/s6e8ax0.c | 0
drivers/video/{ => fbdev}/fb-puv3.c | 0
drivers/video/{ => fbdev}/ffb.c | 0
drivers/video/{ => fbdev}/fm2fb.c | 0
drivers/video/{ => fbdev}/fsl-diu-fb.c | 0
drivers/video/{ => fbdev}/g364fb.c | 0
drivers/video/{ => fbdev}/gbefb.c | 0
drivers/video/{ => fbdev}/geode/Kconfig | 0
drivers/video/{ => fbdev}/geode/Makefile | 0
drivers/video/{ => fbdev}/geode/display_gx.c | 0
drivers/video/{ => fbdev}/geode/display_gx1.c | 0
drivers/video/{ => fbdev}/geode/display_gx1.h | 0
drivers/video/{ => fbdev}/geode/geodefb.h | 0
drivers/video/{ => fbdev}/geode/gx1fb_core.c | 0
drivers/video/{ => fbdev}/geode/gxfb.h | 0
drivers/video/{ => fbdev}/geode/gxfb_core.c | 0
drivers/video/{ => fbdev}/geode/lxfb.h | 0
drivers/video/{ => fbdev}/geode/lxfb_core.c | 0
drivers/video/{ => fbdev}/geode/lxfb_ops.c | 0
drivers/video/{ => fbdev}/geode/suspend_gx.c | 0
drivers/video/{ => fbdev}/geode/video_cs5530.c | 0
drivers/video/{ => fbdev}/geode/video_cs5530.h | 0
drivers/video/{ => fbdev}/geode/video_gx.c | 0
drivers/video/{ => fbdev}/goldfishfb.c | 0
drivers/video/{ => fbdev}/grvga.c | 0
drivers/video/{ => fbdev}/gxt4500.c | 0
drivers/video/{ => fbdev}/hecubafb.c | 0
drivers/video/{ => fbdev}/hgafb.c | 0
drivers/video/{ => fbdev}/hitfb.c | 0
drivers/video/{ => fbdev}/hpfb.c | 0
drivers/video/{ => fbdev}/hyperv_fb.c | 0
drivers/video/{ => fbdev}/i740_reg.h | 0
drivers/video/{ => fbdev}/i740fb.c | 0
drivers/video/{ => fbdev}/i810/Makefile | 0
drivers/video/{ => fbdev}/i810/i810-i2c.c | 0
drivers/video/{ => fbdev}/i810/i810.h | 0
drivers/video/{ => fbdev}/i810/i810_accel.c | 0
drivers/video/{ => fbdev}/i810/i810_dvt.c | 0
drivers/video/{ => fbdev}/i810/i810_gtf.c | 0
drivers/video/{ => fbdev}/i810/i810_main.c | 0
drivers/video/{ => fbdev}/i810/i810_main.h | 0
drivers/video/{ => fbdev}/i810/i810_regs.h | 0
drivers/video/{ => fbdev}/igafb.c | 0
drivers/video/{ => fbdev}/imsttfb.c | 0
drivers/video/{ => fbdev}/imxfb.c | 0
drivers/video/{ => fbdev}/intelfb/Makefile | 0
drivers/video/{ => fbdev}/intelfb/intelfb.h | 0
drivers/video/{ => fbdev}/intelfb/intelfb_i2c.c | 0
drivers/video/{ => fbdev}/intelfb/intelfbdrv.c | 0
drivers/video/{ => fbdev}/intelfb/intelfbhw.c | 0
drivers/video/{ => fbdev}/intelfb/intelfbhw.h | 0
drivers/video/{ => fbdev}/jz4740_fb.c | 0
drivers/video/{ => fbdev}/kyro/Makefile | 0
drivers/video/{ => fbdev}/kyro/STG4000InitDevice.c | 0
drivers/video/{ => fbdev}/kyro/STG4000Interface.h | 0
.../video/{ => fbdev}/kyro/STG4000OverlayDevice.c | 0
drivers/video/{ => fbdev}/kyro/STG4000Ramdac.c | 0
drivers/video/{ => fbdev}/kyro/STG4000Reg.h | 0
drivers/video/{ => fbdev}/kyro/STG4000VTG.c | 0
drivers/video/{ => fbdev}/kyro/fbdev.c | 0
drivers/video/{ => fbdev}/leo.c | 0
drivers/video/{ => fbdev}/macfb.c | 0
drivers/video/{ => fbdev}/macmodes.c | 0
drivers/video/{ => fbdev}/macmodes.h | 0
drivers/video/{ => fbdev}/matrox/Makefile | 0
drivers/video/{ => fbdev}/matrox/g450_pll.c | 0
drivers/video/{ => fbdev}/matrox/g450_pll.h | 0
drivers/video/{ => fbdev}/matrox/i2c-matroxfb.c | 0
.../video/{ => fbdev}/matrox/matroxfb_DAC1064.c | 0
.../video/{ => fbdev}/matrox/matroxfb_DAC1064.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_Ti3026.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_Ti3026.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_accel.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_accel.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_base.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_base.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_crtc2.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_crtc2.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_g450.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_g450.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_maven.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_maven.h | 0
drivers/video/{ => fbdev}/matrox/matroxfb_misc.c | 0
drivers/video/{ => fbdev}/matrox/matroxfb_misc.h | 0
drivers/video/{ => fbdev}/maxinefb.c | 0
drivers/video/{ => fbdev}/mb862xx/Makefile | 0
drivers/video/{ => fbdev}/mb862xx/mb862xx-i2c.c | 0
drivers/video/{ => fbdev}/mb862xx/mb862xx_reg.h | 0
drivers/video/{ => fbdev}/mb862xx/mb862xxfb.h | 0
.../video/{ => fbdev}/mb862xx/mb862xxfb_accel.c | 0
.../video/{ => fbdev}/mb862xx/mb862xxfb_accel.h | 0
drivers/video/{ => fbdev}/mb862xx/mb862xxfbdrv.c | 0
drivers/video/{ => fbdev}/mbx/Makefile | 0
drivers/video/{ => fbdev}/mbx/mbxdebugfs.c | 0
drivers/video/{ => fbdev}/mbx/mbxfb.c | 0
drivers/video/{ => fbdev}/mbx/reg_bits.h | 0
drivers/video/{ => fbdev}/mbx/regs.h | 0
drivers/video/{ => fbdev}/metronomefb.c | 0
drivers/video/{ => fbdev}/mmp/Kconfig | 6 +-
drivers/video/{ => fbdev}/mmp/Makefile | 0
drivers/video/{ => fbdev}/mmp/core.c | 0
drivers/video/{ => fbdev}/mmp/fb/Kconfig | 0
drivers/video/{ => fbdev}/mmp/fb/Makefile | 0
drivers/video/{ => fbdev}/mmp/fb/mmpfb.c | 0
drivers/video/{ => fbdev}/mmp/fb/mmpfb.h | 0
drivers/video/{ => fbdev}/mmp/hw/Kconfig | 0
drivers/video/{ => fbdev}/mmp/hw/Makefile | 0
drivers/video/{ => fbdev}/mmp/hw/mmp_ctrl.c | 0
drivers/video/{ => fbdev}/mmp/hw/mmp_ctrl.h | 0
drivers/video/{ => fbdev}/mmp/hw/mmp_spi.c | 0
drivers/video/{ => fbdev}/mmp/panel/Kconfig | 0
drivers/video/{ => fbdev}/mmp/panel/Makefile | 0
.../video/{ => fbdev}/mmp/panel/tpo_tj032md01bw.c | 0
drivers/video/{ => fbdev}/msm/Makefile | 0
drivers/video/{ => fbdev}/msm/mddi.c | 0
drivers/video/{ => fbdev}/msm/mddi_client_dummy.c | 0
.../video/{ => fbdev}/msm/mddi_client_nt35399.c | 0
.../video/{ => fbdev}/msm/mddi_client_toshiba.c | 0
drivers/video/{ => fbdev}/msm/mddi_hw.h | 0
drivers/video/{ => fbdev}/msm/mdp.c | 0
drivers/video/{ => fbdev}/msm/mdp_csc_table.h | 0
drivers/video/{ => fbdev}/msm/mdp_hw.h | 0
drivers/video/{ => fbdev}/msm/mdp_ppp.c | 0
drivers/video/{ => fbdev}/msm/mdp_scale_tables.c | 0
drivers/video/{ => fbdev}/msm/mdp_scale_tables.h | 0
drivers/video/{ => fbdev}/msm/msm_fb.c | 0
drivers/video/{ => fbdev}/mx3fb.c | 0
drivers/video/{ => fbdev}/mxsfb.c | 0
drivers/video/{ => fbdev}/n411.c | 0
drivers/video/{ => fbdev}/neofb.c | 0
drivers/video/{ => fbdev}/nuc900fb.c | 0
drivers/video/{ => fbdev}/nuc900fb.h | 0
drivers/video/{ => fbdev}/nvidia/Makefile | 0
drivers/video/{ => fbdev}/nvidia/nv_accel.c | 0
drivers/video/{ => fbdev}/nvidia/nv_backlight.c | 0
drivers/video/{ => fbdev}/nvidia/nv_dma.h | 0
drivers/video/{ => fbdev}/nvidia/nv_hw.c | 0
drivers/video/{ => fbdev}/nvidia/nv_i2c.c | 0
drivers/video/{ => fbdev}/nvidia/nv_local.h | 0
drivers/video/{ => fbdev}/nvidia/nv_of.c | 0
drivers/video/{ => fbdev}/nvidia/nv_proto.h | 0
drivers/video/{ => fbdev}/nvidia/nv_setup.c | 0
drivers/video/{ => fbdev}/nvidia/nv_type.h | 0
drivers/video/{ => fbdev}/nvidia/nvidia.c | 0
drivers/video/{ => fbdev}/ocfb.c | 0
drivers/video/{ => fbdev}/offb.c | 0
drivers/video/{ => fbdev}/omap/Kconfig | 0
drivers/video/{ => fbdev}/omap/Makefile | 0
drivers/video/{ => fbdev}/omap/hwa742.c | 0
drivers/video/{ => fbdev}/omap/lcd_ams_delta.c | 0
drivers/video/{ => fbdev}/omap/lcd_h3.c | 0
drivers/video/{ => fbdev}/omap/lcd_htcherald.c | 0
drivers/video/{ => fbdev}/omap/lcd_inn1510.c | 0
drivers/video/{ => fbdev}/omap/lcd_inn1610.c | 0
drivers/video/{ => fbdev}/omap/lcd_mipid.c | 0
drivers/video/{ => fbdev}/omap/lcd_osk.c | 0
drivers/video/{ => fbdev}/omap/lcd_palmte.c | 0
drivers/video/{ => fbdev}/omap/lcd_palmtt.c | 0
drivers/video/{ => fbdev}/omap/lcd_palmz71.c | 0
drivers/video/{ => fbdev}/omap/lcdc.c | 0
drivers/video/{ => fbdev}/omap/lcdc.h | 0
drivers/video/{ => fbdev}/omap/omapfb.h | 0
drivers/video/{ => fbdev}/omap/omapfb_main.c | 0
drivers/video/{ => fbdev}/omap/sossi.c | 0
drivers/video/fbdev/omap2/Kconfig | 10 +
drivers/video/{ => fbdev}/omap2/Makefile | 0
.../video/{ => fbdev}/omap2/displays-new/Kconfig | 0
.../video/{ => fbdev}/omap2/displays-new/Makefile | 0
.../omap2/displays-new/connector-analog-tv.c | 0
.../{ => fbdev}/omap2/displays-new/connector-dvi.c | 0
.../omap2/displays-new/connector-hdmi.c | 0
.../omap2/displays-new/encoder-tfp410.c | 0
.../omap2/displays-new/encoder-tpd12s015.c | 0
.../{ => fbdev}/omap2/displays-new/panel-dpi.c | 0
.../{ => fbdev}/omap2/displays-new/panel-dsi-cm.c | 0
.../omap2/displays-new/panel-lgphilips-lb035q02.c | 0
.../omap2/displays-new/panel-nec-nl8048hl11.c | 0
.../omap2/displays-new/panel-sharp-ls037v7dw01.c | 0
.../omap2/displays-new/panel-sony-acx565akm.c | 0
.../omap2/displays-new/panel-tpo-td028ttec1.c | 0
.../omap2/displays-new/panel-tpo-td043mtea1.c | 0
drivers/video/{ => fbdev}/omap2/dss/Kconfig | 0
drivers/video/{ => fbdev}/omap2/dss/Makefile | 0
drivers/video/{ => fbdev}/omap2/dss/apply.c | 0
drivers/video/{ => fbdev}/omap2/dss/core.c | 0
drivers/video/{ => fbdev}/omap2/dss/dispc-compat.c | 0
drivers/video/{ => fbdev}/omap2/dss/dispc-compat.h | 0
drivers/video/{ => fbdev}/omap2/dss/dispc.c | 0
drivers/video/{ => fbdev}/omap2/dss/dispc.h | 0
drivers/video/{ => fbdev}/omap2/dss/dispc_coefs.c | 0
.../video/{ => fbdev}/omap2/dss/display-sysfs.c | 0
drivers/video/{ => fbdev}/omap2/dss/display.c | 0
drivers/video/{ => fbdev}/omap2/dss/dpi.c | 0
drivers/video/{ => fbdev}/omap2/dss/dsi.c | 0
drivers/video/{ => fbdev}/omap2/dss/dss-of.c | 0
drivers/video/{ => fbdev}/omap2/dss/dss.c | 0
drivers/video/{ => fbdev}/omap2/dss/dss.h | 0
drivers/video/{ => fbdev}/omap2/dss/dss_features.c | 0
drivers/video/{ => fbdev}/omap2/dss/dss_features.h | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi.h | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi4.c | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi4_core.c | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi4_core.h | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi_common.c | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi_phy.c | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi_pll.c | 0
drivers/video/{ => fbdev}/omap2/dss/hdmi_wp.c | 0
.../video/{ => fbdev}/omap2/dss/manager-sysfs.c | 0
drivers/video/{ => fbdev}/omap2/dss/manager.c | 0
drivers/video/{ => fbdev}/omap2/dss/output.c | 0
.../video/{ => fbdev}/omap2/dss/overlay-sysfs.c | 0
drivers/video/{ => fbdev}/omap2/dss/overlay.c | 0
drivers/video/{ => fbdev}/omap2/dss/rfbi.c | 0
drivers/video/{ => fbdev}/omap2/dss/sdi.c | 0
drivers/video/{ => fbdev}/omap2/dss/venc.c | 0
drivers/video/{ => fbdev}/omap2/dss/venc_panel.c | 0
drivers/video/{ => fbdev}/omap2/omapfb/Kconfig | 0
drivers/video/{ => fbdev}/omap2/omapfb/Makefile | 0
.../video/{ => fbdev}/omap2/omapfb/omapfb-ioctl.c | 0
.../video/{ => fbdev}/omap2/omapfb/omapfb-main.c | 0
.../video/{ => fbdev}/omap2/omapfb/omapfb-sysfs.c | 0
drivers/video/{ => fbdev}/omap2/omapfb/omapfb.h | 0
drivers/video/{ => fbdev}/omap2/vrfb.c | 0
drivers/video/{ => fbdev}/p9100.c | 0
drivers/video/{ => fbdev}/platinumfb.c | 0
drivers/video/{ => fbdev}/platinumfb.h | 0
drivers/video/{ => fbdev}/pm2fb.c | 0
drivers/video/{ => fbdev}/pm3fb.c | 0
drivers/video/{ => fbdev}/pmag-aa-fb.c | 0
drivers/video/{ => fbdev}/pmag-ba-fb.c | 0
drivers/video/{ => fbdev}/pmagb-b-fb.c | 0
drivers/video/{ => fbdev}/ps3fb.c | 0
drivers/video/{ => fbdev}/pvr2fb.c | 0
drivers/video/{ => fbdev}/pxa168fb.c | 0
drivers/video/{ => fbdev}/pxa168fb.h | 0
drivers/video/{ => fbdev}/pxa3xx-gcu.c | 0
drivers/video/{ => fbdev}/pxa3xx-gcu.h | 0
drivers/video/{ => fbdev}/pxafb.c | 0
drivers/video/{ => fbdev}/pxafb.h | 0
drivers/video/{ => fbdev}/q40fb.c | 0
drivers/video/{ => fbdev}/riva/Makefile | 0
drivers/video/{ => fbdev}/riva/fbdev.c | 0
drivers/video/{ => fbdev}/riva/nv_driver.c | 0
drivers/video/{ => fbdev}/riva/nv_type.h | 0
drivers/video/{ => fbdev}/riva/nvreg.h | 0
drivers/video/{ => fbdev}/riva/riva_hw.c | 0
drivers/video/{ => fbdev}/riva/riva_hw.h | 0
drivers/video/{ => fbdev}/riva/riva_tbl.h | 0
drivers/video/{ => fbdev}/riva/rivafb-i2c.c | 0
drivers/video/{ => fbdev}/riva/rivafb.h | 0
drivers/video/{ => fbdev}/s1d13xxxfb.c | 0
drivers/video/{ => fbdev}/s3c-fb.c | 0
drivers/video/{ => fbdev}/s3c2410fb.c | 0
drivers/video/{ => fbdev}/s3c2410fb.h | 0
drivers/video/{ => fbdev}/s3fb.c | 0
drivers/video/{ => fbdev}/sa1100fb.c | 0
drivers/video/{ => fbdev}/sa1100fb.h | 0
drivers/video/{ => fbdev}/savage/Makefile | 0
drivers/video/{ => fbdev}/savage/savagefb-i2c.c | 0
drivers/video/{ => fbdev}/savage/savagefb.h | 0
drivers/video/{ => fbdev}/savage/savagefb_accel.c | 0
drivers/video/{ => fbdev}/savage/savagefb_driver.c | 0
drivers/video/{ => fbdev}/sbuslib.c | 0
drivers/video/{ => fbdev}/sbuslib.h | 0
drivers/video/{ => fbdev}/sh7760fb.c | 0
drivers/video/{ => fbdev}/sh_mipi_dsi.c | 0
drivers/video/{ => fbdev}/sh_mobile_hdmi.c | 0
drivers/video/{ => fbdev}/sh_mobile_lcdcfb.c | 0
drivers/video/{ => fbdev}/sh_mobile_lcdcfb.h | 0
drivers/video/{ => fbdev}/sh_mobile_meram.c | 0
drivers/video/{ => fbdev}/simplefb.c | 0
drivers/video/{ => fbdev}/sis/300vtbl.h | 0
drivers/video/{ => fbdev}/sis/310vtbl.h | 0
drivers/video/{ => fbdev}/sis/Makefile | 0
drivers/video/{ => fbdev}/sis/init.c | 0
drivers/video/{ => fbdev}/sis/init.h | 0
drivers/video/{ => fbdev}/sis/init301.c | 0
drivers/video/{ => fbdev}/sis/init301.h | 0
drivers/video/{ => fbdev}/sis/initdef.h | 0
drivers/video/{ => fbdev}/sis/initextlfb.c | 0
drivers/video/{ => fbdev}/sis/oem300.h | 0
drivers/video/{ => fbdev}/sis/oem310.h | 0
drivers/video/{ => fbdev}/sis/sis.h | 0
drivers/video/{ => fbdev}/sis/sis_accel.c | 0
drivers/video/{ => fbdev}/sis/sis_accel.h | 0
drivers/video/{ => fbdev}/sis/sis_main.c | 0
drivers/video/{ => fbdev}/sis/sis_main.h | 0
drivers/video/{ => fbdev}/sis/vgatypes.h | 0
drivers/video/{ => fbdev}/sis/vstruct.h | 0
drivers/video/{ => fbdev}/skeletonfb.c | 0
drivers/video/{ => fbdev}/sm501fb.c | 0
drivers/video/{ => fbdev}/smscufx.c | 0
drivers/video/{ => fbdev}/ssd1307fb.c | 0
drivers/video/{ => fbdev}/sstfb.c | 0
drivers/video/{ => fbdev}/sticore.h | 0
drivers/video/{ => fbdev}/stifb.c | 0
drivers/video/{ => fbdev}/sunxvr1000.c | 0
drivers/video/{ => fbdev}/sunxvr2500.c | 0
drivers/video/{ => fbdev}/sunxvr500.c | 0
drivers/video/{ => fbdev}/tcx.c | 0
drivers/video/{ => fbdev}/tdfxfb.c | 0
drivers/video/{ => fbdev}/tgafb.c | 0
drivers/video/{ => fbdev}/tmiofb.c | 0
drivers/video/{ => fbdev}/tridentfb.c | 0
drivers/video/{ => fbdev}/udlfb.c | 0
drivers/video/{ => fbdev}/uvesafb.c | 0
drivers/video/{ => fbdev}/valkyriefb.c | 0
drivers/video/{ => fbdev}/valkyriefb.h | 0
drivers/video/{ => fbdev}/vermilion/Makefile | 0
drivers/video/{ => fbdev}/vermilion/cr_pll.c | 0
drivers/video/{ => fbdev}/vermilion/vermilion.c | 0
drivers/video/{ => fbdev}/vermilion/vermilion.h | 0
drivers/video/{ => fbdev}/vesafb.c | 0
drivers/video/{ => fbdev}/vfb.c | 0
drivers/video/{ => fbdev}/vga16fb.c | 0
drivers/video/{ => fbdev}/via/Makefile | 0
drivers/video/{ => fbdev}/via/accel.c | 0
drivers/video/{ => fbdev}/via/accel.h | 0
drivers/video/{ => fbdev}/via/chip.h | 0
drivers/video/{ => fbdev}/via/debug.h | 0
drivers/video/{ => fbdev}/via/dvi.c | 0
drivers/video/{ => fbdev}/via/dvi.h | 0
drivers/video/{ => fbdev}/via/global.c | 0
drivers/video/{ => fbdev}/via/global.h | 0
drivers/video/{ => fbdev}/via/hw.c | 0
drivers/video/{ => fbdev}/via/hw.h | 0
drivers/video/{ => fbdev}/via/ioctl.c | 0
drivers/video/{ => fbdev}/via/ioctl.h | 0
drivers/video/{ => fbdev}/via/lcd.c | 0
drivers/video/{ => fbdev}/via/lcd.h | 0
drivers/video/{ => fbdev}/via/share.h | 0
drivers/video/{ => fbdev}/via/tblDPASetting.c | 0
drivers/video/{ => fbdev}/via/tblDPASetting.h | 0
drivers/video/{ => fbdev}/via/via-core.c | 0
drivers/video/{ => fbdev}/via/via-gpio.c | 0
drivers/video/{ => fbdev}/via/via_aux.c | 0
drivers/video/{ => fbdev}/via/via_aux.h | 0
drivers/video/{ => fbdev}/via/via_aux_ch7301.c | 0
drivers/video/{ => fbdev}/via/via_aux_edid.c | 0
drivers/video/{ => fbdev}/via/via_aux_sii164.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1621.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1622.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1625.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1631.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1632.c | 0
drivers/video/{ => fbdev}/via/via_aux_vt1636.c | 0
drivers/video/{ => fbdev}/via/via_clock.c | 0
drivers/video/{ => fbdev}/via/via_clock.h | 0
drivers/video/{ => fbdev}/via/via_i2c.c | 0
drivers/video/{ => fbdev}/via/via_modesetting.c | 0
drivers/video/{ => fbdev}/via/via_modesetting.h | 0
drivers/video/{ => fbdev}/via/via_utility.c | 0
drivers/video/{ => fbdev}/via/via_utility.h | 0
drivers/video/{ => fbdev}/via/viafbdev.c | 0
drivers/video/{ => fbdev}/via/viafbdev.h | 0
drivers/video/{ => fbdev}/via/viamode.c | 0
drivers/video/{ => fbdev}/via/viamode.h | 0
drivers/video/{ => fbdev}/via/vt1636.c | 0
drivers/video/{ => fbdev}/via/vt1636.h | 0
drivers/video/{ => fbdev}/vt8500lcdfb.c | 0
drivers/video/{ => fbdev}/vt8500lcdfb.h | 0
drivers/video/{ => fbdev}/vt8623fb.c | 0
drivers/video/{ => fbdev}/w100fb.c | 0
drivers/video/{ => fbdev}/w100fb.h | 0
drivers/video/{ => fbdev}/wm8505fb.c | 0
drivers/video/{ => fbdev}/wm8505fb_regs.h | 0
drivers/video/{ => fbdev}/wmt_ge_rops.c | 2 +-
drivers/video/{ => fbdev}/wmt_ge_rops.h | 0
drivers/video/{ => fbdev}/xen-fbfront.c | 0
drivers/video/{ => fbdev}/xilinxfb.c | 0
drivers/video/omap2/Kconfig | 10 -
482 files changed, 2682 insertions(+), 2666 deletions(-)
rename drivers/video/{ => fbdev}/68328fb.c (100%)
create mode 100644 drivers/video/fbdev/Kconfig
create mode 100644 drivers/video/fbdev/Makefile
rename drivers/video/{ => fbdev}/acornfb.c (100%)
rename drivers/video/{ => fbdev}/acornfb.h (100%)
rename drivers/video/{ => fbdev}/amba-clcd.c (100%)
rename drivers/video/{ => fbdev}/amifb.c (100%)
rename drivers/video/{ => fbdev}/arcfb.c (100%)
rename drivers/video/{ => fbdev}/arkfb.c (100%)
rename drivers/video/{ => fbdev}/asiliantfb.c (100%)
rename drivers/video/{ => fbdev}/atafb.c (100%)
rename drivers/video/{ => fbdev}/atafb.h (100%)
rename drivers/video/{ => fbdev}/atafb_iplan2p2.c (100%)
rename drivers/video/{ => fbdev}/atafb_iplan2p4.c (100%)
rename drivers/video/{ => fbdev}/atafb_iplan2p8.c (100%)
rename drivers/video/{ => fbdev}/atafb_mfb.c (100%)
rename drivers/video/{ => fbdev}/atafb_utils.h (100%)
rename drivers/video/{ => fbdev}/atmel_lcdfb.c (100%)
rename drivers/video/{ => fbdev}/aty/Makefile (100%)
rename drivers/video/{ => fbdev}/aty/ati_ids.h (100%)
rename drivers/video/{ => fbdev}/aty/aty128fb.c (100%)
rename drivers/video/{ => fbdev}/aty/atyfb.h (100%)
rename drivers/video/{ => fbdev}/aty/atyfb_base.c (100%)
rename drivers/video/{ => fbdev}/aty/mach64_accel.c (100%)
rename drivers/video/{ => fbdev}/aty/mach64_ct.c (100%)
rename drivers/video/{ => fbdev}/aty/mach64_cursor.c (99%)
rename drivers/video/{ => fbdev}/aty/mach64_gx.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_accel.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_backlight.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_base.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_i2c.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_monitor.c (100%)
rename drivers/video/{ => fbdev}/aty/radeon_pm.c (100%)
rename drivers/video/{ => fbdev}/aty/radeonfb.h (100%)
rename drivers/video/{ => fbdev}/au1100fb.c (100%)
rename drivers/video/{ => fbdev}/au1100fb.h (100%)
rename drivers/video/{ => fbdev}/au1200fb.c (100%)
rename drivers/video/{ => fbdev}/au1200fb.h (100%)
rename drivers/video/{ => fbdev}/auo_k1900fb.c (100%)
rename drivers/video/{ => fbdev}/auo_k1901fb.c (100%)
rename drivers/video/{ => fbdev}/auo_k190x.c (100%)
rename drivers/video/{ => fbdev}/auo_k190x.h (100%)
rename drivers/video/{ => fbdev}/bf537-lq035.c (100%)
rename drivers/video/{ => fbdev}/bf54x-lq043fb.c (100%)
rename drivers/video/{ => fbdev}/bfin-lq035q1-fb.c (100%)
rename drivers/video/{ => fbdev}/bfin-t350mcqb-fb.c (100%)
rename drivers/video/{ => fbdev}/bfin_adv7393fb.c (100%)
rename drivers/video/{ => fbdev}/bfin_adv7393fb.h (100%)
rename drivers/video/{ => fbdev}/broadsheetfb.c (100%)
rename drivers/video/{ => fbdev}/bt431.h (100%)
rename drivers/video/{ => fbdev}/bt455.h (100%)
rename drivers/video/{ => fbdev}/bw2.c (100%)
rename drivers/video/{ => fbdev}/c2p.h (100%)
rename drivers/video/{ => fbdev}/c2p_core.h (100%)
rename drivers/video/{ => fbdev}/c2p_iplan2.c (100%)
rename drivers/video/{ => fbdev}/c2p_planar.c (100%)
rename drivers/video/{ => fbdev}/carminefb.c (100%)
rename drivers/video/{ => fbdev}/carminefb.h (100%)
rename drivers/video/{ => fbdev}/carminefb_regs.h (100%)
rename drivers/video/{ => fbdev}/cg14.c (100%)
rename drivers/video/{ => fbdev}/cg3.c (100%)
rename drivers/video/{ => fbdev}/cg6.c (100%)
rename drivers/video/{ => fbdev}/chipsfb.c (100%)
rename drivers/video/{ => fbdev}/cirrusfb.c (100%)
rename drivers/video/{ => fbdev}/clps711xfb.c (100%)
rename drivers/video/{ => fbdev}/cobalt_lcdfb.c (100%)
rename drivers/video/{ => fbdev}/controlfb.c (100%)
rename drivers/video/{ => fbdev}/controlfb.h (100%)
create mode 100644 drivers/video/fbdev/core/Makefile
rename drivers/video/{ => fbdev/core}/cfbcopyarea.c (100%)
rename drivers/video/{ => fbdev/core}/cfbfillrect.c (100%)
rename drivers/video/{ => fbdev/core}/cfbimgblt.c (100%)
rename drivers/video/{ => fbdev/core}/fb_ddc.c (99%)
rename drivers/video/{ => fbdev/core}/fb_defio.c (100%)
rename drivers/video/{ => fbdev/core}/fb_draw.h (100%)
rename drivers/video/{ => fbdev/core}/fb_notify.c (100%)
rename drivers/video/{ => fbdev/core}/fb_sys_fops.c (100%)
rename drivers/video/{ => fbdev/core}/fbcmap.c (100%)
rename drivers/video/{ => fbdev/core}/fbcvt.c (100%)
rename drivers/video/{ => fbdev/core}/fbmem.c (100%)
rename drivers/video/{ => fbdev/core}/fbmon.c (99%)
rename drivers/video/{ => fbdev/core}/fbsysfs.c (100%)
rename drivers/video/{ => fbdev/core}/modedb.c (100%)
rename drivers/video/{ => fbdev/core}/svgalib.c (100%)
rename drivers/video/{ => fbdev/core}/syscopyarea.c (100%)
rename drivers/video/{ => fbdev/core}/sysfillrect.c (100%)
rename drivers/video/{ => fbdev/core}/sysimgblt.c (100%)
rename drivers/video/{ => fbdev}/cyber2000fb.c (100%)
rename drivers/video/{ => fbdev}/cyber2000fb.h (100%)
rename drivers/video/{ => fbdev}/da8xx-fb.c (100%)
rename drivers/video/{ => fbdev}/dnfb.c (100%)
rename drivers/video/{ => fbdev}/edid.h (100%)
rename drivers/video/{ => fbdev}/efifb.c (100%)
rename drivers/video/{ => fbdev}/ep93xx-fb.c (100%)
rename drivers/video/{ => fbdev}/exynos/Kconfig (100%)
rename drivers/video/{ => fbdev}/exynos/Makefile (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi.c (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi_common.c (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi_common.h (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi_lowlevel.c (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi_lowlevel.h (100%)
rename drivers/video/{ => fbdev}/exynos/exynos_mipi_dsi_regs.h (100%)
rename drivers/video/{ => fbdev}/exynos/s6e8ax0.c (100%)
rename drivers/video/{ => fbdev}/fb-puv3.c (100%)
rename drivers/video/{ => fbdev}/ffb.c (100%)
rename drivers/video/{ => fbdev}/fm2fb.c (100%)
rename drivers/video/{ => fbdev}/fsl-diu-fb.c (100%)
rename drivers/video/{ => fbdev}/g364fb.c (100%)
rename drivers/video/{ => fbdev}/gbefb.c (100%)
rename drivers/video/{ => fbdev}/geode/Kconfig (100%)
rename drivers/video/{ => fbdev}/geode/Makefile (100%)
rename drivers/video/{ => fbdev}/geode/display_gx.c (100%)
rename drivers/video/{ => fbdev}/geode/display_gx1.c (100%)
rename drivers/video/{ => fbdev}/geode/display_gx1.h (100%)
rename drivers/video/{ => fbdev}/geode/geodefb.h (100%)
rename drivers/video/{ => fbdev}/geode/gx1fb_core.c (100%)
rename drivers/video/{ => fbdev}/geode/gxfb.h (100%)
rename drivers/video/{ => fbdev}/geode/gxfb_core.c (100%)
rename drivers/video/{ => fbdev}/geode/lxfb.h (100%)
rename drivers/video/{ => fbdev}/geode/lxfb_core.c (100%)
rename drivers/video/{ => fbdev}/geode/lxfb_ops.c (100%)
rename drivers/video/{ => fbdev}/geode/suspend_gx.c (100%)
rename drivers/video/{ => fbdev}/geode/video_cs5530.c (100%)
rename drivers/video/{ => fbdev}/geode/video_cs5530.h (100%)
rename drivers/video/{ => fbdev}/geode/video_gx.c (100%)
rename drivers/video/{ => fbdev}/goldfishfb.c (100%)
rename drivers/video/{ => fbdev}/grvga.c (100%)
rename drivers/video/{ => fbdev}/gxt4500.c (100%)
rename drivers/video/{ => fbdev}/hecubafb.c (100%)
rename drivers/video/{ => fbdev}/hgafb.c (100%)
rename drivers/video/{ => fbdev}/hitfb.c (100%)
rename drivers/video/{ => fbdev}/hpfb.c (100%)
rename drivers/video/{ => fbdev}/hyperv_fb.c (100%)
rename drivers/video/{ => fbdev}/i740_reg.h (100%)
rename drivers/video/{ => fbdev}/i740fb.c (100%)
rename drivers/video/{ => fbdev}/i810/Makefile (100%)
rename drivers/video/{ => fbdev}/i810/i810-i2c.c (100%)
rename drivers/video/{ => fbdev}/i810/i810.h (100%)
rename drivers/video/{ => fbdev}/i810/i810_accel.c (100%)
rename drivers/video/{ => fbdev}/i810/i810_dvt.c (100%)
rename drivers/video/{ => fbdev}/i810/i810_gtf.c (100%)
rename drivers/video/{ => fbdev}/i810/i810_main.c (100%)
rename drivers/video/{ => fbdev}/i810/i810_main.h (100%)
rename drivers/video/{ => fbdev}/i810/i810_regs.h (100%)
rename drivers/video/{ => fbdev}/igafb.c (100%)
rename drivers/video/{ => fbdev}/imsttfb.c (100%)
rename drivers/video/{ => fbdev}/imxfb.c (100%)
rename drivers/video/{ => fbdev}/intelfb/Makefile (100%)
rename drivers/video/{ => fbdev}/intelfb/intelfb.h (100%)
rename drivers/video/{ => fbdev}/intelfb/intelfb_i2c.c (100%)
rename drivers/video/{ => fbdev}/intelfb/intelfbdrv.c (100%)
rename drivers/video/{ => fbdev}/intelfb/intelfbhw.c (100%)
rename drivers/video/{ => fbdev}/intelfb/intelfbhw.h (100%)
rename drivers/video/{ => fbdev}/jz4740_fb.c (100%)
rename drivers/video/{ => fbdev}/kyro/Makefile (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000InitDevice.c (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000Interface.h (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000OverlayDevice.c (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000Ramdac.c (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000Reg.h (100%)
rename drivers/video/{ => fbdev}/kyro/STG4000VTG.c (100%)
rename drivers/video/{ => fbdev}/kyro/fbdev.c (100%)
rename drivers/video/{ => fbdev}/leo.c (100%)
rename drivers/video/{ => fbdev}/macfb.c (100%)
rename drivers/video/{ => fbdev}/macmodes.c (100%)
rename drivers/video/{ => fbdev}/macmodes.h (100%)
rename drivers/video/{ => fbdev}/matrox/Makefile (100%)
rename drivers/video/{ => fbdev}/matrox/g450_pll.c (100%)
rename drivers/video/{ => fbdev}/matrox/g450_pll.h (100%)
rename drivers/video/{ => fbdev}/matrox/i2c-matroxfb.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_DAC1064.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_DAC1064.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_Ti3026.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_Ti3026.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_accel.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_accel.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_base.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_base.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_crtc2.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_crtc2.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_g450.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_g450.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_maven.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_maven.h (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_misc.c (100%)
rename drivers/video/{ => fbdev}/matrox/matroxfb_misc.h (100%)
rename drivers/video/{ => fbdev}/maxinefb.c (100%)
rename drivers/video/{ => fbdev}/mb862xx/Makefile (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xx-i2c.c (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xx_reg.h (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xxfb.h (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xxfb_accel.c (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xxfb_accel.h (100%)
rename drivers/video/{ => fbdev}/mb862xx/mb862xxfbdrv.c (100%)
rename drivers/video/{ => fbdev}/mbx/Makefile (100%)
rename drivers/video/{ => fbdev}/mbx/mbxdebugfs.c (100%)
rename drivers/video/{ => fbdev}/mbx/mbxfb.c (100%)
rename drivers/video/{ => fbdev}/mbx/reg_bits.h (100%)
rename drivers/video/{ => fbdev}/mbx/regs.h (100%)
rename drivers/video/{ => fbdev}/metronomefb.c (100%)
rename drivers/video/{ => fbdev}/mmp/Kconfig (61%)
rename drivers/video/{ => fbdev}/mmp/Makefile (100%)
rename drivers/video/{ => fbdev}/mmp/core.c (100%)
rename drivers/video/{ => fbdev}/mmp/fb/Kconfig (100%)
rename drivers/video/{ => fbdev}/mmp/fb/Makefile (100%)
rename drivers/video/{ => fbdev}/mmp/fb/mmpfb.c (100%)
rename drivers/video/{ => fbdev}/mmp/fb/mmpfb.h (100%)
rename drivers/video/{ => fbdev}/mmp/hw/Kconfig (100%)
rename drivers/video/{ => fbdev}/mmp/hw/Makefile (100%)
rename drivers/video/{ => fbdev}/mmp/hw/mmp_ctrl.c (100%)
rename drivers/video/{ => fbdev}/mmp/hw/mmp_ctrl.h (100%)
rename drivers/video/{ => fbdev}/mmp/hw/mmp_spi.c (100%)
rename drivers/video/{ => fbdev}/mmp/panel/Kconfig (100%)
rename drivers/video/{ => fbdev}/mmp/panel/Makefile (100%)
rename drivers/video/{ => fbdev}/mmp/panel/tpo_tj032md01bw.c (100%)
rename drivers/video/{ => fbdev}/msm/Makefile (100%)
rename drivers/video/{ => fbdev}/msm/mddi.c (100%)
rename drivers/video/{ => fbdev}/msm/mddi_client_dummy.c (100%)
rename drivers/video/{ => fbdev}/msm/mddi_client_nt35399.c (100%)
rename drivers/video/{ => fbdev}/msm/mddi_client_toshiba.c (100%)
rename drivers/video/{ => fbdev}/msm/mddi_hw.h (100%)
rename drivers/video/{ => fbdev}/msm/mdp.c (100%)
rename drivers/video/{ => fbdev}/msm/mdp_csc_table.h (100%)
rename drivers/video/{ => fbdev}/msm/mdp_hw.h (100%)
rename drivers/video/{ => fbdev}/msm/mdp_ppp.c (100%)
rename drivers/video/{ => fbdev}/msm/mdp_scale_tables.c (100%)
rename drivers/video/{ => fbdev}/msm/mdp_scale_tables.h (100%)
rename drivers/video/{ => fbdev}/msm/msm_fb.c (100%)
rename drivers/video/{ => fbdev}/mx3fb.c (100%)
rename drivers/video/{ => fbdev}/mxsfb.c (100%)
rename drivers/video/{ => fbdev}/n411.c (100%)
rename drivers/video/{ => fbdev}/neofb.c (100%)
rename drivers/video/{ => fbdev}/nuc900fb.c (100%)
rename drivers/video/{ => fbdev}/nuc900fb.h (100%)
rename drivers/video/{ => fbdev}/nvidia/Makefile (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_accel.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_backlight.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_dma.h (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_hw.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_i2c.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_local.h (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_of.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_proto.h (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_setup.c (100%)
rename drivers/video/{ => fbdev}/nvidia/nv_type.h (100%)
rename drivers/video/{ => fbdev}/nvidia/nvidia.c (100%)
rename drivers/video/{ => fbdev}/ocfb.c (100%)
rename drivers/video/{ => fbdev}/offb.c (100%)
rename drivers/video/{ => fbdev}/omap/Kconfig (100%)
rename drivers/video/{ => fbdev}/omap/Makefile (100%)
rename drivers/video/{ => fbdev}/omap/hwa742.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_ams_delta.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_h3.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_htcherald.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_inn1510.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_inn1610.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_mipid.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_osk.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_palmte.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_palmtt.c (100%)
rename drivers/video/{ => fbdev}/omap/lcd_palmz71.c (100%)
rename drivers/video/{ => fbdev}/omap/lcdc.c (100%)
rename drivers/video/{ => fbdev}/omap/lcdc.h (100%)
rename drivers/video/{ => fbdev}/omap/omapfb.h (100%)
rename drivers/video/{ => fbdev}/omap/omapfb_main.c (100%)
rename drivers/video/{ => fbdev}/omap/sossi.c (100%)
create mode 100644 drivers/video/fbdev/omap2/Kconfig
rename drivers/video/{ => fbdev}/omap2/Makefile (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/Kconfig (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/Makefile (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/connector-analog-tv.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/connector-dvi.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/connector-hdmi.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/encoder-tfp410.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/encoder-tpd12s015.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-dpi.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-dsi-cm.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-lgphilips-lb035q02.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-nec-nl8048hl11.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-sharp-ls037v7dw01.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-sony-acx565akm.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-tpo-td028ttec1.c (100%)
rename drivers/video/{ => fbdev}/omap2/displays-new/panel-tpo-td043mtea1.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/Kconfig (100%)
rename drivers/video/{ => fbdev}/omap2/dss/Makefile (100%)
rename drivers/video/{ => fbdev}/omap2/dss/apply.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/core.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dispc-compat.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dispc-compat.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dispc.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dispc.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dispc_coefs.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/display-sysfs.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/display.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dpi.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dsi.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dss-of.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dss.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dss.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dss_features.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/dss_features.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi4.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi4_core.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi4_core.h (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi_common.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi_phy.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi_pll.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/hdmi_wp.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/manager-sysfs.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/manager.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/output.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/overlay-sysfs.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/overlay.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/rfbi.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/sdi.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/venc.c (100%)
rename drivers/video/{ => fbdev}/omap2/dss/venc_panel.c (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/Kconfig (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/Makefile (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/omapfb-ioctl.c (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/omapfb-main.c (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/omapfb-sysfs.c (100%)
rename drivers/video/{ => fbdev}/omap2/omapfb/omapfb.h (100%)
rename drivers/video/{ => fbdev}/omap2/vrfb.c (100%)
rename drivers/video/{ => fbdev}/p9100.c (100%)
rename drivers/video/{ => fbdev}/platinumfb.c (100%)
rename drivers/video/{ => fbdev}/platinumfb.h (100%)
rename drivers/video/{ => fbdev}/pm2fb.c (100%)
rename drivers/video/{ => fbdev}/pm3fb.c (100%)
rename drivers/video/{ => fbdev}/pmag-aa-fb.c (100%)
rename drivers/video/{ => fbdev}/pmag-ba-fb.c (100%)
rename drivers/video/{ => fbdev}/pmagb-b-fb.c (100%)
rename drivers/video/{ => fbdev}/ps3fb.c (100%)
rename drivers/video/{ => fbdev}/pvr2fb.c (100%)
rename drivers/video/{ => fbdev}/pxa168fb.c (100%)
rename drivers/video/{ => fbdev}/pxa168fb.h (100%)
rename drivers/video/{ => fbdev}/pxa3xx-gcu.c (100%)
rename drivers/video/{ => fbdev}/pxa3xx-gcu.h (100%)
rename drivers/video/{ => fbdev}/pxafb.c (100%)
rename drivers/video/{ => fbdev}/pxafb.h (100%)
rename drivers/video/{ => fbdev}/q40fb.c (100%)
rename drivers/video/{ => fbdev}/riva/Makefile (100%)
rename drivers/video/{ => fbdev}/riva/fbdev.c (100%)
rename drivers/video/{ => fbdev}/riva/nv_driver.c (100%)
rename drivers/video/{ => fbdev}/riva/nv_type.h (100%)
rename drivers/video/{ => fbdev}/riva/nvreg.h (100%)
rename drivers/video/{ => fbdev}/riva/riva_hw.c (100%)
rename drivers/video/{ => fbdev}/riva/riva_hw.h (100%)
rename drivers/video/{ => fbdev}/riva/riva_tbl.h (100%)
rename drivers/video/{ => fbdev}/riva/rivafb-i2c.c (100%)
rename drivers/video/{ => fbdev}/riva/rivafb.h (100%)
rename drivers/video/{ => fbdev}/s1d13xxxfb.c (100%)
rename drivers/video/{ => fbdev}/s3c-fb.c (100%)
rename drivers/video/{ => fbdev}/s3c2410fb.c (100%)
rename drivers/video/{ => fbdev}/s3c2410fb.h (100%)
rename drivers/video/{ => fbdev}/s3fb.c (100%)
rename drivers/video/{ => fbdev}/sa1100fb.c (100%)
rename drivers/video/{ => fbdev}/sa1100fb.h (100%)
rename drivers/video/{ => fbdev}/savage/Makefile (100%)
rename drivers/video/{ => fbdev}/savage/savagefb-i2c.c (100%)
rename drivers/video/{ => fbdev}/savage/savagefb.h (100%)
rename drivers/video/{ => fbdev}/savage/savagefb_accel.c (100%)
rename drivers/video/{ => fbdev}/savage/savagefb_driver.c (100%)
rename drivers/video/{ => fbdev}/sbuslib.c (100%)
rename drivers/video/{ => fbdev}/sbuslib.h (100%)
rename drivers/video/{ => fbdev}/sh7760fb.c (100%)
rename drivers/video/{ => fbdev}/sh_mipi_dsi.c (100%)
rename drivers/video/{ => fbdev}/sh_mobile_hdmi.c (100%)
rename drivers/video/{ => fbdev}/sh_mobile_lcdcfb.c (100%)
rename drivers/video/{ => fbdev}/sh_mobile_lcdcfb.h (100%)
rename drivers/video/{ => fbdev}/sh_mobile_meram.c (100%)
rename drivers/video/{ => fbdev}/simplefb.c (100%)
rename drivers/video/{ => fbdev}/sis/300vtbl.h (100%)
rename drivers/video/{ => fbdev}/sis/310vtbl.h (100%)
rename drivers/video/{ => fbdev}/sis/Makefile (100%)
rename drivers/video/{ => fbdev}/sis/init.c (100%)
rename drivers/video/{ => fbdev}/sis/init.h (100%)
rename drivers/video/{ => fbdev}/sis/init301.c (100%)
rename drivers/video/{ => fbdev}/sis/init301.h (100%)
rename drivers/video/{ => fbdev}/sis/initdef.h (100%)
rename drivers/video/{ => fbdev}/sis/initextlfb.c (100%)
rename drivers/video/{ => fbdev}/sis/oem300.h (100%)
rename drivers/video/{ => fbdev}/sis/oem310.h (100%)
rename drivers/video/{ => fbdev}/sis/sis.h (100%)
rename drivers/video/{ => fbdev}/sis/sis_accel.c (100%)
rename drivers/video/{ => fbdev}/sis/sis_accel.h (100%)
rename drivers/video/{ => fbdev}/sis/sis_main.c (100%)
rename drivers/video/{ => fbdev}/sis/sis_main.h (100%)
rename drivers/video/{ => fbdev}/sis/vgatypes.h (100%)
rename drivers/video/{ => fbdev}/sis/vstruct.h (100%)
rename drivers/video/{ => fbdev}/skeletonfb.c (100%)
rename drivers/video/{ => fbdev}/sm501fb.c (100%)
rename drivers/video/{ => fbdev}/smscufx.c (100%)
rename drivers/video/{ => fbdev}/ssd1307fb.c (100%)
rename drivers/video/{ => fbdev}/sstfb.c (100%)
rename drivers/video/{ => fbdev}/sticore.h (100%)
rename drivers/video/{ => fbdev}/stifb.c (100%)
rename drivers/video/{ => fbdev}/sunxvr1000.c (100%)
rename drivers/video/{ => fbdev}/sunxvr2500.c (100%)
rename drivers/video/{ => fbdev}/sunxvr500.c (100%)
rename drivers/video/{ => fbdev}/tcx.c (100%)
rename drivers/video/{ => fbdev}/tdfxfb.c (100%)
rename drivers/video/{ => fbdev}/tgafb.c (100%)
rename drivers/video/{ => fbdev}/tmiofb.c (100%)
rename drivers/video/{ => fbdev}/tridentfb.c (100%)
rename drivers/video/{ => fbdev}/udlfb.c (100%)
rename drivers/video/{ => fbdev}/uvesafb.c (100%)
rename drivers/video/{ => fbdev}/valkyriefb.c (100%)
rename drivers/video/{ => fbdev}/valkyriefb.h (100%)
rename drivers/video/{ => fbdev}/vermilion/Makefile (100%)
rename drivers/video/{ => fbdev}/vermilion/cr_pll.c (100%)
rename drivers/video/{ => fbdev}/vermilion/vermilion.c (100%)
rename drivers/video/{ => fbdev}/vermilion/vermilion.h (100%)
rename drivers/video/{ => fbdev}/vesafb.c (100%)
rename drivers/video/{ => fbdev}/vfb.c (100%)
rename drivers/video/{ => fbdev}/vga16fb.c (100%)
rename drivers/video/{ => fbdev}/via/Makefile (100%)
rename drivers/video/{ => fbdev}/via/accel.c (100%)
rename drivers/video/{ => fbdev}/via/accel.h (100%)
rename drivers/video/{ => fbdev}/via/chip.h (100%)
rename drivers/video/{ => fbdev}/via/debug.h (100%)
rename drivers/video/{ => fbdev}/via/dvi.c (100%)
rename drivers/video/{ => fbdev}/via/dvi.h (100%)
rename drivers/video/{ => fbdev}/via/global.c (100%)
rename drivers/video/{ => fbdev}/via/global.h (100%)
rename drivers/video/{ => fbdev}/via/hw.c (100%)
rename drivers/video/{ => fbdev}/via/hw.h (100%)
rename drivers/video/{ => fbdev}/via/ioctl.c (100%)
rename drivers/video/{ => fbdev}/via/ioctl.h (100%)
rename drivers/video/{ => fbdev}/via/lcd.c (100%)
rename drivers/video/{ => fbdev}/via/lcd.h (100%)
rename drivers/video/{ => fbdev}/via/share.h (100%)
rename drivers/video/{ => fbdev}/via/tblDPASetting.c (100%)
rename drivers/video/{ => fbdev}/via/tblDPASetting.h (100%)
rename drivers/video/{ => fbdev}/via/via-core.c (100%)
rename drivers/video/{ => fbdev}/via/via-gpio.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux.h (100%)
rename drivers/video/{ => fbdev}/via/via_aux_ch7301.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_edid.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_sii164.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1621.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1622.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1625.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1631.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1632.c (100%)
rename drivers/video/{ => fbdev}/via/via_aux_vt1636.c (100%)
rename drivers/video/{ => fbdev}/via/via_clock.c (100%)
rename drivers/video/{ => fbdev}/via/via_clock.h (100%)
rename drivers/video/{ => fbdev}/via/via_i2c.c (100%)
rename drivers/video/{ => fbdev}/via/via_modesetting.c (100%)
rename drivers/video/{ => fbdev}/via/via_modesetting.h (100%)
rename drivers/video/{ => fbdev}/via/via_utility.c (100%)
rename drivers/video/{ => fbdev}/via/via_utility.h (100%)
rename drivers/video/{ => fbdev}/via/viafbdev.c (100%)
rename drivers/video/{ => fbdev}/via/viafbdev.h (100%)
rename drivers/video/{ => fbdev}/via/viamode.c (100%)
rename drivers/video/{ => fbdev}/via/viamode.h (100%)
rename drivers/video/{ => fbdev}/via/vt1636.c (100%)
rename drivers/video/{ => fbdev}/via/vt1636.h (100%)
rename drivers/video/{ => fbdev}/vt8500lcdfb.c (100%)
rename drivers/video/{ => fbdev}/vt8500lcdfb.h (100%)
rename drivers/video/{ => fbdev}/vt8623fb.c (100%)
rename drivers/video/{ => fbdev}/w100fb.c (100%)
rename drivers/video/{ => fbdev}/w100fb.h (100%)
rename drivers/video/{ => fbdev}/wm8505fb.c (100%)
rename drivers/video/{ => fbdev}/wm8505fb_regs.h (100%)
rename drivers/video/{ => fbdev}/wmt_ge_rops.c (99%)
rename drivers/video/{ => fbdev}/wmt_ge_rops.h (100%)
rename drivers/video/{ => fbdev}/xen-fbfront.c (100%)
rename drivers/video/{ => fbdev}/xilinxfb.c (100%)
delete mode 100644 drivers/video/omap2/Kconfig
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [GIT PULL] fbdev fixes for 3.15
From: Tomi Valkeinen @ 2014-04-17 7:08 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, linux-fbdev, Stephen Rothwell
In-Reply-To: <CA+55aFz7Hgjc9wmiriqGT8VXNF-7b0aUKf96r=TCP+1NOTSVeQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 698 bytes --]
On 17/04/14 02:04, Linus Torvalds wrote:
> On Wed, Apr 16, 2014 at 2:03 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>>
>> The drivers/video/Kconfig change in this pull request will conflict with the
>> fbdev reorder series, which is not yet in your tree. If that's an issue, I can
>> resend this without the Kconfig change.
>
> I was actually hoping/expecting you to just resend the renaming
> rebased on top of 3.15-rc1. Or maybe you could do it on top of this.
Oh, sorry. I somehow got the impression that you were fine with what I
had sent, and you'll just merge it after -rc1.
I'll send a rebased version, based on fbdev-fixes-3.15. So pull this one
first.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH] video: mx3fb: Add backlight support
From: Alexander Stein @ 2014-04-17 6:05 UTC (permalink / raw)
To: linux-fbdev
In-Reply-To: <1396510675-14969-1-git-send-email-alexander.stein@systec-electronic.com>
Any feedback on this?
Alexander
On Thursday 03 April 2014 09:37:55, Alexander Stein wrote:
> Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
> ---
> drivers/video/mx3fb.c | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 98 insertions(+)
>
> diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c
> index 142e860..10a7244 100644
> --- a/drivers/video/mx3fb.c
> +++ b/drivers/video/mx3fb.c
> @@ -27,6 +27,7 @@
> #include <linux/clk.h>
> #include <linux/mutex.h>
> #include <linux/dma/ipu-dma.h>
> +#include <linux/backlight.h>
>
> #include <linux/platform_data/dma-imx.h>
> #include <linux/platform_data/video-mx3fb.h>
> @@ -34,6 +35,12 @@
> #include <asm/io.h>
> #include <asm/uaccess.h>
>
> +#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || \
> + (defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE) && \
> + defined(CONFIG_MX3FB_MODULE))
> +#define PWM_BACKLIGHT_AVAILABLE
> +#endif
> +
> #define MX3FB_NAME "mx3_sdc_fb"
>
> #define MX3FB_REG_OFFSET 0xB4
> @@ -242,6 +249,10 @@ struct mx3fb_data {
> spinlock_t lock;
> struct device *dev;
>
> +#ifdef PWM_BACKLIGHT_AVAILABLE
> + struct backlight_device *bl;
> +#endif
> +
> uint32_t h_start_width;
> uint32_t v_start_width;
> enum disp_data_mapping disp_data_fmt;
> @@ -271,6 +282,74 @@ struct mx3fb_info {
> struct fb_var_screeninfo cur_var; /* current var info */
> };
>
> +static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value);
> +
> +#ifdef PWM_BACKLIGHT_AVAILABLE
> +static u32 sdc_get_brightness(struct mx3fb_data *mx3fb);
> +
> +static int mx3fb_bl_get_brightness(struct backlight_device *bl)
> +{
> + struct mx3fb_data *fbd = bl_get_data(bl);
> +
> + return sdc_get_brightness(fbd);
> +}
> +
> +static int mx3fb_bl_update_status(struct backlight_device *bl)
> +{
> + struct mx3fb_data *fbd = bl_get_data(bl);
> + int brightness = bl->props.brightness;
> +
> + if (bl->props.power != FB_BLANK_UNBLANK)
> + brightness = 0;
> + if (bl->props.fb_blank != FB_BLANK_UNBLANK)
> + brightness = 0;
> +
> + fbd->backlight_level = (fbd->backlight_level & ~0xFF) | brightness;
> +
> + sdc_set_brightness(fbd, fbd->backlight_level);
> +
> + return 0;
> +}
> +
> +static const struct backlight_ops mx3fb_lcdc_bl_ops = {
> + .update_status = mx3fb_bl_update_status,
> + .get_brightness = mx3fb_bl_get_brightness,
> +};
> +
> +static void mx3fb_init_backlight(struct mx3fb_data *fbd)
> +{
> + struct backlight_properties props;
> + struct backlight_device *bl;
> +
> + if (fbd->bl)
> + return;
> +
> + memset(&props, 0, sizeof(struct backlight_properties));
> + props.max_brightness = 0xff;
> + props.type = BACKLIGHT_RAW;
> + sdc_set_brightness(fbd, fbd->backlight_level);
> +
> + bl = backlight_device_register("mx3fb-bl", fbd->dev, fbd,
> + &mx3fb_lcdc_bl_ops, &props);
> + if (IS_ERR(bl)) {
> + dev_err(fbd->dev, "error %ld on backlight register\n",
> + PTR_ERR(bl));
> + return;
> + }
> +
> + fbd->bl = bl;
> + bl->props.power = FB_BLANK_UNBLANK;
> + bl->props.fb_blank = FB_BLANK_UNBLANK;
> + bl->props.brightness = mx3fb_bl_get_brightness(bl);
> +}
> +
> +static void mx3fb_exit_backlight(struct mx3fb_data *fbd)
> +{
> + if (fbd->bl)
> + backlight_device_unregister(fbd->bl);
> +}
> +#endif
> +
> static void mx3fb_dma_done(void *);
>
> /* Used fb-mode and bpp. Can be set on kernel command line, therefore file-static. */
> @@ -628,6 +707,18 @@ static int sdc_set_global_alpha(struct mx3fb_data *mx3fb, bool enable, uint8_t a
> return 0;
> }
>
> +#ifdef PWM_BACKLIGHT_AVAILABLE
> +static u32 sdc_get_brightness(struct mx3fb_data *mx3fb)
> +{
> + u32 brightness;
> +
> + brightness = mx3fb_read_reg(mx3fb, SDC_PWM_CTRL);
> + brightness = (brightness >> 16) & 0xFF;
> +
> + return brightness;
> +}
> +#endif
> +
> static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value)
> {
> dev_dbg(mx3fb->dev, "%s: value = %d\n", __func__, value);
> @@ -1534,6 +1625,9 @@ static int mx3fb_probe(struct platform_device *pdev)
> if (ret < 0)
> goto eisdc0;
>
> +#ifdef PWM_BACKLIGHT_AVAILABLE
> + mx3fb_init_backlight(mx3fb);
> +#endif
> return 0;
>
> eisdc0:
> @@ -1557,6 +1651,10 @@ static int mx3fb_remove(struct platform_device *dev)
> chan = &mx3_fbi->idmac_channel->dma_chan;
> release_fbi(fbi);
>
> +#ifdef PWM_BACKLIGHT_AVAILABLE
> + mx3fb_exit_backlight(mx3fb);
> +#endif
> +
> dma_release_channel(chan);
> dmaengine_put();
>
>
--
Dipl.-Inf. Alexander Stein
SYS TEC electronic GmbH
Am Windrad 2
08468 Heinsdorfergrund
Tel.: 03765 38600-1156
Fax: 03765 38600-4100
Email: alexander.stein@systec-electronic.com
Website: www.systec-electronic.com
Managing Director: Dipl.-Phys. Siegmar Schmidt
Commercial registry: Amtsgericht Chemnitz, HRB 28082
^ permalink raw reply
* Re: [GIT PULL] fbdev fixes for 3.15
From: Stephen Rothwell @ 2014-04-17 3:24 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Tomi Valkeinen, linux-kernel, linux-fbdev
In-Reply-To: <CA+55aFz7Hgjc9wmiriqGT8VXNF-7b0aUKf96r=TCP+1NOTSVeQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 715 bytes --]
On Wed, 16 Apr 2014 16:04:39 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> On Wed, Apr 16, 2014 at 2:03 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> >
> > The drivers/video/Kconfig change in this pull request will conflict with the
> > fbdev reorder series, which is not yet in your tree. If that's an issue, I can
> > resend this without the Kconfig change.
>
> I was actually hoping/expecting you to just resend the renaming
> rebased on top of 3.15-rc1. Or maybe you could do it on top of this.
Yeah, I was kind of hoping that this movement of files would be done with
sooner rather than later ...
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH] fbdev: fix possible NULL pointer derefernce
From: DaeSeok Youn @ 2014-04-17 0:00 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD
Cc: tomi.valkeinen, jg1.han, laurent.pinchart, Rob Clark, linux-fbdev,
linux-kernel
In-Reply-To: <6A3BE65E-93FD-4E22-A55E-49E54E435558@jcrosoft.com>
Hello,
2014-04-16 21:38 GMT+09:00 Jean-Christophe PLAGNIOL-VILLARD
<plagnioj@jcrosoft.com>:
>
> On Apr 16, 2014, at 5:40 PM, Daeseok Youn <daeseok.youn@gmail.com> wrote:
>
>>
>> The spec->modedb can be NULL by fb_create_modedb().
>>
>> And also smatch says:
>> drivers/video/fbdev/core/fbmon.c:975 fb_edid_to_monspecs() error:
>> potential null dereference 'specs->modedb'.
>> (fb_create_modedb returns null)
>>
>> Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
>> ---
>> drivers/video/fbdev/core/fbmon.c | 3 +++
>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c
>> index c204ebe..db274ca 100644
>> --- a/drivers/video/fbdev/core/fbmon.c
>> +++ b/drivers/video/fbdev/core/fbmon.c
>> @@ -966,6 +966,9 @@ void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
>>
>> specs->modedb = fb_create_modedb(edid, &specs->modedb_len);
>>
>> + if (!specs->modedb)
>> + return;
>> +
>
> we need to return an error and trace it
Yes, you're right. I will change return type from void to int and add
to handle an error when this function(fb_edid_to_monspecs) is called.
I will send this patch as your comment.
Thanks for review.
Daeseok Youn.
>
> Best Regards,
> J.
>> /*
>> * Workaround for buggy EDIDs that sets that the first
>> * detailed timing is preferred but has not detailed
>> --
>> 1.7.4.4
>>
>
^ permalink raw reply
* Re: [GIT PULL] fbdev fixes for 3.15
From: Linus Torvalds @ 2014-04-16 23:04 UTC (permalink / raw)
To: Tomi Valkeinen; +Cc: linux-kernel, linux-fbdev
In-Reply-To: <534E4775.8010009@ti.com>
On Wed, Apr 16, 2014 at 2:03 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
>
> The drivers/video/Kconfig change in this pull request will conflict with the
> fbdev reorder series, which is not yet in your tree. If that's an issue, I can
> resend this without the Kconfig change.
I was actually hoping/expecting you to just resend the renaming
rebased on top of 3.15-rc1. Or maybe you could do it on top of this.
Linus
^ permalink raw reply
* Re: [PATCH] fbdev: fix possible NULL pointer derefernce
From: Jean-Christophe PLAGNIOL-VILLARD @ 2014-04-16 12:38 UTC (permalink / raw)
To: Daeseok Youn
Cc: Jean-Christophe PLAGNIOL-VILLARD, tomi.valkeinen, jg1.han,
laurent.pinchart, robdclark, linux-fbdev, linux-kernel
In-Reply-To: <20140416094034.GA18082@devel>
On Apr 16, 2014, at 5:40 PM, Daeseok Youn <daeseok.youn@gmail.com> wrote:
>
> The spec->modedb can be NULL by fb_create_modedb().
>
> And also smatch says:
> drivers/video/fbdev/core/fbmon.c:975 fb_edid_to_monspecs() error:
> potential null dereference 'specs->modedb'.
> (fb_create_modedb returns null)
>
> Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
> ---
> drivers/video/fbdev/core/fbmon.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c
> index c204ebe..db274ca 100644
> --- a/drivers/video/fbdev/core/fbmon.c
> +++ b/drivers/video/fbdev/core/fbmon.c
> @@ -966,6 +966,9 @@ void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs)
>
> specs->modedb = fb_create_modedb(edid, &specs->modedb_len);
>
> + if (!specs->modedb)
> + return;
> +
we need to return an error and trace it
Best Regards,
J.
> /*
> * Workaround for buggy EDIDs that sets that the first
> * detailed timing is preferred but has not detailed
> --
> 1.7.4.4
>
^ 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