03 Jul, 2018
1 commit
-
commit b5b903fba96a4d1771422efd5c713ebb73f7dc82 upstream.
Having the CHARLCD Kconfig symbol between "menuconfig AUXDISPLAY"
and "if AUXDISPLAY" breaks the AUXDISPLAY submenus, so move the
CHARLCD Kconfig symbol near the end of the file so that the menu
display is continuous.Also include ARM_CHARLCD inside of the if AUXDISPLAY/endif block.
Geert says that it should be there.Fixes: 39f8ea46724e ("auxdisplay: charlcd: Extract character LCD core from misc/panel")
Cc: stable@vger.kernel.org # v4.12
Cc: Geert Uytterhoeven
Reviewed-by: Andy Shevchenko
Signed-off-by: Randy Dunlap
Signed-off-by: Miguel Ojeda
Signed-off-by: Greg Kroah-Hartman
08 Feb, 2018
1 commit
-
commit 09c479f7f1fbfaf848e5813996793966cd50be81 upstream.
This change resolves a new compile-time warning
when built as a loadable module:WARNING: modpost: missing MODULE_LICENSE() in drivers/auxdisplay/img-ascii-lcd.o
see include/linux/module.h for more informationThis adds the license as "GPL", which matches the header of the file.
MODULE_DESCRIPTION and MODULE_AUTHOR are also added.
Signed-off-by: Jesse Chan
Signed-off-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
04 Feb, 2018
1 commit
-
[ Upstream commit 141cbfba1d0502006463aa80f57c64086226af1a ]
This avoids the MODPOST error:
ERROR: "devm_ioremap_resource" [drivers/auxdisplay/img-ascii-lcd.ko] undefined!
Signed-off-by: Thomas Meyer
Acked-by: Randy Dunlap
Signed-off-by: Linus Torvalds
Signed-off-by: Sasha Levin
Signed-off-by: Greg Kroah-Hartman
04 Nov, 2017
1 commit
-
MIPS will soon not be a part of Imagination Technologies, and as such
many @imgtec.com email addresses will no longer be valid. This patch
updates the addresses for those who:- Have 10 or more patches in mainline authored using an @imgtec.com
email address, or any patches dated within the past year.- Are still with Imagination but leaving as part of the MIPS business
unit, as determined from an internal email address list.- Haven't already updated their email address (ie. JamesH) or expressed
a desire to be excluded (ie. Maciej).- Acked v2 or earlier of this patch, which leaves Deng-Cheng, Matt &
myself.New addresses are of the form firstname.lastname@mips.com, and all
verified against an internal email address list. An entry is added to
.mailmap for each person such that get_maintainer.pl will report the new
addresses rather than @imgtec.com addresses which will soon be dead.Instances of the affected addresses throughout the tree are then
mechanically replaced with the new @mips.com address.Signed-off-by: Paul Burton
Cc: Deng-Cheng Zhu
Cc: Deng-Cheng Zhu
Acked-by: Dengcheng Zhu
Cc: Matt Redfearn
Cc: Matt Redfearn
Acked-by: Matt Redfearn
Cc: Andrew Morton
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: trivial@kernel.org
Signed-off-by: Linus Torvalds
02 Nov, 2017
1 commit
-
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.By default all files without license information are under the default
license of the kernel, which is GPL version 2.Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier. The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.How this work was done:
Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
- file had no licensing information it it.
- file was a */uapi/* one with no licensing information in it,
- file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne. Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed. Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was:
- Files considered eligible had to be source code files.
- Make and config files were included as candidates if they contained >5
lines of source
- File already had some variant of a license header in it (even if
Reviewed-by: Philippe Ombredanne
Reviewed-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
18 Sep, 2017
1 commit
-
Commit f4757af ("staging: panel: Fix single-open policy race condition")
introduced in 3.19-rc1 attempted to fix a race condition on the open, but
failed to properly do it and used to exit without restoring the semaphore.This results in -EBUSY being returned after the first open error until
the module is reloaded or the system restarted (ie: consecutive to a
dual open resulting in -EBUSY or to a permission error).[ Note for stable maintainers: the code moved from drivers/misc/panel.c
to drivers/auxdisplay/{charlcd,panel}.c during 4.12. The patch easily
applies there (modulo the renamed atomic counter) but I can provide a
tested backport if desired. ]Fixes: f4757af85 # 3.19-rc1
Cc: stable@vger.kernel.org
Cc: Mariusz Gorski
Cc: Geert Uytterhoeven
Cc: Miguel Ojeda Sandonis
Signed-off-by: Willy Tarreau
Signed-off-by: Greg Kroah-Hartman
17 Jul, 2017
1 commit
-
charlcd_ops are not supposed to change at runtime. All functions
working with charlcd_ops provided by work with
const charlcd_ops. So mark the non-const structs as const.File size before:
text data bss dec hex filename
12750 560 362 13672 3568 drivers/auxdisplay/panel.oFile size After adding 'const':
text data bss dec hex filename
12942 368 362 13672 3568 drivers/auxdisplay/panel.oSigned-off-by: Arvind Yadav
Reviewed-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman
26 May, 2017
1 commit
-
convert list_for_each() to list_for_each_entry() where
applicable.Signed-off-by: Wei Yongjun
Reviewed-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman
08 Apr, 2017
6 commits
-
It looks like arm-charlcd.c belongs to auxdisplay subsystem.
Move it to drivers/auxdisplay folder.
No functional changes intended.Reviewed-by: Linus Walleij
Signed-off-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman -
It looks like panel.c belongs to auxdisplay subsystem.
Move it to drivers/auxdisplay folder.
No functional changes intended.Acked-by: Geert Uytterhoeven
Signed-off-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman -
The data read from the device is 3 little-endian words, so let's
annotate them as such and use le16_to_cpu() to convert them to host
endianness - it might turn out to be a bit more performant, and it
expresses the conversion more clearly.Signed-off-by: Dmitry Torokhov
Signed-off-by: Greg Kroah-Hartman -
If the driver is built as a module, autoload won't work because the module
alias information is not filled. So user-space can't match the registered
device with the corresponding module.Export the module alias information using the MODULE_DEVICE_TABLE() macro.
Before this patch:
$ modinfo drivers/auxdisplay/img-ascii-lcd.ko | grep alias
$After this patch:
$ modinfo drivers/auxdisplay/img-ascii-lcd.ko | grep alias
alias: of:N*T*Cmti,sead3-lcdC*
alias: of:N*T*Cmti,sead3-lcd
alias: of:N*T*Cmti,malta-lcdC*
alias: of:N*T*Cmti,malta-lcd
alias: of:N*T*Cimg,boston-lcdC*
alias: of:N*T*Cimg,boston-lcdSigned-off-by: Javier Martinez Canillas
Signed-off-by: Greg Kroah-Hartman -
gcc-7.0.1 points out that we copy uninitialized data from the stack
into a per-device structure:drivers/auxdisplay/ht16k33.c: In function 'ht16k33_keypad_irq_thread':
arch/x86/include/asm/string_32.h:78:16: error: 'new_state' may be used uninitialized in this function [-Werror=maybe-uninitialized]
arch/x86/include/asm/string_32.h:79:22: error: '*((void *)&new_state+4)' may be used uninitialized in this function [-Werror=maybe-uninitialized]The access is harmless because we never read the data, but we are better
off not doing this, so this changes the code to only copy the data
that was actually initialized. To make sure we don't overflow the
stack with an incorrect DT, we also need to add a sanity checkin the
probe function.Signed-off-by: Arnd Bergmann
Reviewed-by: Robin van der Gracht
Reviewed-by: Dmitry Torokhov
Signed-off-by: Greg Kroah-Hartman -
DT properties specifying physical properties should contain appropriate
suffices indicating the units of measurement.Hence amend the HD44780 DT bindings to add "chars" suffixes to the
"display-height" and "display-width" properties, and update the driver
to parse them.Fixes: dd9502a9e9156dd8 ("dt-bindings: auxdisplay: Add bindings for Hitachi HD44780")
Fixes: d47d88361feea2ce ("auxdisplay: Add HD44780 Character LCD support")
Signed-off-by: Geert Uytterhoeven
Acked-by: Rob Herring
Signed-off-by: Greg Kroah-Hartman
27 Mar, 2017
1 commit
-
We want the char-misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman
17 Mar, 2017
4 commits
-
The Hitachi HD44780 Character LCD Controller is commonly used on
character LCDs that can display one or more lines of text.This driver supports character LCDs connected to GPIOs, using either a
4-bit or 8-bit data bus, and provides access through the charlcd core
and /dev/lcd.Signed-off-by: Geert Uytterhoeven
Signed-off-by: Greg Kroah-Hartman -
On displays with more than two lines, the additional lines are stored in
the buffers used for the first two lines, but beyond the visible parts.
Adjust the DDRAM address calculation to cater for this.When clearing the display, avoid writing more spaces than the actual
size of the physical buffer.Signed-off-by: Geert Uytterhoeven
Signed-off-by: Greg Kroah-Hartman -
In 4-bit mode, 8-bit commands and data are written using two raw writes
to the data interface: high nibble first, low nibble last. This must be
handled by the low-level driver.However, as we don't know in which mode (4-bit or 8-bit) nor 4-bit phase
the LCD was left, initialization must always be handled using raw
writes, and needs to configure the LCD for 8-bit mode first.Signed-off-by: Geert Uytterhoeven
Signed-off-by: Greg Kroah-Hartman -
Extract the character LCD core from the Parallel port LCD/Keypad Panel
driver in the misc subsystem, and convert it into a subdriver in the
auxdisplay subsystem. This allows the character LCD core to be used by
other drivers later.Compilation is controlled by its own Kconfig symbol CHARLCD, which is to
be selected by its users, but can be enabled manually for
compile-testing.All functions changed their prefix from "lcd_" to "charlcd_", and gained
a "struct charlcd *" parameter to operate on a specific instance.
While the driver API thus is ready to support multiple instances, the
current limitation of a single display (/dev/lcd has a single misc minor
assigned) is retained.No functional changes intended.
Signed-off-by: Geert Uytterhoeven
Signed-off-by: Greg Kroah-Hartman
16 Mar, 2017
1 commit
-
The OF device table must be terminated, otherwise we'll be walking past it
and into areas unknown.Fixes: 0cad855fbd08 ("auxdisplay: img-ascii-lcd: driver for simple ASCII...")
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov
Tested-by: Fengguang Wu
Signed-off-by: Greg Kroah-Hartman
10 Feb, 2017
3 commits
-
There is no need for the driver to use private workqueue, standard system
workqueue should suffice as they are going to use the same worker pool
anyway.Acked-by: Robin van der Gracht
Signed-off-by: Dmitry Torokhov
Signed-off-by: Greg Kroah-Hartman -
This patch fixes following issues in input device (keypad) handling:
- requesting IRQ before allocating and initializing parts of the device
that can be referenced from IRQ handler is racy, even if we try to
disable interrupt after requesting it. Let's move allocations around
so that everything is ready by the time we request IRQ.- using threaded interrupt handler to schedule a work item it sub-optimal.
Disabling and then re-enabling interrupts in work item and in open/close
methods is prone to races and exactly the reason theraded interrupts were
introduced. Let's use the infrastructure properly and keep scanning the
matrix array in IRQ thread, stopping when there are no keys, or when told
to do so.Signed-off-by: Dmitry Torokhov
Tested-by: Robin van der Gracht
Signed-off-by: Greg Kroah-Hartman -
'fbdev' is allocated as part of larger ht16k33_priv structure; trying to
free it will cause troubles.Acked-by: Robin van der Gracht
Signed-off-by: Dmitry Torokhov
Signed-off-by: Greg Kroah-Hartman
11 Jan, 2017
1 commit
-
Fix build errors caused by selecting incorrect kconfig symbols.
drivers/built-in.o:(.data+0x19cec): undefined reference to `sys_fillrect'
drivers/built-in.o:(.data+0x19cf0): undefined reference to `sys_copyarea'
drivers/built-in.o:(.data+0x19cf4): undefined reference to `sys_imageblit'Fixes: 31114fa95bdb (auxdisplay: ht16k33: select framebuffer helper modules)
Signed-off-by: Randy Dunlap
Cc: Miguel Ojeda Sandonis
Reported-by: kbuild test robot
Acked-by: Robin van der Gracht
Signed-off-by: Greg Kroah-Hartman
30 Nov, 2016
1 commit
-
The new driver caused a rare randconfig failure:
drivers/auxdisplay/ht16k33.o:(.data.ht16k33_fb_ops+0xc): undefined reference to `fb_sys_read'
drivers/auxdisplay/ht16k33.o:(.data.ht16k33_fb_ops+0x10): undefined reference to `fb_sys_write'This selects the respective helper modules.
Reported-by: Arnd Bergmann
Signed-off-by: Robin van der Gracht
Signed-off-by: Greg Kroah-Hartman
10 Nov, 2016
1 commit
-
Added a driver for the Holtek HT16K33 LED controller with keyscan.
Signed-off-by: Robin van der Gracht
CC: Miguel Ojeda Sandonis
Acked-by: Rob Herring
Reviewed-by: Linus Walleij
Signed-off-by: Greg Kroah-Hartman
06 Oct, 2016
1 commit
-
Add a driver for simple ASCII LCD displays found on the MIPS Boston,
Malta & SEAD3 development boards. The Boston display is an independent
memory mapped device with a simple memory mapped 8 byte register space
containing the 8 ASCII characters to display. The Malta display is
exposed as part of the Malta board registers, and provides 8 registers
each of which corresponds to one of the ASCII characters to display. The
SEAD3 display is slightly more complex, exposing an interface to an
S6A0069 LCD controller via registers provided by the boards CPLD.
However although the displays differ in their register interface, we
require similar functionality on each board so abstracting away the
differences within a single driver allows us to share a significant
amount of code & ensure consistent behaviour.The driver displays the Linux kernel version as the default message, but
allows the message to be changed via a character device. Messages longer
then the number of characters that the display can show will scroll.This provides different behaviour to the existing LCD display code for
the MIPS Malta or MIPS SEAD3 platforms in the following ways:- The default string to display is not "LINUX ON MALTA" or "LINUX ON
SEAD3" but "Linux" followed by the version number of the kernel
(UTS_RELEASE).- Since that string tends to be significantly longer it scrolls twice
as fast, moving every 500ms rather than every 1s.- The LCD won't be updated until the driver is probed, so it doesn't
provide the early "LINUX" string.Signed-off-by: Paul Burton
Cc: Mauro Carvalho Chehab
Cc: Miguel Ojeda Sandonis
Cc: Guenter Roeck
Cc: David S. Miller
Cc: Greg Kroah-Hartman
Cc: Geert Uytterhoeven
Cc: Andrew Morton
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14062/
Signed-off-by: Ralf Baechle
15 Aug, 2015
1 commit
-
The local variable ks0108_parport is used by other functions to write to
the parallel port. We missed initializing it when we converted the
driver to use new Parallel Port codes.Fixes: 4edd70c133f3 ("auxdisplay: ks0108: use new parport device model")
Reported-by: Fengguang Wu
Signed-off-by: Sudip Mukherjee
Signed-off-by: Greg Kroah-Hartman
06 Aug, 2015
4 commits
-
Modify auxdisplay driver to use the new parallel port device model.
Signed-off-by: Sudip Mukherjee
Signed-off-by: Greg Kroah-Hartman -
Using min_t() is preffered than using min().
Signed-off-by: Sudip Mukherjee
Signed-off-by: Greg Kroah-Hartman -
Start using pr_* macros instead of using printk and in the process
define pr_fmt.Signed-off-by: Sudip Mukherjee
Signed-off-by: Greg Kroah-Hartman -
parport_find_base() will implicitly do parport_get_port() which
increases the refcount. Then parport_register_device() will again
increment the refcount. But while unloading the module we are only
doing parport_unregister_device() decrementing the refcount only once.
We add an parport_put_port() to neutralize the effect of
parport_get_port().Cc: # 2.6.32+
Signed-off-by: Sudip Mukherjee
Signed-off-by: Greg Kroah-Hartman
29 Oct, 2013
1 commit
-
Neaten and shorten the code using the new fb_ macros.
Signed-off-by: Joe Perches
Signed-off-by: Tomi Valkeinen
04 Jan, 2013
1 commit
-
CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
markings need to be removed.This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.Cc: Bill Pemberton
Signed-off-by: Greg Kroah-Hartman
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
25 May, 2010
1 commit
-
This fixes a two section mismatches and makes remove() __devexit.
Signed-off-by: Henrik Kretzschmar
Cc: Miguel Ojeda Sandonis
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
30 Mar, 2010
1 commit
-
…it slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.http://userweb.kernel.org/~tj/misc/slabh-sweep.py
The script does the followings.
* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.The conversion was done in the following steps.
1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.6. percpu.h was updated not to include slab.h.
7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
08 Mar, 2010
1 commit
-
A pointer to cfag12864bfb_probe is passed to the core via
platform_driver_register and so the function must not disappear when the
.init sections are discarded. Otherwise (if also having HOTPLUG=y)
unbinding and binding a device to the driver via sysfs will result in an
oops as does a device being registered late.An alternative to this patch is using platform_driver_probe instead of
platform_driver_register plus removing the pointer to the probe function
from the struct platform_driver.Signed-off-by: Uwe Kleine-König
Acked-by: Miguel Ojeda
Cc: Andrew Morton
Cc: Avuton Olrich
Cc: Antonino Daplas
Signed-off-by: Greg Kroah-Hartman
01 Apr, 2009
1 commit
-
Remove PARPORT dependency for Auxiliary Display support.
This is not needed since the dependency for the KS0108 driver is
PARPORT_PC.Signed-off-by: H Hartley Sweeten
Cc: Miguel Ojeda Sandonis
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 Jul, 2008
1 commit
-
- Use BUILD_BUG_ON for CFAG12864B_SIZE instead of runtime-check
- Use get_zeroed_page()
Signed-off-by: Akinobu Mita
Cc: Miguel Ojeda Sandonis
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds