Fixes:
In function `register_fbconsole':
drivers/video/fbconsole.c:425: undefined reference to `console_register
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When using offscreen rendering we need some more points where we
blit the offscreen buffer to the screen. Add them.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
So far we only supported blitting the whole screen from the shadow
fb to the framebuffer. Add a function to blit areas.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The fb core now has builtin support for offscreen rendering, use
this and drop offscreen handling in the gui code.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
For speeding up rendering we need shadow framebuffers. This is currently
implemented in the gui functions. This does not work properly when two
users (splash and fbconsole) use the same framebuffer since in this case
two different shadow framebuffers will be used. This patch implements
shadowfb handling in the fb core directly. With this the fb device gets
a parameter 'shadowfb'. When this is true the fb core will allocate a
shadow fb and provide it to the users.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Make it possible to issue console messages from inside the fbconsole
code without entering the fbconsole again.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The splash command only makes sense with framebuffer support enabled, so
add the corresponding dependency to Kconfig.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
If we have a timeout while waiting, try to recover.
Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Replace jiffies from kernel code with get_time_ns. The flags variable
used in the readbytes debug output does not exist.
Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This is based on commit 9dcb0e7b999db6c420c70fd32497a979a044fcdf from
the kernel with some additional fixes.
Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This implements the fix from the kernel commit
4cdbf7d346e7461c3b93a26707c852e2c9db3753.
Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This is based on the code introduced to the kernel in
5f9296ba21b3c395e53dd84e7ff9578f97f24295.
Signed-off-by: Jan Luebbe <jluebbe@debian.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Since we no longer have custom gpio function prototypes we can
drop the prototypes from asm-generic/gpio.h can add them to
include/gpio.h instead. While at it add static inline dummy wrappers
for !CONFIG_GENERIC_GPIO so that code using gpios can compile without
gpio support.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Convert zylonite board to the generic environment, and make consistent
with lubbock and mainstone boards.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
When creating an initial bad blocks table, create it empty. This is
necessary because when the bad block table blocks are not
initialized (all ff) while some partitions are, all the blocks which
have an OOB data not beginning with 0xff 0xff will be marked as bad
blocks in the initial bad blocks scan.
As a consequence, any existing blocks are impossible to erase
anymore. Fix this by fixing the BBT creation flag.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
All points of failure in the code of i2c_fsl_probe() happen after the
allocation of i2c_fsl, so all of them have to perform necessary
cleanup setups in case of failure.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Some character devices may perform meaningful operations in their
implementation of close() -- a good example would be socfpga.c which
checks if the FPGA was programmed succesfully in it's close() method
-- so ignoring return value of this call may cause false positives in
checking exit status for success.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Sync the spi_nor_ids[] struct with the one from kernel 4.1.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Add empty static inline function fallbacks if backlight support
is not enabled, so that drivers using the backlight don't fail to
build.
Fixes:
In function `simple_panel_ioctl':
undefined reference to `of_backlight_find'
undefined reference to `backlight_set_brightness_default'
undefined reference to `backlight_set_brightness'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reading modes from EDID EEPROMs requires both I2C and EDID support to
be available. As the simple panel driver is also useful without mode
reading support, only built it in if the requirements are met.
Fixes:
In function `simple_panel_get_modes':
simple-panel.c:88: undefined reference to `of_find_i2c_adapter_by_node'
simple-panel.c:91: undefined reference to `edid_read_i2c'
simple-panel.c:95: undefined reference to `edid_to_display_timings'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This driver uses I2C functions and isn't useful without them.
Fixes:
In function `mtl017_init':
drivers/video/mtl017.c:278: undefined reference to `i2c_bus'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The fixed clocks are registered from devicetree. Therefore the code path is
not needed, but would instead register the clocks twice, which leads to the
error message:
clk_register clk f2s_periph_ref_clk is already registered, skipping!
of_clk_init: failed to init clock for /soc/clkmgr@ffd04000/clocks/f2s_periph_ref_clk: 1
clk_register clk osc1 is already registered, skipping!
of_clk_init: failed to init clock for /soc/clkmgr@ffd04000/clocks/osc1: 1
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The gpio-driver was developed when the bindings where not stable.
As these have changed in the meantime, the driver has to be updated to
the status quo.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This is a DW driver not IMX; fix variable name.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Change the set_parent/get_parent functions for clock-gates to work
with the Linux kernel DT bindings.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Instead of using internal devicetree files, use the official ones from
/dts/src/arm.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
i.MX6 is fully DT enabled and the already selected
COMMON_CLK_OF_PROVIDER needs OFTREE support to build properly.
Fixes:
arch/arm/mach-imx/clk-imx6.c: In function 'imx6_ccm_probe':
arch/arm/mach-imx/clk-imx6.c:500:2: error:
invalid use of undefined type 'struct clk_onecell_data'
arch/arm/mach-imx/clk-imx6.c:502:2: error:
implicit declaration of function 'of_clk_add_provider'
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Fixes symbol clashes with the IPUv3 driver:
In function `ipu_ch_param_write_field':
drivers/video/imx-ipu-v3/ipu-common.c:103: multiple definition of `ipu_ch_param_write_field'
drivers/video/imx-ipu-fb.c:359: first defined here
In function `ipu_cpmem_set_format_rgb':
drivers/video/imx-ipu-v3/ipu-common.c:155: multiple definition of `ipu_cpmem_set_format_rgb'
drivers/video/imx-ipu-fb.c:504: first defined here
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Align with the mainline device tree, include it,
and remove all unchanged nodes and properties.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Align with the mainline device tree, include it,
and remove all unchanged nodes and properties.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
The IPU needs an upper margin >= 2. Make this sure. This is based
on Linux commit:
commit 6541d71082fdb91f862c92920c6530e4e0548d6f
Author: Jiada Wang <jiada_wang@mentor.com>
Date: Thu Dec 18 18:00:20 2014 -0800
gpu: ipu-di: Add ipu_di_adjust_videomode()
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This syncs the imx-hdmi driver with Linux 4.2-rc1 where it makes sense. This
makes it easier to compare the driver with the kernel. This also adds
hdmi_av_composer which is mandatory. Somehow the driver worked without it in
lower resolutions, but now it also works for higher resolutions.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
PXA is the only architecture that uses its own prototypes for
the gpio functions because it uses static inline variants of
these functions. For the sake of streamlining with other architectures
move them to a C file and use the generic gpio prototypes.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
With device parameter completion the '.' separator between the device
name and the parameter was not handled correctly. For example with
a device named global a completion starting with "g." was completed to
"g.obal.". fix this.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>