History log of /linux-master/drivers/staging/sm750fb/sm750.c
Revision Date Author Comments
# dc0ad215 27-Nov-2023 Thomas Zimmermann <tzimmermann@suse.de>

staging/sm750fb: Initialize fb_ops with fbdev macros

Initialize all instances of struct fb_ops with fbdev initializer
macros for framebuffers in I/O address space. Set the read/write,
draw and mmap callbacks to the correct implementation and avoid
implicit defaults. Also select the necessary helpers in Kconfig.

Fbdev drivers sometimes rely on the callbacks being NULL for a
default I/O-memory-based implementation to be invoked; hence
requiring the I/O helpers to be built in any case. Setting all
callbacks in all drivers explicitly will allow to make the I/O
helpers optional. This benefits systems that do not use these
functions.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-staging@lists.linux.dev
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231127131655.4020-27-tzimmermann@suse.de


# f7c8a046 27-Nov-2023 Thomas Zimmermann <tzimmermann@suse.de>

staging/sm750fb: Declare fb_ops as constant

Split up lynxfb_ops and declare each as constant. The fb_ops
instance used to be modified while initializing the driver. It is
now constant and the driver picks the correct instance, depending
on the settings for acceleration and cursor support.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-staging@lists.linux.dev
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231127131655.4020-26-tzimmermann@suse.de


# cdeb052c 15-Jul-2023 Thomas Zimmermann <tzimmermann@suse.de>

staging: Remove flag FBINFO_FLAG_DEFAULT from fbdev drivers

The flag FBINFO_FLAG_DEFAULT is 0 and has no effect, as struct
fbinfo.flags has been allocated to zero by framebuffer_alloc(). So do
not set it.

Flags should signal differences from the default values. After cleaning
up all occurrences of FBINFO_DEFAULT, the token will be removed.

v2:
* fix commit message (Miguel)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230715185343.7193-13-tzimmermann@suse.de


# 4b5ae8e6 05-Jul-2023 Thomas Zimmermann <tzimmermann@suse.de>

staging/sm750fb: Do not include <linux/screen_info.h>

The sm750fb driver does not need anything from <linux/screen_info.h>.
Remove the include statements.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230706104852.27451-5-tzimmermann@suse.de


# 8ff1541d 11-May-2023 Thomas Zimmermann <tzimmermann@suse.de>

fbdev: Include <linux/fb.h> instead of <asm/fb.h>

Replace include statements for <asm/fb.h> with <linux/fb.h>. Fixes
the coding style: if a header is available in asm/ and linux/, it
is preferable to include the header from linux/. This only affects
a few source files, most of which already include <linux/fb.h>.

Suggested-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230512102444.5438-6-tzimmermann@suse.de


# deddc912 11-Jan-2023 Daniel Vetter <daniel.vetter@ffwll.ch>

staging/lynxfb: Use pci aperture helper

It exists! Note that since this is an exact copy, there shouldn't be
any functional difference here.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: linux-fbdev@vger.kernel.org
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230111154112.90575-6-daniel.vetter@ffwll.ch


# 0ba2fa8c 11-Nov-2022 Thomas Zimmermann <tzimmermann@suse.de>

fbdev: Add support for the nomodeset kernel parameter

Support the kernel's nomodeset parameter for all PCI-based fbdev
drivers that use aperture helpers to remove other, hardware-agnostic
graphics drivers.

The parameter is a simple way of using the firmware-provided scanout
buffer if the hardware's native driver is broken. The same effect
could be achieved with per-driver options, but the importance of the
graphics output for many users makes a single, unified approach
worthwhile.

With nomodeset specified, the fbdev driver module will not load. This
unifies behavior with similar DRM drivers. In DRM helpers, modules
first check the nomodeset parameter before registering the PCI
driver. As fbdev has no such module helpers, we have to modify each
driver individually.

The name 'nomodeset' is slightly misleading, but has been chosen for
historical reasons. Several drivers implemented it before it became a
general option for DRM. So keeping the existing name was preferred over
introducing a new one.

v2:
* print a warning if a driver does not init (Helge)
* wrap video_firmware_drivers_only() in helper

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221111133024.9897-3-tzimmermann@suse.de


# cd33da26 23-Aug-2022 Christopher Carbone <chris.m.carbone@gmail.com>

staging: sm750fb: split multiple assignments to lines

Adhere to Linux kernel coding style.

Reported by checkpatch:

CHECK: multiple assignments should be avoided

Signed-off-by: Christopher Carbone <chris.m.carbone@gmail.com>
Link: https://lore.kernel.org/r/YwVBHM3z0QExtuXr@valhalla
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 8d69d008 18-Jul-2022 Thomas Zimmermann <tzimmermann@suse.de>

fbdev: Convert drivers to aperture helpers

Convert fbdev drivers from fbdev's remove_conflicting_framebuffers() to
the framework-independent aperture_remove_conflicting_devices(). Calling
this function will also remove conflicting DRM drivers.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220718072322.8927-6-tzimmermann@suse.de


# cc59bde1 27-Jul-2021 Benjamin Philip <benjamin.philip495@gmail.com>

staging: sm750fb: Rename vScreen to v_screen in lynxfb_crtc

The struct lynxfb_crtc has a member named vScreen. This name is
CamelCase and is frowned upon. This commit renames it to v_screen
and makes the necessary changes for the module to build.

This change also fixes the following checkpatch CHECKs:

CHECK: Avoid CamelCase: <vScreen>
454: FILE: sm750.c:454:
+ memset_io(crtc->vScreen, 0x0, crtc->vidmem_size);

CHECK: Avoid CamelCase: <vScreen>
136: FILE: sm750.h:136:
+ unsigned char __iomem *vScreen; /* virtual address of on_screen */

Signed-off-by: Benjamin Philip <benjamin.philip495@gmail.com>
Link: https://lore.kernel.org/r/52db14bfc2f39e246aed7fdf866845a72e503b36.1627413010.git.benjamin.philip495@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# fdc234d8 27-Jul-2021 Benjamin Philip <benjamin.philip495@gmail.com>

staging: sm750fb: Rename oScreen to o_screen in lynxfb_crtc

The struct lynxfb_crtc has a member named oScreen. This name is
CamelCase and is frowned upon. This commit renames it to o_screen
and makes the necessary changes for the module to build.

This change also fixes the following checkpatch CHECKs:

CHECK: Avoid CamelCase: <oScreen>
138: FILE: sm750.h:138:
+ int oScreen; /* onscreen address offset in vidmem */

CHECK: Avoid CamelCase: <oScreen>
178: FILE: sm750.c:178:
+ base = par->crtc.oScreen;

Signed-off-by: Benjamin Philip <benjamin.philip495@gmail.com>
Link: https://lore.kernel.org/r/8d7c72027f7bc31a1c35a34f9909fa04f4cf8972.1627413010.git.benjamin.philip495@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 39f91372 26-Jul-2021 Benjamin Philip <benjamin.philip495@gmail.com>

staging: sm750fb: Rename maxW to max_w in lynx_cursor

The struct lynx_cursor has a member named maxW. This name is
CamelCase and is frowned upon. This commit renames it to max_w
and makes the necessary changes for the module to build.

This change also fixes the following checkpatch CHECK:

CHECK: Avoid CamelCase: <maxW>
115: FILE: drivers/staging/sm750fb/sm750.c:115:
+ if (fbcursor->image.width > cursor->maxW ||

Signed-off-by: Benjamin Philip <benjamin.philip495@gmail.com>
Link: https://lore.kernel.org/r/c0c84569b155df7b510a505a86863987836e192d.1627304144.git.benjamin.philip495@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# cfdafb76 26-Jul-2021 Benjamin Philip <benjamin.philip495@gmail.com>

staging: sm750fb: Rename maxH to max_h in lynx_cursor

The struct lynx_cursor has a member named maxH. This name is
CamelCase and is frowned upon. This commit renames it to max_h
and makes the necessary changes for the module to build.

This change also fixes the following checkpatch CHECK:

CHECK: Avoid CamelCase: <maxH>
116: FILE: drivers/staging/sm750fb/sm750.c:116:
+ fbcursor->image.height > cursor->maxH ||

Signed-off-by: Benjamin Philip <benjamin.philip495@gmail.com>
Link: https://lore.kernel.org/r/692211000786d76aa41bc24d4ee06b5868d82771.1627304144.git.benjamin.philip495@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 9c15db83 31-Jan-2021 Kumar Kartikeya Dwivedi <memxor@gmail.com>

staging: sm750fb: Switch from strlcpy to strscpy

strlcpy is marked as deprecated in Documentation/process/deprecated.rst,
and there is no functional difference when the caller expects truncation
(when not checking the return value). strscpy is relatively better as it
also avoids scanning the whole source string.

This silences the related checkpatch warnings from:
5dbdb2d87c29 ("checkpatch: prefer strscpy to strlcpy")

Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20210131172838.146706-13-memxor@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# dbd8c649 25-Aug-2020 Timo A. Aranjo <timo.aranjo@aol.com>

Staging: sm750fb: Fix basic coding style issues

The word "enought" was changed to read as "enough".
In addition to this, there was a missing new-line after varaible
declarations within a function.

Signed-off-by: Timo A. Aranjo <timo.aranjo@aol.com>
Link: https://lore.kernel.org/r/20200826012101.12162-1-timo.aranjo@aol.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 408a68c5 28-Jul-2020 Vaibhav Gupta <vaibhavgupta40@gmail.com>

staging: sm750fb: use generic power management

Drivers using legacy power management .suspen()/.resume() callbacks
have to manage PCI states and device's PM states themselves. They also
need to take care of standard configuration registers.

Switch to generic power management framework using a single
"struct dev_pm_ops" variable to take the unnecessary load from the driver.
This also avoids the need for the driver to directly call most of the PCI
helper functions and device power state control functions, as through
the generic framework PCI Core takes care of the necessary operations,
and drivers are required to do only device-specific jobs.

Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Link: https://lore.kernel.org/r/20200728123349.1331679-1-vaibhavgupta40@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 3aff3c97 30-Apr-2020 Matej Dujava <mdujava@kocurkovo.cz>

staging: sm750fb: print error message with actual value

This patch will update error message, so it is same as error message in
another function.

Signed-off-by: Matej Dujava <mdujava@kocurkovo.cz>
Link: https://lore.kernel.org/r/1588277366-19354-4-git-send-email-mdujava@kocurkovo.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# b610e1193a 30-Apr-2020 Matej Dujava <mdujava@kocurkovo.cz>

staging: sm750fb: add common function to set color offsets and visual mode

This patch will unify code for updating color offsets and frame buffer
visual mode.

Signed-off-by: Matej Dujava <mdujava@kocurkovo.cz>
Link: https://lore.kernel.org/r/1588277366-19354-3-git-send-email-mdujava@kocurkovo.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# fa901333 30-Apr-2020 Matej Dujava <mdujava@kocurkovo.cz>

staging: sm750fb: add missing case while setting FB_VISUAL

Switch statement does not contain all cases: 8, 16, 24, 32.
This patch will add missing one (24)

Fixes: 81dee67e215b ("staging: sm750fb: add sm750 to staging")
Signed-off-by: Matej Dujava <mdujava@kocurkovo.cz>
Link: https://lore.kernel.org/r/1588277366-19354-2-git-send-email-mdujava@kocurkovo.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 48327b9a 28-Mar-2020 Gokce Kuler <gokcekuler@gmail.com>

staging: sm750fb: line over 80 characters

Convert a single line comment to a multiline comment to respect the 80
character rule.Problem found using checkpatch.

Signed-off-by: Gokce Kuler <gokcekuler@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/20200328201513.GA16863@siyah2
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# d5d66cfe 27-Apr-2019 Kelsey Skunberg <skunberg.kelsey@gmail.com>

Staging: sm750fb: Change *array into *const array

Resolve checkpatch warning for static const char * array by using const
pointers.

Checkpatch Warning in sm750.c:
static const char * array should probably be static const char * const

Signed-off-by: Kelsey Skunberg <skunberg.kelsey@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 25338628 01-Apr-2019 Greg Kroah-Hartman <gregkh@linuxfoundation.org>

staging: sm750fb: add proper SPDX identifier to driver

By default all files without license information are under the default
license of the kernel, which is GPL version 2. Because of this, add the
GPL-2.0 identifier to the sm750fb driver which did not have any license
identifiers in it at all.

Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 9a3aebc0 31-Mar-2019 Sanjana Sanikommu <sanjana99reddy99@gmail.com>

staging: sm750fb: Remove unnecessary parenthesis.

Challenge suggested by coccinelle.
Remove unnecessary parenthesis around the right hand
of the assignment using the below script.

@@
binary operator op = {!=,&&,||,>=,<=,&,|};
expression l, r, t;
@@

(
l = (r op t)
|
l =
-(
r
-)
)

Signed-off-by: Sanjana Sanikommu <sanjana99reddy99@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 8ba5843c 20-Sep-2018 Aymen Qader <qader.aymen@gmail.com>

staging: sm750fb: Fix typo frambuffer->framebuffer

This patch corrects a typo (frambuffer->framebuffer) in the
sm750fb_fram(e)buffer_release and sm750fb_fram(e)buffer_alloc function
names.

Signed-off-by: Aymen Qader <qader.aymen@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 58ca6cec 10-Jul-2018 Colin Ian King <colin.king@canonical.com>

staging: sm750fb: remove redundant pointer 'output'

Pointer 'output' is being assigned but is never used hence it is redundant
and can be removed.

Cleans up clang warning:
warning: variable 'output' set but not used [-Wunused-but-set-variable]

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 740c433e 30-Jun-2017 Teddy Wang <teddy.wang@siliconmotion.com>

staging: sm750fb: avoid conflicting vesafb

If vesafb is enabled in the config then /dev/fb0 is created by vesa
and this sm750 driver gets fb1, fb2. But we need to be fb0 and fb1 to
effectively work with xorg.
So if it has been alloted fb1, then try to remove the other fb0.

In the previous send, why #ifdef is used was asked.
https://lkml.org/lkml/2017/6/25/57

Answered at: https://lkml.org/lkml/2017/6/25/69
Also pasting here for reference.

'Did a quick research into "why".
The patch d8801e4df91e ("x86/PCI: Set IORESOURCE_ROM_SHADOW only for the
default VGA device") has started setting IORESOURCE_ROM_SHADOW in flags
for a default VGA device and that is being done only for x86.
And so, we will need that #ifdef to check IORESOURCE_ROM_SHADOW as that
needs to be checked only for a x86 and not for other arch.'

Cc: <stable@vger.kernel.org> # v4.4+
Signed-off-by: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 97af1ce2 29-Jun-2017 Dhananjay Balan <mail@dbalan.in>

drivers: staging: sm750: Hold lock irrespective of fb numbers.

Start holding the lock for all cases irrespective of number of fb,
there could be a deadlock since this number could change in the
lifetime of this lock

Signed-off-by: Dhananjay Balan <mail@dbalan.in>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 888db9a6 19-Jun-2017 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: change default screen resolution

The previous patch which updated screen resolution was tested under
wrong environment. sm750 driver does not support 24bpp. It only
supports 8bpp, 16bpp and 32bpp.
Lets update the default screen resolution to use 32bpp for a better
screen performance.

Fixes: ac669251087d ("staging: sm750fb: change default screen resolution")
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# ac669251 04-Jun-2017 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: change default screen resolution

Update the default screen resolution and also use 24bpp for a better
screen performance.

Tested-by: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c9750456 16-May-2017 Matej Dujava <mdujava@kocurkovo.cz>

staging: sm750fb: fix length of lines, function calls and declaration

This patch breaks lines that are longer than 80 characters and joins
together those, that are too short and can be placed at one.

Function calls and declarations are updated to fit kernel code style.

Signed-off-by: Matej Dujava <mdujava@kocurkovo.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 271dbae3 31-Mar-2017 Prasant Jalan <prasant.jalan@gmail.com>

staging: sm750fb: removed line continuations in quoted strings

checkpatch gives WARNING: Avoid line continuations in quoted strings.

Trivial fix by removing line continuations and adding another quote at
the start of next line.

Signed-off-by: Prasant Jalan <prasant.jalan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4895398d 31-Mar-2017 Prasant Jalan <prasant.jalan@gmail.com>

staging: sm750fb: fixing function return with lock held

lynxfb_suspend() & lynxfb_resume() return on errors while holding
console_lock.

Adding 'goto' such that proper cleanups can be done before returning
from function and therefore console_lock can be released before
returning.

Signed-off-by: Prasant Jalan <prasant.jalan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4529d891 27-Feb-2017 Varsha Rao <rvarsha016@gmail.com>

staging: sm750fb: Remove blank lines after { and before } braces.

Removed unnecessary blank lines after open brace and before closed
braces, to fix the check patch issue. Also removed braces which were not
required.

Signed-off-by: Varsha Rao <rvarsha016@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 144634a6 19-Feb-2017 Katie Dunne <kdunne@mail.ccsf.edu>

staging: sm750fb: add curly braces to if-statements

Add curly braces to if-statements for style compliance.
These cases are found by checkpatch.pl

Signed-off-by: Katie Dunne <kdunne@mail.ccsf.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# e6b240bd 12-Feb-2017 Derek Robson <robsonde@gmail.com>

Staging: sm750fb: sm750.c - style fix

Change permissions to octal style.
Found using checkpatch

Signed-off-by: Derek Robson <robsonde@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# cee9ba1c 07-Jan-2017 Abdul Rauf <abdulraufmujahid@gmail.com>

staging: sm750fb: fix checkpatch 80 characters warning

Fix the following warnings:
line over 80 characters

Signed-off-by: Abdul Rauf <abdulraufmujahid@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c7c5722d 07-Jan-2017 Abdul Rauf <abdulraufmujahid@gmail.com>

staging: sm750fb: fix checkpatch multiple blank lines check

Fix the following checks:
Please don't use multiple blank lines

Signed-off-by: Abdul Rauf <abdulraufmujahid@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4e0447cd 26-Nov-2016 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: update license

The driver was actually released with BSD license. It also gained GPL
when it was submitted to be included in the kernel.

Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: gzhou1 <guojian.zhou@windriver.com>
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 52d0744d 09-Nov-2016 Arnd Bergmann <arnd@arndb.de>

staging: sm750fb: prefix global identifiers

Renaming some symbols inside this driver caused a conflict with
an existing function, which in turn results in a link error:

drivers/staging/sm750fb/sm750fb.o: In function `enable_dma':
ddk750_hwi2c.c:(.text.enable_dma+0x0): multiple definition of `enable_dma'

This adds a sm750_ prefix to each global symbol in the sm750fb
driver that does not already have one. I manually looked for the
symbols and then converted the driver using

for i in calc_pll_value format_pll_reg set_power_mode set_current_gate \
enable_2d_engine enable_dma enable_gpio enable_i2c hw_set2dformat \
hw_de_init hw_fillrect hw_copyarea hw_imageblit hw_cursor_enable \
hw_cursor_disable hw_cursor_setSize hw_cursor_setPos \
hw_cursor_setColor hw_cursor_setData hw_cursor_setData2 ;
do
sed -i "s:\<$i\>:sm750_$i:" drivers/staging/sm750fb/*.[ch]
done

Fixes: 03140dabf584 ("staging: sm750fb: Replace functions CamelCase naming with underscores.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c56de096 31-Oct-2016 Elise Lennion <elise.lennion@gmail.com>

staging: sm750fb: Replace pr_*() with dev_*().

dev_*() functions print identifying information about the struct device
and should be used instead of pr_*() whenever possible.

Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 6aab2d7e 14-Oct-2016 Elise Lennion <elise.lennion@gmail.com>

staging: sm750fb: Add const qualifier to struct declaration.

Const qualifier added to struct declaration to avoid data overwrite
during runtime and improve security.

Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# be704e58 11-Oct-2016 Elizabeth Ferdman <gnudevliz@gmail.com>

staging: sm750fb: compress return logic

Using Coccinelle script, compress return logic to return a value
directly rather than doing an assignment and returning the variable.
Remove unnecessary variable declaration by hand.

Coccinelle script:

@@
local idexpression ret;
expression e;
@@

-ret =
+return
e;
-return ret;

Signed-off-by: Elizabeth Ferdman <gnudevliz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 14c681ea 03-Oct-2016 Muraru Mihaela <mihaela.muraru21@gmail.com>

Staging: sm750fb: use unsigned int instead unsigned

This patch fixes a WARNING: Prefer 'unsigned int' to bare use of
'unsigned', found by checkpatch.pl. By fixing this the types of the parameters of the function become more explicit.

Signed-off-by: Muraru Mihaela <mihaela.muraru21@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 71b4de84 15-Sep-2016 Rehas Sachdeva <aquannie@gmail.com>

staging: sm750fb: Change 'x != NULL' to 'x'

Changes the explicit comparison to NULL from 'x != NULL' to 'x'. Issue detected
by checkpatch.

Signed-off-by: Rehas Sachdeva <aquannie@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 6504b9bd 05-Mar-2016 Eva Rachel Retuya <eraretuya@gmail.com>

staging: sm750fb: convert pr_err() to dev_err()

Replace pr_err() calls with respective dev_err() counterpart.
Change is safe since pdev is not NULL, this was identified by hand.
Semantic patch used to detect and apply the transformation:

@r exists@
identifier f,s,i;
position p;
@@

f(...,struct s *i,...) {
<+...
pr_err@p(...)
...+>
}

@s@
identifier r.s, dev;
@@

struct s {
...
struct device dev;
...
};

@t@
identifier r.i, s.dev;
expression fmt;
position r.p;
@@

- pr_err@p(
+ dev_err(&i->dev,
fmt, ...);

Signed-off-by: Eva Rachel Retuya <eraretuya@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 13b79a0d 28-Feb-2016 Amitoj Kaur Chawla <amitoj1606@gmail.com>

staging: sm750fb: Use pcim_enable_device()

Devm_ functions allocate memory that is released when a driver
detaches.
Replace pci_enable_device with the managed pcim_enable_device
and remove corresponding pci_disable_device from probe and
suspend functions of a pci_dev.

Also, an unnecessary label has been removed by replacing it
with a direct return statement.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 677c5072 28-Feb-2016 Amitoj Kaur Chawla <amitoj1606@gmail.com>

staging: sm750fb: Replace kzalloc with devm_kzalloc

Devm_ functions allocate memory that is released when a driver
detaches.
Replace kzalloc with devm_kzalloc and remove corresponding
kfrees from probe and remove functions of a pci_dev.

Also, an unnecessary label has been removed by replacing it
with a direct return statement.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# fad2564e 24-Feb-2016 Amitoj Kaur Chawla <amitoj1606@gmail.com>

staging: sm750fb: Remove unnecessary pci_set_drvdata()

Unnecessary pci_set_drvdata() has been removed since the driver
core clears the driver data to NULL after device release or on
probe failure. There is no need to manually clear the device
driver data to NULL.

The Coccinelle semantic patch used to make this change is as follows:
//<smpl>
@@
struct pci_dev *pci;
@@
- pci_set_drvdata(pci, NULL);
//</smpl>

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 16fdf7d5 22-Feb-2016 Amitoj Kaur Chawla <amitoj1606@gmail.com>

staging: sm750fb: Remove header files

Remove duplicate include files. Found using includecheck.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# fbb8c963 25-Jan-2016 Matej Vasek <xvasek1@fi.muni.cz>

staging: sm750fb, fix typos

The code contained typos like "structur", "fointers", etc. Fix that.

No code change, only comments.

Signed-off-by: Matej Vasek <xvasek1@fi.muni.cz>
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <linux-fbdev@vger.kernel.org>
Cc: <devel@driverdev.osuosl.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 61da1a12 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: lynxfb_pci_probe: remove some pr_info

Several pr_info statements in lynxfb_pci_probe seem like debug leftovers
and may be removed.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a50bc32d 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: introduce sm750fb_frambuffer_alloc

Split framebuffer allocation and registration into a dedicated function
to simplify lynxfb_pci_probe

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 9324f919 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: introduce sm750fb_frambuffer_release

Use a function to unregister framebuffer info and release its resources.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a3f92cc9 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace dual member of sm750_dev with fb_count

Will be used in futher refactoring of driver _probe and _remove methods.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 473baa2d 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: lynxfb_pci_remove: remove unused variable

The par variable in lynxfb_pci_remove is only assigned a value and never
used afterwards. Remove it.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# baf24530 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: lynxfb_pci_probe: return actual errors

The lynxfb_pci_probe always returned -ENODEV in case of error. Modify it
so that actual error code will be propogated to the caller.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 0fbc7c50 17-Jan-2016 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: disable PCI device if lynxfb_pci_probe fails

In case of error during lynxfb_pci_probe, the function returned without
calling pci_disable_device. Fix it by adding pci_disable_device on the
error cleanup path.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# cdfeaae5 30-Oct-2015 Shraddha Barke <shraddha.6596@gmail.com>

Staging: sm750fb: Remove unused modedb.h file

The header file modedb.h is only included in sm750.c but the things
defined by modedb.h are not used anywhere in sm750.c. Thus, drop
the include in sm750.c and modedb.h can be dropped completely.

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 823e034c 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove '#ifdef CAP_EXP*' conditionals

There are several occurencies of '#ifdef CAP_EXP<something>', spelled
differently each time. None of these is ever defined and therefore they
enclose dead code that can be removed.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# e359b6a8 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: merge lynx_share into sm750_dev

Both struct lynx_share and struct sm750_dev reprsent some parts of the
SM750 graphics adapter. There is no point to keep these parts in
different structures.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 8ac97f19 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove unused field in lynx_cursor

The lynx_share field in lynx_cursor structure is never used and can be
removed.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 52e93327 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: fix wrong indentation

Fix wrong indentation of a line in lynxfb_set_fbinfo

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 083c2048 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: use sm750_dev with pci_{get, set}_drvdata

Use sm750_dev as private driver data for the PCI device

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4fd92f51 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: use 'struct sm750_dev *' instead of 'void *'

Use proper 'struct sm750_dev *' type instead of 'void *'

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 700591a9 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace lynx_share with sm750_dev in function calls

Use sm750_dev rather than lynx_share as parameter for hw_sm750_map,
hw_sm750_inithw and hw_sm750_initAccel functions.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# f11fa2a9 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace lynx_share with sm750_dev in lynxfb_par

Use sm750_dev instead of lynx_share in the private data of the
frambuffer device.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c9634191 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove unused PROC_SPEC_* typedefs

The PROC_SPEC* typedefs are not used and can be removed

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 1757d106 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: merge struct sm750_state into struct sm750_dev

The struct sm750_state is never used on its own. Merge it into the
struct sm750_dev.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 5ef2f688 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: rename 'struct sm750_dev' variables to sm750_dev

Use consistent naming for 'struct sm750_dev' variables

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# bc3d48f3 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: rename struct sm750_share to sm750_dev

The struct sm750_share represents the device state and name sm750_dev
seems more appropriate.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 05407e15 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: merge sm750_hw.h into sm750.h

There is no actual need to split type definitions and global function
declarations between lots of small headers.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 492bcecf 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove unused smi_indent variable

The smi_indent variable is only declared, but never used. Remove it.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# e3a3f9f5 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace PADDING macro with ALIGN

The custom macro PADDING differs from standard kernel ALIGN only in
parameters order. Replace PADDING with ALIGN and remove it's definition.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# fb7f4055 26-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace lynx_cursor methods with function calls

The methods in lynx_cursor always use the same implementation and there is
no point to use redirection rather than direct function call.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 9821ed04 23-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: use direct call to hw_sm750_output_setMode

The proc_setMode method in lynx_output always uses the same
implementation and there is no point to use redirection rather than
direct function call.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c202beee 23-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: replace lynx_crtc methods with function calls

The methods in lynx_crtc always use the same implementation and there is
no point to use redirection rather than direct function call.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 9b2941e2 23-Oct-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove unused methods from lynx_share

The suspend and resume methods in lynx_share are not implemented and
never set. Remove them.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# f955a398 13-Oct-2015 Shivani Bhardwaj <shivanib134@gmail.com>

Staging: sm750fb: sm750: Remove irrelevant code

The variable ret is only declared and initialized to 0, but never
referenced, so remove it.

Signed-off-by: Shivani Bhardwaj <shivanib134@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 31557ea0 11-Oct-2015 Binbin Zhou <zhoubb@lemote.com>

staging: sm750fb: Fix the power state error in resume

The PM_EVENT_RESUME state is needed when SM750 resume, otherwise it
will be failed in the second time of continuous suspend/resume.

Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Binbin Zhou <zhoubb@lemote.com>
Reviewed-by: Huacai Chen <chenhc@lemote.com>
Reviewed-by: Teddy Wang <teddy.wang@siliconmotion.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4dc4d225 30-Sep-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove clear method from lynxfb_{crtc,output}

The clear methods of lynxfb_crtc and lynxfb_output are empty and
therefore they can be removed.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# efca4885b2 30-Sep-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove proc_checkMode method from lynxfb_output

The proc_checkMode of lynxfb_output is set to function that always
returns 0. Calling that function and checking for its return value is
meaningless.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 104f456c 30-Sep-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: remove unneeded switch statement

The lynxfb_ops_check_var function has two switch statements, the first
one checks for validity of var->bits_per_pixel and it is is immediatly
followed by another one that sets parameters according to
var->bits_per_pixel value. These switch statements can be merged into
one.

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 67088d49 21-Sep-2015 Mike Rapoport <rppt@kernel.org>

staging: sm750fb: tidy up #include directives

Add space between '#include' keyword and the header name

Signed-off-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4063ea9a 07-Aug-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: simplify return

Lets return the return value directly instead of using a variable to
store the result.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# f8fbc838 07-Aug-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: rearrange code

Rearrange the code to remove one exit label which also makes the code
less indented and more readable.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# d11ac7cb 07-Aug-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: fix multiline comment

Multiline comments are edited to be in the kernel coding style.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 13ef3458 07-Aug-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: space around operator

Kernel coding style says to have a space around the operators.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 5fd93ddf 07-Aug-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: remove multiple blank line

Multiple blank lines are not kernel coding style and so checkpatch
complains. Remove them.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a1fe154f 14-Jul-2015 Juston Li <juston.h.li@gmail.com>

staging: sm750fb: remove unnecessary whitespace

Fixes checkpatch.pl warning:
WARNING: unnecessary whitespace before a quoted newline

Signed-off-by: Juston Li <juston.h.li@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# df525686 14-Jul-2015 Vinay Simha BN <simhavcs@gmail.com>

staging: sm750fb: coding style global ERROR fixes

kernel coding style fixes for below messages from
scripts/checkpatch.pl

ERROR: do not initialise globals to 0 or NULL

Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# eb0f4271 18-Jun-2015 Greg Donald <gdonald@gmail.com>

drivers: staging: sm750fb: Fix "'foo * bar' should be 'foo *bar'" errors

Fix checkpatch.pl "'foo * bar' should be 'foo *bar'" errors

Signed-off-by: Greg Donald <gdonald@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 78cb7a38 17-Jun-2015 Hari Prasath Gujulan Elango <hgujulan@visteon.com>

staging: sm750fb: convert pr_err to pr_info

This patch modifies few debug prints from pr_err() to pr_info() as they
fall under that category.

Signed-off-by: Hari Prasath Gujulan Elango <hgujulan@visteon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 00827207 27-May-2015 Masanari Iida <standby24x7@gmail.com>

staging: sm750fb: Fix typo in sm750.c

This patch fix a spelling typo in printk within sm750.c

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c4eacdad 26-May-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750fb: remove duplicate from fb_videomode

As suggested by Sudip this patch removes the redundant 1360x768@60
option from the fb_videomode struct array.
The removed option and the option one it differ in a typo and a flag.

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 288ef567 10-May-2015 Huacai Chen <chenhuacai@kernel.org>

staging: sm750: Fix lynxfb_ops_imageblit() if image->depth != 1

If image->depth != 1, lynxfb_ops_imageblit() should fallback to call
cfb_imageblit(), not return directly. Otherwise it can't display the
boot logo.

Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 2e043a92 14-May-2015 Luis R. Rodriguez <mcgrof@suse.com>

staging: sm750fb: use arch_phys_wc_add() and ioremap_wc()

The same area used for ioremap() is used for the MTRR area.
Convert the driver from using the x86 specific MTRR code to
the architecture agnostic arch_phys_wc_add(). arch_phys_wc_add()
will avoid MTRR if write-combining is available, in order to
take advantage of that also ensure the ioremap'd area is requested
as write-combining.

There are a few motivations for this:

a) Take advantage of PAT when available

b) Help bury MTRR code away, MTRR is architecture specific and on
x86 its replaced by PAT

c) Help with the goal of eventually using _PAGE_CACHE_UC over
_PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
de33c442e titled "x86 PAT: fix performance drop for glx,
use UC minus for ioremap(), ioremap_nocache() and
pci_mmap_page_range()")

The conversion done is expressed by the following Coccinelle
SmPL patch, it additionally required manual intervention to
address all the #ifdery and removal of redundant things which
arch_phys_wc_add() already addresses such as verbose message
about when MTRR fails and doing nothing when we didn't get
an MTRR.

@ mtrr_found @
expression index, base, size;
@@

-index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
+index = arch_phys_wc_add(base, size);

@ mtrr_rm depends on mtrr_found @
expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
@@

-mtrr_del(index, base, size);
+arch_phys_wc_del(index);

@ mtrr_rm_zero_arg depends on mtrr_found @
expression mtrr_found.index;
@@

-mtrr_del(index, 0, 0);
+arch_phys_wc_del(index);

@ mtrr_rm_fb_info depends on mtrr_found @
struct fb_info *info;
expression mtrr_found.index;
@@

-mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
+arch_phys_wc_del(index);

@ ioremap_replace_nocache depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap_nocache(base, size);
+info->screen_base = ioremap_wc(base, size);

@ ioremap_replace_default depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap(base, size);
+info->screen_base = ioremap_wc(base, size);

Generated-by: Coccinelle SmPL
Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Cc: Teddy Wang <teddy.wang@siliconmotion.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Suresh Siddha <sbsiddha@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Juergen Gross <jgross@suse.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: devel@driverdev.osuosl.org
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 69e98df7 24-Apr-2015 Carlos E. Garcia <carlos@cgarcia.org>

Staging: fixed multiple spelling errors.

Fixed multiple spelling errors.

Signed-off-by: Carlos E. Garcia <carlos@cgarcia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# bb6ce8b2 10-Apr-2015 Arnd Bergmann <arnd@arndb.de>

staging: sm750: remove incorrect __exit annotation

The lynxfb_pci_remove function is used as the 'remove' callback
of the driver, and must not be discarded:

lynxfb_pci_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o

This removes the extraneous annotation.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 61c507cf 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: move assignment out of if cond

This patch moves the assignments from the if conditions to the line before the condition.
The 3 occurrence are return values and the checks for errors.

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# eb1167a3 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: fix whitspace for cast to pointer

This patch fixes the checkpatch.pl warning:
'ERROR: "(foo*)" should be "(foo *)"'

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a0c838f1 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: fix whitespace

This patch fixes whitespace checkpatch.pl warnings and errors.
Mainly whitespaces around operators.

- ERROR: spaces required around that ':' (ctx:VxW)
- ERROR: space required after that ';' (ctx:VxV)
- ERROR: spaces required around that '<' (ctx:VxV)
- ERROR: spaces required around that '!=' (ctx:VxV)

And some small warnings around whitespace:

- ERROR: trailing whitespace
- WARNING: space prohibited before semicolon
- WARNING: unnecessary whitespace before a quoted newline

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 876e5a70 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: blank line after declaration

This patch fixes "WARNING: Missing a blank line after declaration"
checkpatch.pl warnings.

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 3318bb5e 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: 80 characters per line

This patch inserts line breaks to make lines fit into 80 characters and increase readability.

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4bd9503d 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: comment formating

This patch fixes checkpatch.pl warnings / errors:

- "WARNING: please, no space before tabs"
- "ERROR: do not use C99 // comments"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# f46a04c7 27-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: no braces for single stmt if blocks

This patches fixes checkpatch.pl warning:
"WARNING: braces {} are not necessary for single statement blocks"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 27fa159b 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: fix whitespaces around pointers

This patch fixes checkpatch.pl errors:
- ERROR: "foo * bar" should be "foo *bar"
- ERROR: "foo* bar" should be "foo *bar"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 5ace4e10 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: fix whitespace around braces

Fix multiple similar checkpatch.pl errors:

- "ERROR: space required before the open parenthesis '('"
- "ERROR: space required before the open brace '{'"
- "ERROR: space prohibited after that open parenthesis '('"
- "ERROR: space prohibited before that close parenthesis ')'"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 70407df7 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: move '{' to previous line

Fix checkpatch.pl error:
"ERROR: that open brace { should be on the previous line"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 45e3b3da 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: add missing spaces after ','

Fixes checkpatch.pl error:
"ERROR: space required after that ',' (ctx:VxV)"

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# c52c3700 26-Mar-2015 Michel von Czettritz <michel.von.czettritz@gmail.com>

staging: sm750: Reindent

The reindent fixes the
"WARNING: please, no spaces at the start of a line",
"ERROR: code indent should use tabs where possible"
and some other small checkpatch.pl warnings and errors.

Signed-off-by: Michel von Czettritz <michel.von.czettritz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# cb422f3b 20-Mar-2015 Lorenzo Stoakes <lstoakes@gmail.com>

staging: sm750fb: Remove spinlock helper function

This patch removes the unnecessary spinlock helper function and instead
calls spin_lock and spin_unlock directly.

This does *not* resolve sparse warnings about context imbalances but these are
spurious.

Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 3de08a2d 20-Mar-2015 Lorenzo Stoakes <lstoakes@gmail.com>

staging: sm750fb: Use memset_io instead of memset

This patch takes into account that cursor->vstart, crtc->vScreen and
share->pvMem are pointers to memory-mapped I/O and thus we should use memset_io
to make this explicit. In addition, some architectures require special treatment
of memory-mapped I/O so the previous code could actually break without this
change.

This fixes the following sparse warnings:-

drivers/staging/sm750fb/sm750.c:489:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:490:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:501:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:502:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:833:5: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:1154:9: warning: incorrect type in argument 1 (different address spaces)

Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# b30edfcd 11-Mar-2015 Supriya Karanth <iskaranth@gmail.com>

staging: sm750fb: remove intialization of static ints

static ints are initialized to 0 by the compiler.
Explicit initialization is not necessary.

Found by checkpatch.pl - ERROR: do not initialise statics to 0 or NULL

changes made using coccinelle script:
@@
type T;
identifier var;
@@
static T var
- =0
;

Signed-off-by: Supriya Karanth <iskaranth@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# d6b0d6de 10-Mar-2015 Ioana Ciornei <ciorneiioana@gmail.com>

staging: sm750: Fix switch-case indentation

Remove switch cases indentation in order to follow the Linux coding style.

Signed-off-by: Ioana Ciornei <ciorneiioana@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# a99e334d 10-Mar-2015 Madhusudhanan Ravindran <mravindran04@gmail.com>

staging: sm750fb: Use kzalloc rather than kmalloc followed by memset with 0

The semantic patch that makes this change is available
in scriptcoccinelle/api/alloc/kzalloc-simple.cocci.

Signed-off-by: Madhusudhanan Ravindran <mravindran04@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 0fa96e39 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: correct integer comparison

fixed the build warning about comparison of pointer and integer.
end of string was being compared to NULL.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 06a1bf81 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: fix mixed declarations

we were getting build warning about mixed declaration. the variable
is now declared at the beginning of the block.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 4933b29b 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: remove unused functions

removed the functions which were not used anywhere.
it has been build tested also confirmed with git grep that there is
no other reference of these functions.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 5c7784b9 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: fix build failure

for powerpc-allyesconfig build failed with an error of g_option
undeclared. we will get this error on all architecture if MODULE is
not defined. fixed the declaration of g_option.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 848f2fce 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: fix undeclared function

kbuild test robot reported that for microblaze-allyesconfig
chan_to_field() and lynxfb_ops_set_par() were not defined. These two
functions were defined under CONFIG_PM, so for any archtecture if
CONFIG_PM is not defined we will have this error.

while moving the lynxfb_suspend() function some very obvious
checkpatch errors, like space after comma, space after if, space
before opening brace, were taken care of.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# e936351a 10-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: wrong type for print

mention correct format specifier while printing.
fixes all the build warnings about incorrect argument type while
printing.
since this is a framebuffer device and it should follow what the
framebuffer layer is suggesting in struct fb_fix_screeninfo at
smem_start and mmio_start, so accordingly changed the datatypes of
vidmem_start, vidreg_start, vidmem_size and vidreg_size.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


# 81dee67e 03-Mar-2015 Sudip Mukherjee <sudipm.mukherjee@gmail.com>

staging: sm750fb: add sm750 to staging

sm750 of Silicon Motion is pci-e display controller device and has
features like dual display and 2D acceleration. This patch adds the
driver to staging.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>