Auto-configuration (auto-attachment) of USB and PCI comedi devices all
goes through `comedi_auto_config_helper()`. That is a good place to set
the comedi device's `hw_dev` pointer to the hardware `struct device` via
a call to `comedi_set_hw_dev(comedi_device, hardware_device)` as it may
obviate the need for the low-level comedi driver to make this call.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
In `comedi_set_hw_dev()`, if there is no change to `dev->hw_dev` (and it
is not `NULL`), don't bother putting and getting the device.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Missed one... This macro relies on a local variable having
a specific name. Remove its use by replacing it with a local
variable where used.
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>
The remaining comedi drivers that still have a devpriv macro
are all pretty straight forward for removing the devpriv
macro.
This macro relies on a local variable having a specific name.
Remove its use by replacing it with a local variable where
used.
The inline function alloc_private(), used to kzalloc the
dev->private memory, returns non-zero if there is an error.
Fix all the alloc_private() calls accordingly and remove any
kernel messages or obvious comments that still exist in the
drivers. Leave a comment in the skel 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>
The ni_mio_common.c file is #include'd by the ni_atmio, ni_mio_cs,
and ni_pcimio drivers. Those drivers all have a devpriv macro of
this type:
This macro relies on a local variable having a specific name.
Remove its use in all the files by replacing it with a local
variable.
Some of the functions in ni_mio_common.c don't always use the
devpriv variable due to differences in how the low-level i/o
is handled by the driver. Tag the variable in those functions
with __maybe_unused to avoid compile warnings.
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>
Wrap the private data used by this driver in a struct. This makes
the use of that data clearer and gets rid of the need for the 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>
The inline private() function simply returns the dev->private pointer
to the private data.
Remove the inline function and just use a local variable where the
private data is used.
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>
The inline private() function simply returns the dev->private pointer
to the private data.
Remove the inline function and just use a local variable where the
private data is used.
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>
The inline priv() function simply returns the dev->private pointer
to the private data.
Remove the inline function and just use a local variable where the
private data is used.
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>
The inline priv() function simply returns the dev->private pointer
to the private data.
Remove the inline funciton and just use a local variable where the
private data is used.
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 driver only supports a single "boardtype". Remove the unneeded
boardinfo struct and its use in the driver. Change the "driver_name"
to match what the boardinfo supplied.
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>
Clang detected this macro expansion bug:
drivers/staging/rtl8192u/r8192U_core.c:2384:76: warning: operator '?:'
has lower precedence than '+'; '+' will be evaluated first
[-Wparentheses]
The line from the .c file looks like this:
u1bAIFS = qos_parameters->aifs[i] * ((mode&(IEEE_G|IEEE_N_24G)) ?9:20) + aSifsTime;
We need to put parenthesis around the entire macro to fix the bug.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
..instead of the i2c_driver hooks. This should silence the following
runtime warnings:
[ 17.820321] i2c-core: driver [olpc_dcon] using legacy suspend method
[ 17.846082] i2c-core: driver [olpc_dcon] using legacy resume method
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This code looks in the PCI config space for pin addresses and sets up some
stuff. However, Openfirmware has already done this for us, so there's no
need to ever do it in Linux. According to Mitch Bradley, this OFW has been
doing this for us since at least B3 builds (pre-mass production).
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Previously we registered a notifier block to inform us of any framebuffer
device changes; if the screen was blanked or unblanked, we'd put the DCON
to sleep or wake it up.
Turns out that the backlight code registers a notifier block as well
and calls the update_status hook, so we can just use that to put the DCON
to sleep. For those status updates where the blanking isn't changed,
dcon_sleep will do nothing.
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Another global variable (dcon_wait_queue) moved into the dcon_priv struct.
In the process, replace an instance of a manually implemented
wait_event_timeout. This code came from Jordan's original gxfb_dcon.c
driver waaaay back in 2006; well past time for a replacement.
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The 'useaa' module parameter was a workaround for a buggy DCON prototype
not supporting the optional anti-aliasing mode properly. There's no
reason to disable it any more, so drop the option.
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch reverses the condition in two if
statements in CopyBufferToControlPacket to
place Adapter->bShutStatus and
Adapter->idleMode to the left of the equal
"==" sign, and TRUE to the right of
the equal "==" sign. This was done for
readability purposes.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch cleans up the code in function
CopyBufferToControlPacket. Several things are
being done here: (1) remove the null
initialization from variable cntrl_buff, (2)
reverse the if statement to check if cntrl_buff
is null; if so, then write debug statement and
return -ENOMEM error code, and (3) indent the
code properly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch renames uppercase INT to
"int" in Misc.c, and removes one
white space issue.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch removes a potential null dereference
from InterfaceMisc.c, function InterfaceWRM. This
error was reported by Smatch.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch removes a potential null dereference
from InterfaceMisc.c, function InterfaceRDM. This
error was reported by Smatch.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch removes an unneeded do while loop which
sends a control message to bcm usb device. In this case,
the loop executes once because usRetries is
initialized to zero. After the first iteration
this variable will be 1. Therefore, the statement:
"usRetries < MAX_RDM_WRM_RETIRES" will evaluate to
false causing the do while statement to execute
once because MAX_RDM_WRM_RETIRES is equal to 1.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch removes an unneeded do while loop which
sends a control message to bcm usb device. In this case,
the loop executes once because usRetries is
initialized to zero. After the first iteration
this variable will be 1. Therefore, the statement:
"usRetries < MAX_RDM_WRM_RETIRES" will evaluate to
false causing the do while statement to execute
once because MAX_RDM_WRM_RETIRES is equal to 1.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>