whitespaces at beginning of the line are removed and are replaced
with the tabs
Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
the return is at the end of void function, which is not needed as this
function returns void.
Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
no braces needed for single statement if block
Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- Add simple suspend/resume PM callbacks to disable oled display on
suspend and return to previous state on resume
Signed-off-by: Jonathan Brett <jonbrett.dev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
While investigating l2tp bug, I hit a bug in eth_type_trans(),
because not enough bytes were pulled in skb head.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
lsof reports some of socket descriptors as "can't identify protocol" like:
[yamato@localhost]/tmp% sudo lsof | grep dbus | grep iden
dbus-daem 652 dbus 6u sock ... 17812 can't identify protocol
dbus-daem 652 dbus 34u sock ... 24689 can't identify protocol
dbus-daem 652 dbus 42u sock ... 24739 can't identify protocol
dbus-daem 652 dbus 48u sock ... 22329 can't identify protocol
...
lsof cannot resolve the protocol used in a socket because procfs
doesn't provide the map between inode number on sockfs and protocol
type of the socket.
For improving the situation this patch adds an extended attribute named
'system.sockprotoname' in which the protocol name for
/proc/PID/fd/SOCKET is stored. So lsof can know the protocol for a
given /proc/PID/fd/SOCKET with getxattr system call.
A few weeks ago I submitted a patch for the same purpose. The patch
was introduced /proc/net/sockfs which enumerates inodes and protocols
of all sockets alive on a system. However, it was rejected because (1)
a global lock was needed, and (2) the layout of struct socket was
changed with the patch.
This patch doesn't use any global lock; and doesn't change the layout
of any structs.
In this patch, a protocol name is stored to dentry->d_name of sockfs
when new socket is associated with a file descriptor. Before this
patch dentry->d_name was not used; it was just filled with empty
string. lsof may use an extended attribute named
'system.sockprotoname' to retrieve the value of dentry->d_name.
It is nice if we can see the protocol name with ls -l
/proc/PID/fd. However, "socket:[#INODE]", the name format returned
from sockfs_dname() was already defined. To keep the compatibility
between kernel and user land, the extended attribute is used to
prepare the value of dentry->d_name.
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
"addr" is a pointer so it's either 4 or 8 bytes, but actually we want
to compare 6 bytes (ETH_ALEN).
As network stack already provides helper function
is_zero_ether_addr() we use that instead of memcmp
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Rupesh Gujare <rgujare@ozmodevices.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fixed below checkpatch warnings.
-WARNING: braces {} are not necessary for single statement blocks
-WARNING: braces {} are not necessary for any arm of this statement
Signed-off-by: Toshiaki Yamane <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fixed below checkpatch warnings.
-WARNING: braces {} are not necessary for single statement blocks
-WARNING: braces {} are not necessary for any arm of this statement
Signed-off-by: Toshiaki Yamane <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fixed below checkpatch warnings.
-WARNING: braces {} are not necessary for single statement blocks
-WARNING: braces {} are not necessary for any arm of this statement
Signed-off-by: Toshiaki Yamane <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
As noted by David Binderman
Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=46581
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The function pointer scan in struct cfg80211_ops is not
supposed to be assigned a function with a struct net_device
pointer as an argument. Instead access the net_device struct
in the following way:
struct net_device *dev = request->wdev->netdev;
sparse gives these warnings:
drivers/staging/wlan-ng/cfg80211.c:726:17: warning:
incorrect type in initializer (incompatible argument 2
(different base types))
expected int ( *scan )( ... )
got int ( extern [toplevel] *<noident> )( ... )
drivers/staging/wlan-ng/cfg80211.c:726:2: warning:
initialization from incompatible pointer type [enabled by default]
drivers/staging/wlan-ng/cfg80211.c:726:2: warning:
(near initialization for ‘prism2_usb_cfg_ops.scan’)
[enabled by default]
Signed-off-by: Emil Goode <emilgoode@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
If rotated 90 or 270, we need to invert the dimensions used by drm
core for calculating if the dimensions of an attached fb are correct.
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This is an equivalent conversion and will ease scheduled removal of
WQ_NON_REENTRANT.
Only compile tested.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch adds fail checks for kmalloc and kzalloc calls
and also adds a error path that frees allocated pages by
introducing a call to _drm_gem_put_pages.
Signed-off-by: Emil Goode <emilgoode@gmail.com>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Firstly we have the second half of a series reworking support for
the various sigma delta ADCs from Analog. The first half was fixes
that have already merged in the v3.6 cycle. Other than some
little cleanups this mainly consists of a unifying library module
that the various drivers can then use. Another new driver is
using this undergoing revisions and the code reduction already
seen from this is considerable. A nice piece of work.
Secondly we have a good number of tidying up patches from various
sources doing things like adding include guards and removing
unintended header ordering requirements. Also a mass annotation
of missing __devinit/exit. Peter Meerwald has been getting around
with cleanup of lis3l02dq, documentation fixes, white space clenaups
and a small issue with my spelling ;)
Thirdly we have some improvements to our kfifo usage that have
been around for a while but are now suddenly in demand from a
number of users.
Forth we have some clk_prepare_enable and clk_prepare_disable
cleanups.
Fifth is the addition of i2c dacs to the ad5446 driver
Finally we have some email address updates. I'll do the
MAINTAINERS one separately.
So a general mixed bag but nothing terribly controversial
or 'exciting'.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAABAgAGBQJQRQpqAAoJEFSFNJnE9BaIa7IQALon1R0vcjaiUOhOEUCeYu7H
kS9RHPZ0Gq8H8Hl/7Opdn44PwbvduBrr0X/HcI7x02T3nVYTCk1udGBBIRRMJtdd
N+YNXGSDunbvfpJ9G785439lJPuGBoA/QgBmiL1Tx3DQQTF66Yrh7sQguNNY31GP
1+wRYp9ILhDVa4saWgCGW8K7acfoFJVYjSCeFTAACcNa5f6vUpO+yFHf92cWGNmk
2odGtHJo5Kfcr8IzpHAH0twCUjNFKzEzNhkJRNV7KZnHpTO0+Q9lBGAExGNkGWFo
NtG5tZ5NAX+YstDKGXAu80xb9wcmnvtif7aoqyKpZA2/AabHiNW6gLAOONdvdVrs
9ljiHv6DKgJvf4rNCxufRgE5OD0BItGECJENiuFsTktsUePF2yMPrQZzocYB7hVu
Wf3tEppWnRLw9OPuDqkj7Rna8WkVVo8U+xhnu80AM7gGpOkciHm7YyS8DkPfxQaW
j2kGslJCvSoerEtoXfaPoKIybH2h0GrSKWKHXqJxaKsXOjNIwZNzm02UgdiuRlO3
IHqJr9y31pwlgc83OSA6UK5jXXX4PPiyV7+sR1bBr1F9k3MG4wSzsDRXRI90h24G
ruhiTkW6J+I+HjHSw8G6g2WJbC+oWHcQHpvKDexwNPsEWDzjb+zEdO1ArnBpp+Fb
mAp4Qv3PaI0LyQP8Y1xZ
=jZe0
-----END PGP SIGNATURE-----
Merge tag 'iio-for-v3.7b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into work-next
Second set of IIO rework and new drivers for the 3.7 cycle.
Firstly we have the second half of a series reworking support for
the various sigma delta ADCs from Analog. The first half was fixes
that have already merged in the v3.6 cycle. Other than some
little cleanups this mainly consists of a unifying library module
that the various drivers can then use. Another new driver is
using this undergoing revisions and the code reduction already
seen from this is considerable. A nice piece of work.
Secondly we have a good number of tidying up patches from various
sources doing things like adding include guards and removing
unintended header ordering requirements. Also a mass annotation
of missing __devinit/exit. Peter Meerwald has been getting around
with cleanup of lis3l02dq, documentation fixes, white space clenaups
and a small issue with my spelling ;)
Thirdly we have some improvements to our kfifo usage that have
been around for a while but are now suddenly in demand from a
number of users.
Forth we have some clk_prepare_enable and clk_prepare_disable
cleanups.
Fifth is the addition of i2c dacs to the ad5446 driver
Finally we have some email address updates. I'll do the
MAINTAINERS one separately.
So a general mixed bag but nothing terribly controversial
or 'exciting'.
A few simple fixes.
1)Fix up some possible divide by zero issues in various drivers.
2)Prevent a memory leak in an error path in lis3l02dq
3)Make sure the PTR_ERR call in at91_adc matches the
check for IS_ERR just above it rather than using a different
pointer.
Merges fine against v3.6rc4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAABAgAGBQJQRQcKAAoJEFSFNJnE9BaIjVMP/1jVSTedrg0pVWQnVfyT3jSE
ZjXGFWcmF5HGfAdpqFEu6uswTQQnzLixy5s5Wi1m2ozxXtXcbbpSW20RdBHpl94x
BfkqrkMwa3v8fOxecwYrkyXT433g1B1+4FUm7ffk2ddsTBig01s/1MUNR4X7rBMo
vxT5cGsLMAhn4oglar50TukDgQnCf+y1TiXfIShjQHlVlx4hJY5mYll4sxt+BFc8
0gGekdvtFlCyBr0quWUUkuiPC55wVBayOYjvW4hn5I3Vb38JA9mmHWHwwVq2WXtl
jueYq7mcIMDButn90tNZhITHjQd7O2PrtYZpomsDQhTaJ1wkSRZf8SKSFDRXf5qW
57vNY0/k4zoJdVPVDizv3A53NFE596ExsZUHQlWgVNmfUmTyHEu8E3gU5TxrSWem
PfHCu7ZB/1dwo9+d6BY9V+eqiWe9WovUoj6W9dG1mAdfJ4XrlzicsiU+HV16stxD
D+ESLslZiXxpW29TJFqhXARawNwitdkGvGF0+j++RnIoBSqxwi4jP4IgTkCKuR8H
zCnkJCpzOwrDtZi3zVD4KcHFk9fnKWZM3jFKQtkTMc3Q9hHZgOwZDZ6qY6r0lsHp
9wMOHCc1zPzjcTLjnvJKdFKd7ge0WPKLk8+AXWsfeNZlj6VJsuO20+o9agYTDU04
cp1AfSTqxP7+sKr+NVLb
=pdyb
-----END PGP SIGNATURE-----
Merge tag 'v3.6-rc1-iio-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
IIO fixes for v3.6-rc1 set 2
A few simple fixes.
1)Fix up some possible divide by zero issues in various drivers.
2)Prevent a memory leak in an error path in lis3l02dq
3)Make sure the PTR_ERR call in at91_adc matches the
check for IS_ERR just above it rather than using a different
pointer.
Merges fine against v3.6rc4
The `IS_ENABLED(CONFIG_COMEDI_DAS08_ISA)` and
`IS_ENABLED(CONFIG_COMEDI_DAS08_PCI)` macro calls are a bit long-winded.
Define a couple of macros `DO_ISA` and `DO_PCI` as abbreviations for
them.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add inline helper function `is_isa_board(board)` to check if the driver
supports ISA boards and this is an ISA board, and `is_pci_board(board)`
to check if the driver supports PCI boards and this is a PCI board.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Don't bother reporting the I/O base address for PCI devices as it's not
very interesting.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Absorb `das08_pci_attach_common()` into `das08_attach_pci()` since
that's the only place it was called from.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the code that allows PCI boards to be manually attached by the
`COMEDI_DEVCONFIG` ioctl (or the `comedi_config` application).
Supported PCI boards will be attached automatically at probe time via
`comedi_pci_auto_config()` and the `attach_pci` hook in the `struct
comedi_driver`.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stash the last value written to each AO channel in private data and
support the INSN_READ instruction to read it back. Don't bother setting
the SDF_READABLE subdevice flag though as the hardware isn't really
readable - we're just faking it.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Initialize the AO subdevice channels to mid-range data value so they are
in a known state. This allows us to support reading back the current
value in a later patch.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Combine the AO write functions for 'JR' boards and other boards into a
single function and factor out the data writing from the comedi
instruction handling so it can be called from elsewhere in a later
patch.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The `das08jr_di_rbits()`, `das08jr_do_wbits()`, `das08jr_ao_winsn()` and
`das08ao_ao_winsn()` static functions are currently marked as
`__maybe_unused` as they were formerly only referred to by possibly
conditionally compiled out code. This is no longer the case (they are
referred to by `das08_common_attach()`) so their `__maybe_unused` tags
can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
There is no need to check the value of `insn->n` is correct in
`das08_counter_config()` as the core comedi module will have already
checked it.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The I/O port base address for the counter subdevice doesn't need to be
stored in the private data. It can be calculated on the fly using the
offset in the static board data.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The `pci_iobase` I/O port registers from PCI BAR 1 are never accessed,
so don't bother storing this base address in `struct
das08_private_struct`.
The `pci_iobase` member was checked for non-zero in `das08_detach()` but
we can check `dev->iobase` is non-zero instead.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the code that has been in `#if 0` for a long time.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Move `das08_cs_boards[]` from "das08.c" to "das08_cs.c" and make it
static const. It no longer refers to anything in "das08.c" and no
longer needs to be exported.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Don't bother initializing the `i8255_offset` and/or `i8254_offset`
members of `struct das08_board_struct` in `das08_boards[]` and
`das08_cs_boards[]` if they are zero as they are implicitly initialized
to zero anyway, and zero means the corresponding subdevices are absent.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the `ai`, `ao`, `di` and `do` pointers from `struct
das08_board_struct`. These were initialized in `das08_boards[]` and
`das08_cs_boards[]` to point to comedi instruction handler functions for
the subdevice, but there are only two sets of functions depending on
whether the `is_jr` member is true or false, and some of the functions
will be NULL if the corresponding `ai_nbits`, `ao_nbits`, `di_nchan` and
`do_nchan` members are zero. Determine which handler functions to use
in das08_common_attach().
One element of `das08_boards[]` had `ao` set to NULL and `ao_nbits` set
to 12. Set `ao_nbits` to 0 in this case to let das08_common_attach()
know this board has no AO subdevice.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add a bool member `is_jr` to `struct das08_board_struct` and initialize
it to `true` in those elements of `das08_boards[]` corresponding to the
'JR' board models. This will be used by a following patch that removes
the `ai`, `ao`, `di` and `do` members from `struct das08_board_struct`.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add member `di_nchan` to `struct das08_board_struct` to set the number
of digital input channels explicitly. Currently, the code determines
the number of channels to 3 or 8 depending on what function the `di`
member points to, which is not very elegant.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the `pc104` value from `enum das08_bustype` and replace
occurrences of it in the code and data with the `isa` value. The code
treats them as equivalent anyway with expressions like
`(thisboard->bustype == isa || thisboard->bustype == pc104)`.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Don't zero out bits 15..12 of the data value in `das08jr_ao_winsn()` as
that knobbles the upper three-quarters of the output range for the
'das08jr-16-ao' board.
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The element of `das08_boards[]` for the 'das08jr-16-ao' board has the
`ai_encoding` member set to `das08_encode12`. It should be set to
`das08_encode16` same as the 'das08jr/16' board. After all, this board
has 16-bit AI resolution.
The description of the A/D LSB register at offset 0 seems incorrect in
the user manual "cio-das08jr-16-ao.pdf" as it implies that the AI
resolution is only 12 bits. The diagrams of the A/D LSB and MSB
registers show 15 data bits and a sign bit, which matches what the
software expects for the `das08_encode16` AI encoding method.
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
I got an update from the original author of this driver (Anders
Blomdell) to set the range table for digital input and digital output
subdevices. Apply it.
Cc: Anders Blomdell <anders.blomdell@control.lth.se>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ensure that the user supplied buffer size doesn't cause us to overflow
the 'pages' array.
Also fix up some confusion between the use of PAGE_SIZE and
PAGE_CACHE_SIZE when calculating buffer sizes. We're not using
the page cache for anything here.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Apparently, am-utils is still using the legacy binary mountdata interface,
and is having trouble parsing /proc/mounts due to the 'port=' field being
incorrectly set.
The following patch should fix up the regression.
Reported-by: Marius Tolzmann <tolzmann@molgen.mpg.de>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
When the NFS_COOKIEVERF helper macro was converted into a static
inline function in commit 99fadcd764 (nfs: convert NFS_*(inode)
helpers to static inline), we broke the initialisation of the
readdir cookies, since that depended on doing a memset with an
argument of 'sizeof(NFS_COOKIEVERF(inode))' which therefore
changed from sizeof(be32 cookieverf[2]) to sizeof(be32 *).
At this point, NFS_COOKIEVERF seems to be more of an obfuscation
than a helper, so the best thing would be to just get rid of it.
Also see: https://bugzilla.kernel.org/show_bug.cgi?id=46881
Reported-by: Andi Kleen <andi@firstfloor.org>
Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
This gets the 6 staging comedi patches that are needed for further
patches that Ian sent.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Driver for the Microchip MRF24J40 802.15.4 WPAN module.
Signed-off-by: Alan Ott <alan@signal11.us>
Signed-off-by: David S. Miller <davem@davemloft.net>