Johan writes:
This commit doesn't even do what it claims. It leaves the two
spaces before tabs in place and instead removes a tab that was
used to indent a continuation line, and therefore also hurts
readability while introducing an inconsistency.
Reported-by: Johan Hovold <johan@kernel.org> Cc: Ioannis Valasakis <code@wizofe.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Johan writes:
This patch removes the double newlines that were used as section
headers in the lengthy protocol header file, and therefore hurts
readability.
So I'm reverting it.
Reported-by: Johan Hovold <johan@kernel.org> Cc: Ioannis Valasakis <code@wizofe.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ajay Singh [Mon, 12 Nov 2018 05:45:26 +0000 (05:45 +0000)]
staging: wilc1000: rename firmware related constants to follow better namespace
Rename the firmware related macro by prefix with 'WILC_FW_' prefix for
a better namespace. Also, move them to wilc_wlan_if.h file along with other
FW related macros.
Ajay Singh [Mon, 12 Nov 2018 05:45:20 +0000 (05:45 +0000)]
staging: wilc1000: use proper namespace for macros in wilc_wlan_if.h header
Rename the macros defined in wilc_wlan_if.h header to have clear
namespace. As convention used 'WILC_FW_' prefix for constants defined for
firmware and 'WILC_' prefix for driver constants.
Ajay Singh [Mon, 12 Nov 2018 05:45:17 +0000 (05:45 +0000)]
staging: wilc1000: restructure macros used to handle security type
Restructure the code to have a proper namespace for macro defined to
handle the security types. Move them as part of wilc_wlan_if.h header as
along with other macro defined for firmware.
staging: mt7621-pci: dt-bindings: add dt bindings for mt7621 pcie controller
This commit adds pci device tree bindings for the Mt7621 pci controller.
This is a temporal file included in staging driver directory and will be
moved to its correct location when this driver gets out of staging.
staging: mt7621-pci: replace 'mdelay()' with 'msleep()'
Function 'mt7621_pcie_init_ports' is never called in atomic context.
It calls mdelay() to busily wait, which is not necessary. mdelay()
can be replaced with msleep().
staging: mt7621-pci: move some code into 'mt7621_pcie_init_ports'
Some clocks bits related code is in driver probe function and can
perfectly be moved into 'mt7621_pcie_init_ports' function which is
a more accurate place for it.
staging: mt7621-pci: factor out 'mt7621_pcie_enable_port' function
Function 'mt7621_pcie_enable_ports' tries to enable all PCI ports.
To make it more readable the single port initialization part has
been factor out into a new 'mt7621_pcie_enable_port' function.
staging: mt7621-pci: enable interrupt when port is being enabled
Interrupt is being enabled in port initialization when the port phy
has not been initialized yet. Just enable the interrupt when the port
is being enabled which is a more accurate place for this.
staging: mt7621-pci: add some definitions for enabling and disabling GEN and GEN1 clocks
Instead of use hardcoded values when calling 'rt_sysc_m32' for enabling
and disabling RALINK_PCIE_CLK_GEN and RALINK_PCIE_CLK_GEN1 create
some preprocessor definitions.
staging: mt7621-pci: rewrite hardcoded code for enabling ports
There are some hardcoded values in the process for enabling and
disabling some stuff inside 'mt7621_pcie_enable_ports' function.
Create some preprocessor definitions to make code more readable.
The RC FTS configuration is done using hardcoded registers
and bitshift operations. Make it a bit clean defining some
prepocessor definitions and simple macros.
Reorder a bit register definitions and some values into
logical groups adding some comments for each group. Also
unify all of register to use 16 bit in definitions instead
of having some with 16 bits and some with 8 bits.
staging: mt7621-pci: avoid use of global variable 'pcie_link_status'
'pcie_link_status' is a global variable which is being used as a
mask to know which virtual bridges are or not enabled. Instead of
this extract a new 'mt7621_pcie_init_virtual_bridges' function where
a similar local variable is used for the same task. This allow us to
properly configure the virtual PCI-PCI bridges in configuration
registers of the mt7621 pci controller. For a correct initiation of
which is connected use 'enabled' field of 'mt7621_pcie_port' struct.
With this change driver probe function gets a bit cleaner and readable.
staging: mt7621-pci: factor out 'mt7621_pcie_enable_ports' function
Driver probe function check for a bit in 'pcie_link_status' for
enabling the pcie port or not. Instead of this add 'enabled' field
in 'mt7621_pcie_port' structure and check its value to achieve this
inside a new 'mt7621_pcie_enable_ports' function. The offsets for
the correct port are derived from the slot of the port. This field
'enabled' is properly initilized in 'mt7621_pcie_init_port'. Also
depending of the number of ports enabled we have to properly init
its registers taking into account that we will use virtual bridges
from zero to num_slots_enabled as follows:
- Only one enabled -> only enable virtual bridge 0.
- Two enabled -> enable virtual bridges 0 and 1.
- Three enabled -> enable virtual bridges 0, 1 and 2.
staging: mt7621-pci: remap and use sysctl from device tree
There are some pointer read and writes which can be replaced
properly using sysctl registers readed from device tree. Remap
sysctl registers and replace in proper places.
staging: mt7621-pci: rewrite pcie phy related functions
Function 'bypass_pipe_rst' and 'set_phy_for_ssc' can be
written in a cleaner way. Instead of use comments to see which
bits are the ones which are being enabled add new macros with
that information using BIT and GENMASK kernel macros. Avoid the
use of set_pcie_phy which is kind of dark and use new macros also
resetting and adding bits using bitwise operators directly in the
code. Now these function are offset-based on the port to use them
cleaner in driver probe functio and improving readability.
staging: mt7621-pci: factor out 'mt7621_pcie_enable_port' function
Driver probe function is a mess and shall be refactored a lot. At first
make use of assert and deassert control factoring out a new function
called 'mt7621_pcie_enable_port'.
staging: mt7621-pci: add two helpers for read and write pcie register ports
mt7621-pcie_port data structure has filed 'base' as the base address for
read and write related port registers. Create two inline functions
'pcie_port_read' and 'pcie_port_write' to make this task easier and
code more readable.
staging: mt7621-pci: replace return value if devm_pci_alloc_host_bridge call fails
Driver probe function calls 'devm_pci_alloc_host_bridge'. If this call fails
it is returning -ENODEV. Return -ENOMEM instead which is more accurate for
this.
Alexey Skidanov [Tue, 9 Oct 2018 19:08:37 +0000 (22:08 +0300)]
staging: android: ion: Add per-heap counters
Heap statistics have been removed and currently even basics statistics
are missing.
This patch creates per heap debugfs directory /sys/kernel/debug/<heap_name>
and adds the following counters:
- the number of allocated buffers;
- the number of allocated bytes;
- the number of allocated bytes watermark.
Mike Brady [Mon, 22 Oct 2018 19:17:08 +0000 (20:17 +0100)]
staging: bcm2835-audio: interpolate audio delay
When the BCM2835 audio output is used, userspace sees a jitter up to 10ms
in the audio position, aka "delay" -- the number of frames that must
be output before a new frame would be played.
Make this a bit nicer for userspace by interpolating the position
using the CPU clock.
The overhead is small -- an extra ktime_get() every time a GPU message
is sent -- and another call and a few calculations whenever the delay
is sought from userland.
At 48,000 frames per second, i.e. approximately 20 microseconds per
frame, it would take a clock inaccuracy of
20 microseconds in 10 milliseconds -- 2,000 parts per million --
to result in an inaccurate estimate, whereas
crystal- or resonator-based clocks typically have an
inaccuracy of 10s to 100s of parts per million.
Signed-off-by: Mike Brady <mikebrady@eircom.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Adham Abozaeid [Tue, 6 Nov 2018 00:01:17 +0000 (00:01 +0000)]
staging: wilc1000: remove unused flags in handle_cfg_param()
handle_cfg_param() receives a bit map that describes what to be changed.
Some of these bits flags aren't referred to from elsewhere and can be
removed.
Gao Xiang [Thu, 8 Nov 2018 04:00:36 +0000 (12:00 +0800)]
staging: erofs: use the new LZ4_decompress_safe_partial()
LZ4_decompress_safe_partial() can now decode exactly the nb of bytes
requested after the upstreamed commit 2209fda323e2 ("lib/lz4: update LZ4
decompressor module"), remove the erofs hacked lz4 decompression code.
A more cleaned compressor wrapper will be introduced in the subsequent
patches in order to prepare for supporting multiple compression algorithms.
Colin Ian King [Thu, 8 Nov 2018 11:02:24 +0000 (11:02 +0000)]
media: staging: tegra-vde: print long unsigned using %lu format specifier
The frame.flags & FLAG_B_FRAME is promoted to a long unsigned because
of the use of the BIT() macro when defining FLAG_B_FRAME and causing a
build warning. Fix this by using the %lu format specifer.
Cleans up warning:
drivers/staging/media/tegra-vde/tegra-vde.c:267:5: warning: format
specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
Fixes: 42e764d05712 ("staging: tegravde: replace bit assignment with macro") Cc: Ioannis Valasakis <code@wizofe.uk> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The macro SET_RATE_ID is a definition in function
and undefined at end of function.
Make it as inline avoid the arg reuse for macro,
the name is changed in _rtl_rate_id, following the
same function pattern in the file.
Signed-off-by: Cristian Sicilia <sicilia.cristian@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 30 Oct 2018 17:23:54 +0000 (17:23 +0000)]
staging: comedi: ni_labpc_common: Use insn->n in AO insn_write handler
The `insn_write` handler for the AO subdevice (`labpc_ao_insn_write()`)
currently ignores `insn->n` (the number of samples to write) and assumes
a single sample is to be written. But `insn->n` could be 0, meaning no
samples should be written, in which case `data[0]` is invalid.
Follow the usual Comedi guidelines and change `labpc_ao_insn_write()` to
write the specified number of samples. This fixes the assumption that
`data[0]` is valid.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 30 Oct 2018 14:44:16 +0000 (14:44 +0000)]
staging: comedi: cb_pcidda: Use insn->n in AO insn_write handler
The `insn_write` handler for the AO subdevice
(`cb_pcidda_ao_insn_write()`) currently ignores `insn->n` (the number of
samples to write) and assumes a single sample is to be written. But
`insn->n` could be 0, meaning no samples should be written, in which
case `data[0]` is invalid.
Follow the usual Comedi guidelines and change
`cb_pcidda_ao_insn_write()` to write the specified number of samples.
This fixes the assumption that `data[0]` is valid.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 31 Oct 2018 12:29:56 +0000 (12:29 +0000)]
staging: comedi: addi_apci_3501: Use insn->n in EEPROM insn_read handler
The `insn_read` handler for the EEPROM subdevice
(`apci3501_eeprom_insn_read()`) currently ignores `insn->n` (the number
of samples to be read) and assumes a single sample is to be read. But
`insn->n` could be 0, meaning no samples should be read, in which case
`data[0]` ought not to be written. (The comedi core at least ensures
that `data[0]` exists, but we should not rely on that.)
Following the usual Comedi guidelines and interpret `insn->n` as the
number of samples to be read, but only read the EEPROM location once and
make `insn->n` copies, as we don't expect the contents of the EEPROM
location to change between readings.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 30 Oct 2018 14:17:13 +0000 (14:17 +0000)]
staging: comedi: Check length of INSN_CONFIG_TIMER_1 instruction
The contents of the Comedi configuration instruction
`INSN_CONFIG_TIMER_1` instruction are not very well defined, but the one
driver that uses it (the "cb_pcidas64" driver for the PCI-DAS4020/12
card) assumes its `insn->n` is 5. Add a check in
`check_insn_config_length()` to verify that `insn->n` is correct for
this configuration instruction.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>