Suniel Mahesh [Wed, 4 Oct 2017 07:45:37 +0000 (13:15 +0530)]
staging: ccree: Convert to platform_{get,set}_drvdata()
Platform devices are expected to use wrapper functions,
platform_{get,set}_drvdata() with platform_device as argument,
for getting and setting the driver data. dev_{get,set}_drvdata()
are using &plat_dev->dev.
For wrapper functions we can directly pass a struct platform_device.
dev_set_drvdata() is redundant and therefore removed. The driver core
clears the driver data to NULL after device_release or on probe failure.
Colin Ian King [Mon, 2 Oct 2017 21:51:49 +0000 (22:51 +0100)]
staging: rtlwifi: make various structures static
The structures created from macros RTL_DEBUG_IMPL_MAC_SERIES,
RTL_DEBUG_IMPL_BB_SERIES, RTL_DEBUG_IMPL_RF_SERIES and
RTL_DEBUG_IMPL_CAM_SERIES are all local to the source and do
not need to be in global scope, so make them static.
Cleans up 37 sparse warnings of the form:
symbol 'rtl_debug_priv_mac_0' was not declared. Should it be static?
Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dan Carpenter [Fri, 29 Sep 2017 07:51:17 +0000 (10:51 +0300)]
staging: rtlwifi: silence underflow warning
I'm not totally certain that it's necessary to put an upper limit here.
I think it happens at lower levels. But if we are going to do that then
we should have a lower bound as well.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
If 'rtl8192_usb_initendpoints()' fails, it may have allocated some
resources that need to be freed. The corresponding is propagated up to
'rtl8192_usb_prob()'. So, in this function if an error
code is returned by 'rtl8192_init()' we should call
'rtl8192_usb_deleteendpoints()'.
Some error handling code is also duplicated in 'rtl8192_init()' and in
'rtl8192_usb_prob()'. This looks harmless because the freed pointers are
set to NULL but it looks confusing.
Fix all that by just moving the 'fail' label and removing duplicated
error handling code from 'rtl8192_ini()'. All this resources freeing will
be handled by 'rtl8192_usb_prob()' directly.
The calling graph is:
rtl8192_usb_probe
--> rtl8192_init
--> rtl8192_usb_initendpoints
staging: rtl8192u: Check some memory allocation failure
If one of these memory allocations fail, a NULL pointer dereference will
occur later on.
Return -ENOMEM instead.
There is no need to free the resources already allocated, this is done
by the caller (i.e. 'rtl8192_usb_probe()') which calls
'rtl8192_usb_deleteendpoints()'.
The calling graph is:
rtl8192_usb_probe
--> rtl8192_init
--> rtl8192_usb_initendpoints
Jérémy Lefaure [Sun, 1 Oct 2017 19:30:55 +0000 (15:30 -0400)]
staging: rtl8723bs: use ARRAY_SIZE
Using the ARRAY_SIZE macro improves the readability of the code. Also,
it is not always useful to use a variable to store this constant
calculated at compile time.
Found with Coccinelle with the following semantic patch:
@r depends on (org || report)@
type T;
T[] E;
position p;
@@
(
(sizeof(E)@p /sizeof(*E))
|
(sizeof(E)@p /sizeof(E[...]))
|
(sizeof(E)@p /sizeof(T))
)
Jérémy Lefaure [Sun, 1 Oct 2017 19:30:56 +0000 (15:30 -0400)]
staging: rtlwifi: use ARRAY_SIZE
Using the ARRAY_SIZE macro improves the readability of the code. Also,
it is useless to use a variable to store this constant calculated at
compile time.
Found with Coccinelle with the following semantic patch:
@r depends on (org || report)@
type T;
T[] E;
position p;
@@
(
(sizeof(E)@p /sizeof(*E))
|
(sizeof(E)@p /sizeof(E[...]))
|
(sizeof(E)@p /sizeof(T))
)
For some dpio functions, a cpu id parameter value of -1 is
valid and means "any". But when trying to validate this param
value against an upper limit, in this case num_possible_cpus(),
we risk obtaining the wrong result due to an implicit cast.
Avoid an incorrect check result by explicitly comparing the
cpu id with the "any" value before verifying the upper bound.
Gilad Ben-Yossef [Tue, 3 Oct 2017 10:42:15 +0000 (11:42 +0100)]
staging: ccree: simplify access to struct device
Introduce a function to retrieve struct device from private
data structure in preparation to replacing custom logging
macros with proper dev_dbg and friends which require struct
device.
Gilad Ben-Yossef [Tue, 3 Oct 2017 10:42:14 +0000 (11:42 +0100)]
staging: ccree: remove sysfs if of deleted code
The ccree cycle count mechanism was removed in
commit 7f821f0c6ffa ("staging: ccree: remove cycle count debug support")
but the sysfs interface lingered on. Remove it now.
Staging: rtl8188eu: core: Use list_entry instead of container_of
For variables that have type struct list_head* use list_entry to
access current list element instead of using container_of.
Done using the following semantic patch by coccinelle.
Shreeya Patel [Sun, 1 Oct 2017 07:41:20 +0000 (13:11 +0530)]
Staging: rtl8723bs: Remove unnecessary comments
Remove unnecessary comments which are there
to explain why call to memset is in comments. Both of the
comments are not needed as they are not very useful.
Keerthi Reddy [Mon, 2 Oct 2017 09:31:14 +0000 (15:01 +0530)]
Staging: sm750fb: remove typedef for enum in ddk750_power.{c,h}
Using typedef will hide that 'DPMS_t' is enum. Removing this
will make sure that we are actually working with enum. Also it is
not a good coding style to use typedef
In this commit remove typedef and lowercaser the name 'DPMS_t'. And
also drop '_t' which traditionally means typedef.
Implicit type conversions are bad; they hinder readability of code and have
potential to cause bugs. Here the variable wait_ack is always supplied a bool
value while in function declarations it is defined as an int type. Fix it by
defining wait_ack a bool type in all usages.
This patch removes typedef from struct and renames it from "typedef
struct vchiq_2835_state_struct" to "struct vchiq_2835_state" as per
kernel coding standards.
the volatile fields of bcm2835_alsa_stream -
control and status are not used.
$ grep bcm2835_alsa_stream
>From the above command all instances we see that
all variables of 'bcm2835_alsa_stream' are declared as
'alsa_stream'
So search for 'control' wherever we have 'alsa_stream'
$ grep -l 'alsa_stream' | xargs grep "control"
The above command returns where we don't any usage of
'control' field. which means that there is no usage of
these fields.
Haneen Mohammed [Sat, 23 Sep 2017 02:22:39 +0000 (20:22 -0600)]
staging: lustre: lnet: replace list_for_each with list_for_each_entry
Replace use of the combination of list_for_each() and list_entry() with
list_for_each_entry() to simplify the code and remove variables that are
used only in list_for_each().
Issue found and corrected using Coccinelle script:
@r@
expression head, member, e;
type T1, T2, T3;
iterator name list_for_each, list_for_each_entry;
identifier pos, var;
@@
staging: wilc1000: No space is necessary after a cast
A space after type casting is not needed. All the other typecasts
in this file don't put space after typecast. so remove space
after typecast at this line.
Removing the two wrapper functions dealing with visorchannel_create() and
instead just always use a new version of visorchannel_create() with an
additional parameter.
Signed-off-by: Sameer Wadgaonkar <sameer.wadgaonkar@unisys.com> Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Binder [Wed, 27 Sep 2017 17:14:40 +0000 (13:14 -0400)]
staging: unisys: include: Rename channel.h to visorchannel.h
In order to avoid a potential conflict with other drivers that define a
channel.h file, the s-Par channel.h file is renamed in accordance with the
surrounding driver-set namespace.
Signed-off-by: David Binder <david.binder@unisys.com> Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:36 +0000 (13:14 -0400)]
staging: unisys: remove visorbus_type extern
The variable visorbus_type could be contained to the visorbus_main.c
file by moving the two functions that referenced it visorchipset.c. This
allowed us to remove the incorrect extern from the include file visorbus.h.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:29 +0000 (13:14 -0400)]
staging: unisys: only include a file where it is used.
The header file visorbus.h included several linux headers that were
used by the source files that include it. Move the includes to the
files that actually use them.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:25 +0000 (13:14 -0400)]
staging: unisys: visorbus: fix newlines for visorchannel
Remove extraneous blank lines and add some lines that are needed. General
philosophy -- declaration, space, pre-conditions (if needed), space, then
rest of function.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:20 +0000 (13:14 -0400)]
staging: unisys: visorbus: keep the success path on the left
The code was indenting for the successful path and then combining the
error and success path for the rest of the function. Correct it so the
success path is not indented.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:17 +0000 (13:14 -0400)]
staging: unisys: fix up device_destroy
Visorbus_remove_instance calls device_unregister which in turn will call
visorbus_release_busdevice. The function visorbus_release_busdevice was
freeing the visor_device. The code in visorbus_remove_instance was then
trying to reference the visor_device. This patch cleans up the code so
the visor_device is not referenced after the unregister.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Kershner [Wed, 27 Sep 2017 17:14:07 +0000 (13:14 -0400)]
staging: unisys: visorbus: don't need local variable cmd
The local variable cmd was just being used to dereference a field inside
of it. Get rid of the variable and just derefernce the parameter being
passed in.
Signed-off-by: David Kershner <david.kershner@unisys.com> Reviewed-by: Tim Sell <timothy.sell@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>