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>
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>
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'.
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>
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>
When attaching a PCI device manually via the comedi driver `attach` hook
(`das08_attach()`) (called by the comedi core for the `COMEDI_DEVCONFIG`
ioctl), its reference count is incremented in the `for_each_pci_dev`
loop (in `das08_find_pci()`). It is decremented when the `detach` hook
(`das08_detach()`) is called to detach the device. However, when the
PCI device is attached automatically via the `attach_pci` hook
(`das08_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `das08_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When attaching a PCI device manually via the comedi driver `attach` hook
(`pci230_attach()`) (called by the comedi core for the `COMEDI_DEVCONFIG`
ioctl), its reference count is incremented in the `for_each_pci_dev`
loop (in `pci230_find_pci_dev()`). It is decremented when the `detach`
hook (`pci230_detach()`) is called to detach the device. However, when
the PCI device is attached automatically via the `attach_pci` hook
(`pci230_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `pci230_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When attaching a PCI device manually via the comedi driver `attach` hook
(`pc263_attach()`) (called by the comedi core for the `COMEDI_DEVCONFIG`
ioctl), its reference count is incremented in the `for_each_pci_dev`
loop (in `pc263_find_pci_dev()`). It is decremented when the `detach`
hook (`pc263_detach()`) is called to detach the device. However, when
the PCI device is attached automatically via the `attach_pci` hook
(`pc263_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `pc263_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When attaching a PCI device manually via the comedi driver `attach` hook
(`pc236_attach()`) (called by the comedi core for the `COMEDI_DEVCONFIG`
ioctl), its reference count is incremented in the `for_each_pci_dev`
loop (in `pc236_find_pci_dev()`). It is decremented when the `detach`
hook (`pc236_detach()`) is called to detach the device. However, when
the PCI device is attached automatically via the `attach_pci` hook
(`pc236_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `pc236_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When attaching a PCI device manually via the comedi driver `attach` hook
(`dio200_attach()`) (called by the comedi core for the
`COMEDI_DEVCONFIG` ioctl), its reference count is incremented in the
`for_each_pci_dev` loop (in `dio200_find_pci_dev()`). It is decremented
when the `detach` hook (`dio200_detach()`) is called to detach the
device. However, when the PCI device is attached automatically via the
`attach_pci` hook (`dio200_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `dio200_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When attaching a PCI device manually via the comedi driver `attach` hook
(`pci224_attach()`) (called by the comedi core for the
`COMEDI_DEVCONFIG` ioctl), its reference count is incremented in the
`for_each_pci_dev` loop (in `pci224_find_pci_dev()`). It is decremented
when the `detach` hook (`pci224_detach()`) is called to detach the
device. However, when the PCI device is attached automatically via the
`attach_pci` hook (`pci224_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.
Increment the PCI device reference count in `pci224_attach_pci()` to
correct the mismatch.
Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.
Cc: stable <stable@vger.kernel.org> # 3.5.x
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Convert the 'attach' message from a printk to a dev_info.
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>
This boardinfo for this driver is unneccesary. This driver is only
for testing the comedi subsystem. It defines two dummy subdevices,
an 8 channel analog input subdevice and an 8 channel analog output
subdevice. There is no "board" associated with it.
Remove the boardinfo to keep the driver simple.
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>
This macro relies on a local variable having a specific name. Remove it.
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>
Remove the function trace message in parport_intr_cancel() and the
"bogus irq..." message is parport_interrupt(). They are just added
noise.
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>
Convert the printk messages in the 'attach' to dev_printk messages.
Consolidate the attach message into one message after the device
is attached.
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>
Use the 'dev->driver->driver_name' for the 'dev->board_name'. And use
the 'dev->board_name' for the resource name passed to request_region
and request_irq.
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>
This macro relies on a local variable having a specific name, Remove it.
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>