diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-04 20:07:08 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-04 20:07:08 +0400 |
commit | 15b588303155b22edd559672905db8e59a44ef9a (patch) | |
tree | 5413973ea42014d71ac6d8ce36dbf05058a45646 /arch/arm | |
parent | d55696af8d91e8f21dacd74a236e6dcc4f6d78c4 (diff) | |
parent | f2dd36ac9974cc2353bcbb8e6b643fb96030564c (diff) | |
download | linux-15b588303155b22edd559672905db8e59a44ef9a.tar.xz |
Merge tag 'fbdev-omap-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into next
Pull omap fbdev changes from Tomi Valkeinen:
- DT support for the panel drivers that were still missing it
- TI AM43xx support
- TI OMAP5 support
* tag 'fbdev-omap-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (46 commits)
OMAPDSS: move 'compatible' converter to omapdss driver
OMAPDSS: HDMI: fix devm_ioremap_resource error checks
OMAPDSS: HDMI: remove unused defines
OMAPDSS: HDMI: cleanup WP ioremaps
OMAPDSS: panel NEC-NL8048HL11 DT support
Doc/DT: Add DT binding documentation for TPO td043mtea1 panel
OMAPDSS: Panel TPO-TD043MTEA1 DT support
Doc/DT: Add DT binding documentation for SHARP LS037V7DW01
OMAPDSS: panel sharp-ls037v7dw01 DT support
OMAPDSS: panel-sharp-ls037v7dw01: update to use gpiod
Doc/DT: Add binding doc for lgphilips,lb035q02.txt
OMAPDSS: panel-lgphilips-lb035q02: Add DT support
OMAPDSS: panel-lgphilips-lb035q02: use gpiod for enable gpio
OMAPDSS: hdmi5_core: Fix compilation with OMAP5_DSS_HDMI_AUDIO
OMAPDSS: panel-dpi: enable-gpio
OMAPDSS: Fix writes to DISPC_POL_FREQ
Doc/DT: Add OMAP5 DSS DT bindings
OMAPDSS: HDMI: cleanup ioremaps
OMAPDSS: HDMI: Add OMAP5 HDMI support
OMAPDSS: HDMI: PLL changes for OMAP5
...
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/display.c | 62 |
1 files changed, 6 insertions, 56 deletions
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index 16d33d831287..bf852d7ae951 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c @@ -279,6 +279,8 @@ static enum omapdss_version __init omap_display_get_version(void) return OMAPDSS_VER_OMAP4; else if (soc_is_omap54xx()) return OMAPDSS_VER_OMAP5; + else if (soc_is_am43xx()) + return OMAPDSS_VER_AM43xx; else return OMAPDSS_VER_UNKNOWN; } @@ -555,65 +557,9 @@ int omap_dss_reset(struct omap_hwmod *oh) return r; } -/* list of 'compatible' nodes to convert to omapdss specific */ -static const char * const dss_compat_conv_list[] __initconst = { - "composite-connector", - "dvi-connector", - "hdmi-connector", - "panel-dpi", - "panel-dsi-cm", - "sony,acx565akm", - "svideo-connector", - "ti,tfp410", - "ti,tpd12s015", -}; - -/* prepend compatible string with "omapdss," */ -static __init void omapdss_omapify_node(struct device_node *node, - const char *compat) -{ - char *new_compat; - struct property *prop; - - new_compat = kasprintf(GFP_KERNEL, "omapdss,%s", compat); - - prop = kzalloc(sizeof(*prop), GFP_KERNEL); - - if (!prop) { - pr_err("omapdss_omapify_node: kzalloc failed\n"); - return; - } - - prop->name = "compatible"; - prop->value = new_compat; - prop->length = strlen(new_compat) + 1; - - of_update_property(node, prop); -} - -/* - * As omapdss panel drivers are omapdss specific, but we want to define the - * DT-data in generic manner, we convert the compatible strings of the panel - * nodes from "panel-foo" to "omapdss,panel-foo". This way we can have both - * correct DT data and omapdss specific drivers. - * - * When we get generic panel drivers to the kernel, this will be removed. - */ void __init omapdss_early_init_of(void) { - int i; - - for (i = 0; i < ARRAY_SIZE(dss_compat_conv_list); ++i) { - const char *compat = dss_compat_conv_list[i]; - struct device_node *node = NULL; - - while ((node = of_find_compatible_node(node, NULL, compat))) { - if (!of_device_is_available(node)) - continue; - omapdss_omapify_node(node, compat); - } - } } struct device_node * __init omapdss_find_dss_of_node(void) @@ -632,6 +578,10 @@ struct device_node * __init omapdss_find_dss_of_node(void) if (node) return node; + node = of_find_compatible_node(NULL, NULL, "ti,omap5-dss"); + if (node) + return node; + return NULL; } |