Commit Graph

376991 Commits

Author SHA1 Message Date
Greg Kroah-Hartman 451372066d Second round of IIO new stuff and cleanups for the 3.11 cycle.
1) Pressure sensor support in the st sensors driver - LPS331AP currently.
 2) Graduation of generic interrupt from staging with some related cleanup.
 3) A number of platform_set_drvdata on remove removals.
 4) 2 conditional build changes to prevent device tree structures from being
    built in when device tree isn't enabled.  These just save a bit of space
    rather than being strictly required at the moment.
 5) A couple of strict_strtoul -> kstrtoul conversions.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQIcBAABAgAGBQJRsvRVAAoJEFSFNJnE9BaI6ZsQAIIdtuKkv8W5MFf/RBJjWCGw
 2dTwapKFEBAFNSIfq2xdMZd1kGaaQELfDQmPfXzaKlR2scFxHfiFXddiDe7ZHBbr
 vyd4suDR9vXI9D1HOhG9QVzZcSEXWZ+fyoageUYygJ22I8ubq0EdBHzYM5Bdv+aJ
 5bCquKMkCeDO/Usf/HxGSgf/xUTfOjzynUmSvn+76xcZ1ZkUIY1K3UTm3tg9eev0
 R11AY3uAzrjjs/iqNlbiTgXxpmIdT69StE5EDvrUEQrVkJFERgpITQIwti+ws9Uo
 jEhfR5vGymTYCRud8wuVA3ps416McSIQdPtluHcupIAtA95NnSeYx3bJnPB6NkOc
 TA4EFqzhXpEHr3oIb6bCfzS9eWazNfCdHF9U0oDUOKKgYSZ7YUski84t3c7lrMCs
 gV3qqNNpnC+BqwW9gO7BEWKZFmDcyZtZEHAKEKor9peG7n8Wib7pUb7rpxEtekee
 oljYxVnGBw+qZnupQlbAj9+TeGMiyPEPGvFFo7VeokOJuKfFBro0+j2mdjXoaP5v
 4eEM/UDw0Rv8hxqMJLsGGBovkbbOWFNOEeb+GNlxv/MZJ/85yw4OQHHYTpuiqwcw
 H9HrGpvkex2DPn1+L5bVA95FyrqAJ70biUv2cvtg4UrrA68NRpmt+YB8enfbgUl1
 nsiMIWq0hq9fdv50jH7O
 =zY7L
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-3.11b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second round of IIO new stuff and cleanups for the 3.11 cycle.

1) Pressure sensor support in the st sensors driver - LPS331AP currently.
2) Graduation of generic interrupt from staging with some related cleanup.
3) A number of platform_set_drvdata on remove removals.
4) 2 conditional build changes to prevent device tree structures from being
   built in when device tree isn't enabled.  These just save a bit of space
   rather than being strictly required at the moment.
5) A couple of strict_strtoul -> kstrtoul conversions.
2013-06-08 07:13:38 -07:00
Jonathan Cameron 78f304d06c iio:trigger:interrupt fix formatting of rsize variable in name
The name includes irq_res->start which of type resource_size_t not integer.
We could in theory use %pa for this but then it would be in hex and also
that causes a warning about incorrect types anyway.  Hence just
use the irq local variable we assigned the line above.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-06-08 10:00:58 +01:00
Sachin Kamat e89b674705 staging: iio: spear_adc: Add missing CONFIG_OF macro
The data structure is required only when DT is enabled.
Hence compile it conditionally.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Stefan Roese <sr@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-06-08 09:47:40 +01:00
Aaro Koskinen 877ea664f6 staging: octeon-usb: cvmx-usbcx-defs.h: reformat license text to fit 80 cols
Reformat the original license text to fit in 80-column terminal. No
change in wording.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:04 -07:00
Aaro Koskinen 56ac87dbae staging: octeon-usb: cvmx-usbcx-defs.h: delete CVS keyword marker
Delete CVS keyword marker and a comment that the file is autogenerated.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:04 -07:00
Aaro Koskinen 1337de71a9 staging: octeon-usb: cvmx-usbcx-defs.h: avoid long lines in comments
Format all comments (except license text) to fit to 80 column terminals.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:04 -07:00
Aaro Koskinen 3d3792e91f staging: octeon-usb: cvmx-usbcx-defs.h: clean up macros
Use helper macros to avoid copy-paste and too long lines.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:03 -07:00
Aaro Koskinen 8f55eb2ee3 staging: octeon-usb: cvmx-usbcx-defs.h: delete unused macros
Delete some unused macros.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:03 -07:00
Aaro Koskinen ebf5950a9a staging: octeon-usb: cvmx-usbcx-defs.h: fix comment style
Adjust struct member comments to be closer to kernel-doc format.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:15:03 -07:00
Aaro Koskinen 215f7493f5 staging: octeon-usb: cvmx-usbcx-defs.h: fix struct indentation
Fix struct indentation.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:13:58 -07:00
Aaro Koskinen ceba5567fd staging: octeon-usb: cvmx-usbcx-defs.h: fix brace placement
Fix placement of braces in structs and unions.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:13:57 -07:00
Aaro Koskinen 8aaefbef65 staging: octeon-usb: cvmx-usbcx-defs.h: delete unused union members
Delete unused union members.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:13:57 -07:00
Aaro Koskinen a972c4830d staging: octeon-usb: cvmx-usbcx-defs.h: delete unused data types
Delete unused data types.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:12:44 -07:00
Aldo Iljazi 2dad6e4688 Staging: ft1000-pcmcia: ft1000_dnld.c: fixed four checkpatch
Fixed four checkpatch error complains, specifically:
ft1000_dnld.c:512: ERROR: space prohibited after that '&' (ctx:WxW)
ft1000_dnld.c:514: ERROR: space prohibited after that '&' (ctx:WxW)
ft1000_dnld.c:694: ERROR: space prohibited before that close parenthesis ')'
ft1000_dnld.c:713: ERROR: space prohibited before that close parenthesis ')'

Signed-off-by: Aldo Iljazi <neonsync1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 13:12:43 -07:00
Jiang Liu da5cc7d338 zram: use atomic64_xxx() to replace zram_stat64_xxx()
Use atomic64_xxx() to replace open-coded zram_stat64_xxx().
Some architectures have native support of atomic64 operations,
so we can get rid of the spin_lock() in zram_stat64_xxx().
On the other hand, for platforms use generic version of atomic64
implement, it may cause an extra save/restore of the interrupt
flag.  So it's a tradeoff.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:21 -07:00
Jiang Liu 42e99bd975 zram: optimize memory operations with clear_page()/copy_page()
Some architectures provides architecture-specific, optimized version of
clear_page()/copy_page(), which may have better performance than
memset()/memcpy(). So use clear_page()/copy_page() to optimize zram
performance if possible.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:21 -07:00
Jiang Liu 0f0e3ba346 zram: kill unused zram_get_num_devices()
Now there's no caller of zram_get_num_devices(), so kill it.
And change zram_devices to static because it's only used in zram_drv.c.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:21 -07:00
Jiang Liu 80de574dca zram: simplify and optimize dev_to_zram()
Simplify and optimize dev_to_zram() without walking the zram_devices
array.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 5863e10b44 zram: protect sysfs handler from invalid memory access
Use zram->init_lock to protect access to zram->meta, otherwise it
may cause invalid memory access if zram->meta has been freed by
zram_reset_device().

This issue may be triggered by:
Thread 1:
while true; do cat mem_used_total; done
Thread 2:
while true; do echo 8M > disksize; echo 1 > reset; done

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 12a7ad3b81 zram: avoid access beyond the zram device
Function valid_io_request() should verify the entire request are within
the zram device address range. Otherwise it may cause invalid memory
access when accessing/modifying zram->meta->table[index] because the
'index' is out of range. Then it may access non-exist memory, randomly
modify memory belong to other subsystems, which is hard to track down.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 65c484609a zram: avoid double free in function zram_bvec_write()
When doing a patial write and the whole page is filled with zero,
zram_bvec_write() will free uncmem twice.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 39a9b8ac93 zram: destroy all devices on error recovery path in zram_init()
On error recovery path of zram_init(), it leaks the zram device object
causing the failure. So change create_device() to free allocated
resources on error path.

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: Jerome Marchand <jmarchan@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 57ab048532 zram: use zram->lock to protect zram_free_page() in swap free notify path
zram_slot_free_notify() is free-running without any protection from
concurrent operations. So there are race conditions between
zram_bvec_read()/zram_bvec_write() and zram_slot_free_notify(),
and possible consequences include:
1) Trigger BUG_ON(!handle) on zram_bvec_write() side.
2) Access to freed pages on zram_bvec_read() side.
3) Break some fields (bad_compress, good_compress, pages_stored)
   in zram->stats if the swap layer makes concurrently call to
   zram_slot_free_notify().

So enhance zram_slot_free_notify() to acquire writer lock on zram->lock
before calling zram_free_page().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:20 -07:00
Jiang Liu 6030ea9b35 zram: avoid invalid memory access in zram_exit()
Memory for zram->disk object may have already been freed after returning
from destroy_device(zram), then it's unsafe for zram_reset_device(zram)
to access zram->disk again.

We can't solve this bug by flipping the order of destroy_device(zram)
and zram_reset_device(zram), that will cause deadlock issues to the
zram sysfs handler.

So fix it by holding an extra reference to zram->disk before calling
destroy_device(zram).

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:12:19 -07:00
H Hartley Sweeten 0ea0dcff90 staging: comedi: pcl730: tidy up multi-line comment
Tidy up the multi-line comment at the beginning of the file to
follow the CodingStyle.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:09:17 -07:00
H Hartley Sweeten 3e0d529c0a staging: comedi: pcl730: rename the boardinfo table
Rename the boardinfo table so it has namespace associated with the
driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:09:16 -07:00
H Hartley Sweeten 293d567167 staging: comedi: pcl730: tidy up pcl730_attach()
For aesthetic reasons, add some whitespace to the subdevice init
and reorder it a bit.

Remove the blank line printk at the end of the attach.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:09:16 -07:00
H Hartley Sweeten 74f14a58b9 staging: comedi: pcl730: tidy up pcl730_di_insn()
For aesthetic reasons, rename the function.

Use a local variable for the 'reg' offset that is stored in the
comedi_subdevice 'private' pointer to minimize the number of casts.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:09:16 -07:00
H Hartley Sweeten d015d96103 staging: comedi: pcl730: tidy up pcl730_do_insn()
For aesthetic reasons, rename the function.

Use a local variable for the 'reg' offset that is stored in the
comedi_subdevice 'private' pointer to minimize the number of casts.
Also, add local variables for the 'mask' and 'bits'.

The outputs only need to be updated if the 'mask' indicates that the
'bits' are changing. Move the update code into the main 'if (mask)'
block.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:03:09 -07:00
H Hartley Sweeten a32b885ebe staging: comedi: pcl730: tidy up the boardinfo
Convert the boardinfo declaration to C99 format and move it near the
struct definition.

Since the *_SIZE defines are only used in the boardinfo, remove them
and just open code the values in the boardinfo.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:03:09 -07:00
H Hartley Sweeten e3693fd3ba staging: comedi: introduce comedi_range_is_{bi,uni}polar()
Introduce some helper functions to check if a given 'range' index
to a comedi_subdevice 'range_table' is a bipolar or unipolar range.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:03:09 -07:00
H Hartley Sweeten 9a8e7f63dc staging: comedi: pcmad: remove unnecessary includes
This driver does not use interrupts and the comedi core handles the
allocation of the io resource so these includes are not required.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:35 -07:00
H Hartley Sweeten 3170b2565f staging: comedi: pcmad: fix analog input data on pcmad12
According to the PCM-A/D-12/16 Operations Manual:

NOTE: On the PCM-A/D-12 the lower nibble of the hex value will always be 0.

Fix the pcmad_ai_insn_read() function to properly handle this by shifting
the data after it has been read.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:35 -07:00
H Hartley Sweeten 7ecc5370de staging: comedi: pcmad: properly handle analog input encoding configuration
The comedi_config utility is used to attach to this board. One of the
configuration options passed by the user sets the analog input encoding
for straight binary or two's complement data. The hardware produces
straight binary data when jumpered for 5V unipolar inputs and two's
complement data when jumpered for +-10V bipolar inputs.

Use the configuration option to correctly set the comedi_subdevice
range_table.

We can then use a helper function to determine what the range is when
reading the analog inputs. This allows removing the 'twos_comp' variable
from the private data (which was actually never used).

Since the private data is now empty, remove it completely.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:35 -07:00
H Hartley Sweeten 6092e9428d staging: comedi: pcmad: properly handle single/diff input configuration
The comedi_config utility is used to attach to this board. One of the
configuration options passed by the user sets the analog input reference
for single-ended or differential inputs.

Use the configuration option to correctly set the comedi_subdevice flags
as well as the number of channels.

Remove the 'differential' variable from the private data. Its not used
by the driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:35 -07:00
H Hartley Sweeten d69b55f3d0 staging: comedi: pcmad: change boardinfo 'n_ai_bits' to 'ai_maxdata'
This information is only used to set the subdevice 'maxdata'. Change
it so the calculation is not needed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten 624b653090 staging: comedi: pcmad: tidy up pcmad_attach()
Remove the comment before the function, the options are documented at
the beginning of the file.

Remove the PCMAD_SIZE define. It's only used in the attach to specify
the io region size.

For aesthetic reasons, add some whitespace to the subdevice init and
reorder them a bit.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten 3275b4d3db staging: comedi: pcmad: tidy up pcmad_ai_insn_read()
Use a local variable to read and munge the analog input data instead
of directly using the 'data' pointer passed to the function.

(*insn_read) functions either return an errno or the number of data
values read. Change the final return to insn->n to make this clearer.

Tidy up the function.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten a0e82af4c5 staging: comedi: pcmad: remove need for boardinfo in pcmad_ai_insn_read()
The const boardinfo pointer is only used in this function to work out
the value needed to convert the data to its twos complement. Use the
comedi_subdevice 'maxdata' to do this conversion and remove the 'board'
pointer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten bcc01b4d85 staging: comedi: pcmad: return errno if AI conversion times out
Instead of returning invalid data, return -ETIME if the analog input
conversion times out.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten 2a09cba62e staging: comedi: pcmad: move the boardinfo
For aesthetic reasons, move the boardinfo declaration so it follows
the definition.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
H Hartley Sweeten 06d4bd5153 staging: comedi: pcmad: tidy up multi-line comments
Tidy up the multi-line comments at the beginning of the file to
follow the CodingStyle.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 12:01:34 -07:00
Xenia Ragiadakou b3d42bf187 staging: rtl8192u: fix read_nic_* functions
read_nic_*() functions are defined in r8192U_core.c.
They call internally usb_control_msg() to read the
nic registers and return the value read.
Following a remark made by Dan Carpenter, if usb_control_msg()
fails, the value returned will be invalid.

To accommodate for this, this patch changes the functions
to take a pointer as argument to set the value read and
return 0 on success and the error status on failure, so
that callers of read_nic_*() can check the return status.

Some other fixes introduced in read_nic_*() functions are:

The expressions (1<<EPROM_*_SHIFT) used to address and set
the individual bits of the eeprom register were replaced
with EPROM_*_BIT bitmasks to make the code more intuitive.
EPROM_*_BIT bitmasks were defined in r8192U_hw.h and
EPROM_*_SHIFT were removed.

In netdev_err(), which is called in case of failure,
the hardcoded function name in the error log message was
replaced with __func__ to reduce line size.
Also, from the error log message, it was omitted the word
"Timeout" and it is just reported the error code since the
failure can not only be due to timeout expiration but also
due to a memory allocation failure. In case of timeout
expiration, usb_start_wait_urb() prints an appropriate log
message when debug is enabled.

Finally, some minor fixes to the coding style were applied in
lines affected by the above changes, including the removal
of ifdef DEBUG_RX (the debugging of reads and writes of the
nic registers shall be done with explicit check on their
return status which will be added in a follow on patch).

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:57:16 -07:00
Dan Carpenter c2ac90b9b4 Staging: rtl8192u: fix a reversed test
Sean MacLennan fixed this in the rtl8192e driver and we should fix
it here as well.

It's pretty harmless.  This information comes from the firmware, if
we were to hit this bug we would read beyond the end of the array
once or twice before returning and update our statistics with bogus
data.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:57:15 -07:00
Johannes Schilling 0ea8a165ab keucr: fix some alignment- and whitespace-problems
resolves checkpatch errors and warnings regarding whitespace around
operators, line lengths and indentation.

Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Johannes Schilling <of82ecuq@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:50 -07:00
Laura Lawniczak eecb3c07e7 keucr: moved function to other file
Function usb_stor_print_cmd was declared in init.c but only used
in transport.c. So it was reasonable to move it there and declare
it static

Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:50 -07:00
Laura Lawniczak 6fbb90bf28 keucr: more readable and friendly error messages
Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Johannes Schilling <of82ecuq@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:50 -07:00
Laura Lawniczak 29b31420f6 keucr: migrate printk to dev_dbg/info/warn/err
as per suggestion of checkpatch.pl; this resolves warnings like "Prefer
netdev_info .. then dev_info .. to printk".
Changed signature of function usb_stor_print_cmd in init.c to enable
usage of dev_err

Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Johannes Schilling <of82ecuq@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:50 -07:00
Johannes Schilling 3fb91d1128 keucr: use more specific max_t(int, ..
as advised by checkpatch, changed generic max(..) to max_t(int, ..

Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Johannes Schilling <of82ecuq@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:49 -07:00
Johannes Schilling 8be8804000 keucr: remove some unneccesary typedefs
resolves checkpatch.pl warning "do not add new typedefs" and renames allcaps
structures.

Signed-off-by: Laura Lawniczak <laura.lawniczak@googlemail.com>
Signed-off-by: Johannes Schilling <of82ecuq@cip.cs.fau.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-06 11:48:49 -07:00