Don Zickus [Mon, 1 Jun 2015 17:00:28 +0000 (13:00 -0400)]
staging: unisys: Prepare vbus_hdr_info to be public
In order to remove bus_info, we need to migrate vbus_hdr_info into
the public namespace of visor_device. Because the struct is private,
we use a void * to hide the contents.
As a result, we need to allocate vbus_hdr_info and manage it.
Also work around vbus_valid, as that variable will not be used
in the public namespace.
Signed-off-by: Don Zickus <dzickus@redhat.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Don Zickus [Mon, 1 Jun 2015 17:00:27 +0000 (13:00 -0400)]
staging: unisys: Convert pending_msg_hdr to a pointer
In order for bus/dev_info structs to become public structs, one
element, pending_msg_hdr, needs to become opaque. This is to keep
all the internals of the controlvm struct private to the bus layer.
So a simple conversion of embedding the pending_msg_hdr struct into
a pointer is done. The rest of the patch is the fallout.
The rules are modified slightly. Instead of relying on the 'id' to be
CONTROLVM_INVALID to indicate invalid, just use the pointer set to NULL.
In addition, because bus/dev_info can be NULL and we still need to send
a
response, pass pending_msg_hdr to all 'responders' instead of bus/
That change causes some fallout in the success case. Instead of setting
state
bits and clearing info in the responders, do all that magic in the
responder
wrappers.
Signed-off-by: Don Zickus <dzickus@redhat.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Don Zickus [Mon, 1 Jun 2015 17:00:26 +0000 (13:00 -0400)]
staging: unisys: Move channel creation up the stack
Instead of creating a channel struct to temporarily hold the channel
info and passing it through multiple functions until the device is
created, just create the channel from the start.
This allows us to remove the channel_info struct.
I noticed 'chan_info.addr_type' was not being used, so I just deleted it.
Signed-off-by: Don Zickus <dzickus@redhat.com> Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Just use u8, as that's what you really want in a kernel driver.
Cc: Johnny Kim <johnny.kim@atmel.com> Cc: Rachel Kim <rachel.kim@atmel.com> Cc: Dean Lee <dean.lee@atmel.com> Cc: Chris Park <chris.park@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Use the "real" NULL value, don't try to be cute and define your own
value for something that the compiler obviously supports.
Cc: Johnny Kim <johnny.kim@atmel.com> Cc: Rachel Kim <rachel.kim@atmel.com> Cc: Dean Lee <dean.lee@atmel.com> Cc: Chris Park <chris.park@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There's some "custom" data types defined that are never used in the
driver, so remove them before we work on converting the rest to be
"standard" data types.
Cc: Johnny Kim <johnny.kim@atmel.com> Cc: Rachel Kim <rachel.kim@atmel.com> Cc: Dean Lee <dean.lee@atmel.com> Cc: Chris Park <chris.park@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Arnd Bergmann [Mon, 1 Jun 2015 19:06:44 +0000 (21:06 +0200)]
staging: wilc1000: fix const cast warnings
The wilc1000 driver produces a lot of warnings about invalid
casts between const and non-const variables. This reworks
the code to avoid all those warnings, by marking variables
and function arguments const.
A lot of the types use WILC_Uint8, I change them to const u8
for style reasons, as I'm touching them anyway.
Arnd Bergmann [Mon, 1 Jun 2015 19:06:39 +0000 (21:06 +0200)]
staging: wilc1000: clean up sleep wrapper
The driver has a simple wrapper around msleep, as well as
a more advanced sleep function that is unused. This removes
the unused code and the options to turn the feature on or
off.
A follow-up should rework the code to use msleep directly.
Arnd Bergmann [Mon, 1 Jun 2015 19:06:38 +0000 (21:06 +0200)]
staging: wilc1000: simplify semaphore wrapper
The driver has its own API for semaphores. This should
be replaced with mutexes and completions, but for the moment
we can start by removing the obviously unused parts.
The driver contains its own abstraction for memory allocation,
most of it unused. This removes the unused parts, but the
rest should also be removed later.
Add static declarations to statisfy sparse warnings in:
drivers/staging/unisys/visorbus/visorbus_main.c
warning: symbol 'visorbus_debug' was not declared
warning: symbol 'visorbus_forcematch' was not declared
warning: symbol 'visorbus_forcenomatch' was not declared
warning: symbol 'visorbus_devicetest' was not declared
warning: symbol 'visorbus_debugref' was not declared
warning: symbol 'visorbus_bus_groups' was not declared
warning: symbol 'devmajorminor_create_file' was not declared
warning: symbol 'devmajorminor_remove_file' was not declared
warning: symbol 'devmajorminor_remove_all_files' was not declared
warning: symbol 'unregister_devmajorminor_attributes' was not declared
staging: rtl8192e: Replace RT_TRACE(COMP_ERR, ...) with netdev_*
- Use netdev_* with log level depending on how serious error is
- Rework some messages to be more readable
- Pass net_device where needed for pretty prints
Remove the following private variables:
- force_mic_error - changes force_mic_error that is not used
- radio - changes sw_radio_on that is not used
- adhoc_peer_list - unimplemented
- firm_ver - unimplemented
Fix most of simple LONG_LINE warnings. None of the changes should affect
behaviour of code, so several modifications are included in this patch:
- Code is reindented where needed
- Local variable names are compacted (priv -> p)
- Unnecessary casts are removed
- Nested ifs are replaced with logical and
- a = b = c = d expressions are split
- Replace if/then series with clamp_t()
- Removed unneeded scopes
- Use netdev_dbg or netdev_vdbg instead of RTLLIB_DEBUG()
- Reformat some messages for better readability
- Remove RTLLIB_DEBUG messages that make no sense
- Pass extra argument (rtllib_device) to rtllib_parse_qos_info_param_IE()
and update_network()
- Replace RTLLIB_DEBUG_QOS() with netdev_dbg()
- Remove RTLLIB_DEBUG_QOS()
- Extract frame_ctl once and use it as variable.
- Drop endian conversion in is_beacon() function
(used in simplified function only)
- Simplify debug messages
- Invert STYPE checks in debug messages - it is valid
as only BEACON and PROBE_RESP are allowed
staging: rtl8192e: Replace RTLLIB_DEBUG(DL_ERR) with netdev_*()
Replace all RTLLIB_DEBUG(RTLLIB_DL_ERR, *) calls with netdev_err()
for errors that really should be reported to user.
Use netdev_warn() for the rest.
Rephrase some of the messages to make them more readable/compact.
staging: rtl8192e: Fix DEEP_INDENTATION warning in rtllib_parse_info_param()
Move MFIE_TYPE_GENERIC handler to rtllib_parse_mife_generic() function.
Code was not altered significantly, therefore in some places it generates
LONG_LINE checkpatch.pl warnings.
Replace memcpy() with ether_addr_copy() where possible to make
checkpatch.pl happy.
Change was target tested (download 1Mb file over WPA2 network)
with BUG trap for unaligned addresses in ether_addr_copy()
staging: rtl8192e: Make ethernet addresses properly aligned
Reorder ethernet addresses allocated on stack or in non-packed
structures to keep them aligned(2).
Use ETH_ALEN as array length in places where it was hardcoded to 6.
Alignment verified using pahole where possible and target-tested
with BUG_ON() trap in ether_addr_copy.
Heiner Kallweit [Sun, 31 May 2015 12:44:54 +0000 (14:44 +0200)]
staging: fbtft: Add support for Himax HX8357D controller
The Himax HX8357D is used e.g. by the Adafruit PITFT Plus 3.5".
Adafruit added HX8357D support to an own fork of fbtft and support
Raspbian only (https://github.com/adafruit/adafruit-rpi-fbtft/).
They don't intend to push it upstream but gave me the ok to do so.
Original author: Sean Cross <xobs@kosagi.com>
I just applied small changes to the driver to align it with the other
fbtft drivers.
- add "compatible" argument to FBTFT_REGISTER_DRIVER call
- add missing MODULE_ALIAS declarations
Tested successfully with this display on an RPI2 under Arch Linux ARM
(kernel 3.18.13).
lustre_ext_acl_xattr_reduce_space() declares old_size, but never uses it
and gcc 5.x likes to complain about this, so remove it as it's not used
at all.
staging: panel: use schedule_timeout_interruptible()
API consolidation with coccinelle found:
./drivers/staging/panel/panel.c:782:2-18:
consolidation with schedule_timeout_*() recommended
This is a 1:1 conversion with respect to schedule_timeout() to the
schedule_timeout_interruptible() helper only - so only an API
consolidation to improve readability. The timeout was being passed
as (ms * HZ + 999) / 1000 but that simply looks wrong - rather than
"manual" converting to jiffies, msecs_to_jiffies which handles all
corner-cases correctly, was used.
Patch was compile tested with x86_64_defconfig + CONFIG_STAGING=y,
CONFIG_PARPORT=m, CONFIG_PANEL=m
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Acked-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: me_daq: use schedule_timeout_interruptible()
API consolidation with coccinelle found:
./drivers/staging/comedi/drivers/me_daq.c:177:1-17:
consolidation with schedule_timeout_*() recommended
This is a 1:1 conversion of the current calls to an available helper
only - so only an API consolidation to improve readability.
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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>
Luca Ceresoli [Tue, 19 May 2015 09:35:26 +0000 (11:35 +0200)]
staging: rtl8188eu: return an error code, not a boolean
"If the name of a function is an action or an imperative command,
the function should return an error-code integer." (Documentation/CodingStyle)
Several action-like functions in this driver return a boolean: _SUCCESS = 1 on
success, _FAIL = 0 on error, defined in
drivers/staging/rtl8188eu/include/osdep_service.h.
Change rtw_start_drv_threads() to return a proper 0-or-error value.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Greg Kroah-Hartman <gregkh@linux.com> Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Haggai Eran [Sat, 23 May 2015 20:13:51 +0000 (23:13 +0300)]
staging: rtl8712: prevent buffer overrun in recvbuf2recvframe
With an RTL8191SU USB adaptor, sometimes the hints for a fragmented
packet are set, but the packet length is too large. Allocate enough
space to prevent memory corruption and a resulting kernel panic [1].
Sudip Mukherjee [Fri, 15 May 2015 09:19:39 +0000 (14:49 +0530)]
staging: rtl8712: fix stack dump
del_timer_sync() is not to be called in the interrupt context unless
the timer is irqsafe. but most of the functions where commits 6501c8e7d86cca5f and 382d020f4459cd77 touched were called in interrupt
context. And as a result the WARN_ON was getting triggered. Changed
to del_timer() in places which were called from interrupt.
Fixes: 382d020f4459cd77 ("Staging: rtl8712: Eliminate use of _cancel_timer" Fixes: 6501c8e7d86cca5f ("Staging: rtl8712: Eliminate use of _cancel_timer_ex") Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=97711 Reported-by: Arek Rusniak <arek.rusi@gmail.com> Tested-by: Arek Rusniak <arek.rusi@gmail.com> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch fixes the leak, which was present in fwserial driver in the
init function. In case the tty driver allocation failed the function
returned error, leaving debugfs entry in the filesystem.
To fix the issue additional error label was added, so that the code will
jump to it in case of allocation failure, and free debugfs entries.
Signed-off-by: Vladimirs Ambrosovs <rodriguez.twister@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jagan Teki [Mon, 18 May 2015 16:32:45 +0000 (22:02 +0530)]
staging: rtl8712: Use ether_addr_copy() instead of memcpy()
Fixes Warning encounter this by applying checkpatch.pl against this file:
Prefer ether_addr_copy() over memcpy() if the Ethernet addresses
are __aligned(2)
- pnetdev->dev_addr
dev_addr is interface address infor from generic net_device structure
which is properly aligned and have some patches with this change as well.
"staging: rtl8712: fix Prefer ether_addr_copy() over memcpy()"
(sha1: 36e4d8826b317080e283e4edd08bf8d5ac706f38)
Signed-off-by: Jagan Teki <jteki@openedev.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Tue, 19 May 2015 12:25:24 +0000 (15:25 +0300)]
staging: slicoss: restore IRQs correctly after slic_cmdq_reset()
We can't save two different values in "flags" so it means that IRQs are
not enabled properly at the end of this function. This isn't a problem
in the current code because it's always called with IRQs disabled so we
don't want to enable them at the end.
This bug is old but it's thanks to David Matlack's recent cleanups that
Smatch can detect it.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: David Matlack <dmatlack@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jaime Arrocha [Tue, 26 May 2015 18:14:05 +0000 (13:14 -0500)]
staging: gdm724x: Remove test for host endian
gdm_endian.c: small changes were done to remove testing for host
endianness and in-driver conversion for byte-ordering.
The linux/kernel.h functions are used now.
gdm_endian.h: removal of code no longer needed with changes
in gdm_endian.c.
staging: rts5208: pass timeout as HZ independent value
schedule_timeout takes a timeout in jiffies but the code currently is
passing in a constant POLLING_INTERVAL which makes this timeout HZ
dependent, so pass it through msecs_to_jiffies() to fix this up.
patch was compile tested for x86_64_defconfig + CONFIG_STAGING=y,
CONFIG_RTS5208=m
Patch is against 4.0-rc5 (localversion-next is -next-20150527)
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>