H Hartley Sweeten [Thu, 25 Oct 2012 22:09:47 +0000 (15:09 -0700)]
staging: comedi: me_daq: fix me_ao_insn_write()
This function is supposed to write to a single analog output channel.
The channel number is packed in insn->chanspec, which is an unsigned
int, and unpacked using the CR_CHAN() macro.
Currently this function is trying to use the chanspec as an array.
This works only if a single value is written.
Fix the function so that the desired channel is determined and all
the data is written to that channel.
Also, fix the return. The comedi core expects insn_read functions to
return the number of data values (insn->n).
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:09:33 +0000 (15:09 -0700)]
staging: comedi: me_daq: fix me_ao_insn_read()
This function is supposed to return the analog output value for
a specified channel. The channel number is packed in insn->chanspec,
which is an unsigned int, and unpacked using the CR_CHAN() macro.
Currently this function is trying to use the chanspec as an array.
This works only if a single data value is read.
Fix the function so that the desired channel is determined and all
the data returned is from that channel.
Also, fix the return. The comedi core expects insn_read functions to
return the number of data values (insn->n).
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:09:18 +0000 (15:09 -0700)]
staging: comedi: me_daq: remove pci_dev_put() in detach
This driver uses the comedi auto config mechanism and does not
walk the pci bus to find the pci_dev. It should not be calling
pci_dev_put() to decrement the ref count.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:09:02 +0000 (15:09 -0700)]
staging: comedi: me_daq: add some whitespace to the subdevice init
To improve the readability, add some whitespace to the subdevice
init.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:08:42 +0000 (15:08 -0700)]
staging: comedi: me_daq: cleanup the range tables
Fix the whitespace.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:08:25 +0000 (15:08 -0700)]
staging: comedi: me_daq: cleanup the boardinfo
Rename the boardinfo variables so they are a bit more concise.
Remove the unnecessary comments in the boardinfo.
Add some whitespace to make the code more readable.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:08:09 +0000 (15:08 -0700)]
staging: comedi: me_daq: remove dio_channel_nbr from boardinfo
All the boards supported by this driver have 32 dio channels.
Remove the boardinfo and just open code the value in 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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:07:52 +0000 (15:07 -0700)]
staging: comedi: me_daq: remove {ao,ai}_resoultion_mask
These values can be determined from the {ao,ai}_resolution.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:07:36 +0000 (15:07 -0700)]
staging: comedi: me_daq: remove '0' and 'NULL' entries in boardinfo
These entries will default to '0' or 'NULL' as appropriate.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:07:17 +0000 (15:07 -0700)]
staging: comedi: me_daq: analog output subdevice could be unused
One of the boards supported by this driver does not have analog
outputs. Fix the attach code to account for this.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:06:58 +0000 (15:06 -0700)]
staging: comedi: me_daq: factor out the PLX bug workaround
Factor out the code in me_attach_pci() that handles the PLX-Bug
workaround to a separate function.
This looks odd. It appears that the bug workaround either swaps
PCI bars 0 and 5 or it modifies PCI bar 0. Shouldn't this happen
before PCI bar 0 is ioremap'ed?
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:06:37 +0000 (15:06 -0700)]
staging: comedi: me_daq: pass on the error from comedi_pci_enable()
Instead of returning -EIO when comedi_pci_enable() fails, pass on
the actual error code. Also, remove the kernel noise when the
function fails.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:06:20 +0000 (15:06 -0700)]
staging: comedi: me_daq: replace 'result' and 'error' with 'ret'
Two local variables are used in me_attach_pci() to check for errors
when calling other functions, 'result' and 'error'. Remove both of
them and just use a common 'ret' variable.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:06:02 +0000 (15:06 -0700)]
staging: comedi: me_daq: cleanup ioremap of PCI bar 2
PCI bar 2 is the main i/o address for this driver. Currently the
pci_resource_len of the bar is stored in the private data but
it is never used.
Remove 'me_regbase_size' from the private data. Also, remove the
local variables used for the pci_resource_start and _len. Just
pass the values directly to the ioremap().
Remove the kernel noise when the ioremap fails.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 22:05:46 +0000 (15:05 -0700)]
staging: comedi: me_daq: fix pointer dereference in me_detach()
As pointed out by Dan Carpenter, dev_private could be NULL when it
is checked before calling comedi_pci_disable(). The private data
variable 'plx_regbase_size' is only used to see if the pci device
has been enabled.
Remove that variable from the private data and just use the unused
dev->iobase variable to let the detach know that the pci device
is enabled.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Fri, 26 Oct 2012 00:27:12 +0000 (17:27 -0700)]
staging: comedi: dt3000: change return type of dt3k_send_cmd to void
None of the callers check the return value. Just make it a void.
Flip the status check at the end of the function to check for an
error before outputing the dev_dbg(). Use __func__ for the function
name in the message.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:26:54 +0000 (17:26 -0700)]
staging: comedi: dt3000: remove empty 'else' code
There are a number of:
} else {
/* not supported */
}
cases in this driver. Remove them.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:26:40 +0000 (17:26 -0700)]
staging: comedi: dt3000: remove dev_dbg() noise
Remove most of the dev_dbg() output from this driver. Most of it
is just noise.
For now I have left the dev_dbg() in the dt3k_send_cmd() function.
I still have not quite figured out how the low-level i/o works in
this 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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:26:25 +0000 (17:26 -0700)]
staging: comedi: dt3000: add some whitespace to the subdevice init
To improve the readability, add some whitespace to the subdevice
init.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:26:10 +0000 (17:26 -0700)]
staging: comedi: dt3000: add a simple dev_info() when attached
When the board is finished with the attach output a simple dev_info()
message.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:25:53 +0000 (17:25 -0700)]
staging: comedi: dt3000: cleanup the boardinfo
Add some whitespace to make the code more readable.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:25:38 +0000 (17:25 -0700)]
staging: comedi: dt3000: remove '0' entries in boardinfo
These entries will default to '0'.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:25:23 +0000 (17:25 -0700)]
staging: comedi: dt3000: remove forward declarations
Move some of the functions to remove the need for the forward
declarations.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:25:09 +0000 (17:25 -0700)]
staging: comedi: dt3000: add defines for the PCI device ids
The PCI device ids supported by this driver are used multiple
places in the code. To improve maintainability, create #define's
for them.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:24:53 +0000 (17:24 -0700)]
staging: comedi: dt3000: cleanup the range tables
Use the BIP_RANGE() macro instead of the more generic RANGE()
macro.
Cleanup the whitespace.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:24:39 +0000 (17:24 -0700)]
staging: comedi: dt3000: convert driver to attach_pci
Convert this driver to use the comedi PCI auto config mechanism
by adding an attach_pci callback.
Since this driver requires no extra configuration options, and
the attach callback is now optional, remove it.
Remove the kernel noise that is output when the attach fails
for various reasons.
Use the found 'dev->board_name' for the resource name passed to
comedi_pci_enable() and request_irq().
Pass on the error returned from request_irq() instead of returning
-EINVAL on error.
Since this driver no longer walks the pci bus to find the pci_dev,
remove the pci_dev_put() in the detach.
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>
H Hartley Sweeten [Fri, 26 Oct 2012 00:24:23 +0000 (17:24 -0700)]
staging: comedi: dt3000: remove this_board macro
This macro relies on a local variable having a specific name.
Remove it and use the comedi_board() helper to get the 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>
Wei Yongjun [Fri, 26 Oct 2012 15:24:46 +0000 (23:24 +0800)]
staging: comedi: skel: use module_comedi_driver to simplify the code
Use the module_comedi_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Wei Yongjun [Fri, 26 Oct 2012 15:23:00 +0000 (23:23 +0800)]
staging: comedi: use module_comedi_driver to simplify the code
Use the module_comedi_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Wei Yongjun [Fri, 26 Oct 2012 14:36:45 +0000 (22:36 +0800)]
staging: ced1401: usb1401: remove unused including <linux/version.h>
Remove including <linux/version.h> that don't need it.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
YAMANE Toshiaki [Fri, 26 Oct 2012 00:21:45 +0000 (09:21 +0900)]
staging/comedi: Use pr_ or dev_ printks in drivers/gsc_hpdi.c
fixed below checkpatch warning.
- WARNING: Prefer netdev_warn(netdev, ... then dev_warn(dev, ... then pr_warn(... to printk(KERN_WARNING ...
some of them have been replaced by dev_dbg.
Signed-off-by: YAMANE Toshiaki <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Fri, 26 Oct 2012 11:01:57 +0000 (07:01 -0400)]
staging: csr: remove csrPanic and CSR_LOG_ASSERT and CSR_LOG_ASSERT_ENABLE
these are not called at anypoint or enabled at anyplace in the code,
remove them
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 20:57:16 +0000 (16:57 -0400)]
staging: csr: remove all prototypes of not defined functions
these prototypes doesn't have function definitions in any of the
c files
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 20:56:38 +0000 (16:56 -0400)]
staging: csr: remove CsrMutexCreate function
nobody are calling this function in here, so remove this
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 20:55:59 +0000 (16:55 -0400)]
staging: csr: remove CsrMutexDestroy function
this function never gets called from anywhere, so remove this too.
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 20:55:27 +0000 (16:55 -0400)]
staging: csr: remove CsrMutexUnlock function
Nobody is using this function inside the csr directory, so remove this function also
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 20:54:48 +0000 (16:54 -0400)]
staging: csr: remove CsrMutexLock function
nobody inside the csr directory is calling this function, so remove this
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 26 Oct 2012 16:03:21 +0000 (09:03 -0700)]
Staging: remove rts_pstor driver
Support for this hardware is now included in a "real" driver in the
kernel, so it is safe to remove the staging driver now.
Cc: wwang <wei_wang@realsil.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
SeongJae Park [Thu, 25 Oct 2012 06:54:53 +0000 (15:54 +0900)]
staging: csr: csr_log.h: Fix coding style
Fix coding style for csr_log.h
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chihau Chau [Thu, 25 Oct 2012 06:37:38 +0000 (03:37 -0300)]
Staging: csr: bh.c: fixing spaces coding style issues
Fixed some coding style issues replacing spaces for tab at the beginning
of some lines
Signed-off-by: Chihau Chau <chihau@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Devendra Naga [Thu, 25 Oct 2012 05:50:58 +0000 (01:50 -0400)]
staging: csr: remove panic at locking the mutex
when down_interruptible fail, means a signal occur, or any other failure
we are panicing, and it seems that we should not panic, instead we would
have done a spinlock, but currently removing the panic call.
Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fabio Estevam [Wed, 24 Oct 2012 23:36:47 +0000 (21:36 -0200)]
staging: ipu-v3: ipu-common: Indicate succesful probe
Indication of succesful probe is more useful than stating that the
driver is about to be probed.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fabio Estevam [Wed, 24 Oct 2012 23:36:46 +0000 (21:36 -0200)]
staging: ipu-v3: ipu-common: Make it less verbose
IPU Interrupt numbers and the various IPU submodules base addresses are
more interesting for debugging purposes rather than normal use, so use
dev_dbg instead.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kees Cook [Tue, 23 Oct 2012 20:02:06 +0000 (13:02 -0700)]
drivers/iio/dac: remove CONFIG_EXPERIMENTAL
This config item has not carried much meaning for a while now and is
almost always enabled by default. As agreed during the Linux kernel
summit, remove it.
CC: Jonathan Cameron <jic23@cam.ac.uk>
CC: Lars-Peter Clausen <lars@metafoo.de>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Michael Hennerich <michael.hennerich@analog.com>
CC: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Wei Yongjun [Thu, 18 Oct 2012 15:12:50 +0000 (23:12 +0800)]
vme: vme_tsi148.c: use module_pci_driver to simplify the code
Use the module_pci_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Wei Yongjun [Thu, 18 Oct 2012 15:13:37 +0000 (23:13 +0800)]
vme: vme_ca91cx42.c: use module_pci_driver to simplify the code
Use the module_pci_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Wei Yongjun [Thu, 18 Oct 2012 15:15:05 +0000 (23:15 +0800)]
vme: vme_vmivme7805.c: use module_pci_driver to simplify the code
Use the module_pci_driver() macro to make the code simpler
by eliminating module_init and module_exit calls.
dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
YAMANE Toshiaki [Thu, 25 Oct 2012 00:16:49 +0000 (09:16 +0900)]
staging/comedi: Use pr_ or dev_ printks in drivers/serial2002.c
fixed below checkpatch warning.
- WARNING: Prefer netdev_err(netdev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
and added pr_fmt.
Signed-off-by: YAMANE Toshiaki <yamanetoshi@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Thu, 25 Oct 2012 01:14:40 +0000 (18:14 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_AMPLICON
Add a define for the Amplicon Liveline Limited PCI vendor id.
Remove the duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:14:19 +0000 (18:14 -0700)]
staging: comedi: dyna_pci10xx: remove PCI_VENDOR_ID_DYNALOG
The PCI chip used on this board is from PLX Technologies Inc. As stated
in the comments of this driver, Dynalog does not have a registered PCI
vendor id so this board uses the PLX vendor id. The kernel provides an
id for that vendor in pci_ids.h (PCI_VENDOR_ID_PLX). Use it instead of
creating a duplicate with a different name.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:14:00 +0000 (18:14 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_AMCC
Add a define for the Applied Micro Circuits Corp. PCI vendor id.
Remove the duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:13:43 +0000 (18:13 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_RTD
Add a define for the RTD Embedded Technologies, Inc. PCI vendor id.
Remove the duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:13:12 +0000 (18:13 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_IOTECH
Add a define for the Iotech Inc. PCI vendor id. Remove the duplicates
in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:12:50 +0000 (18:12 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_KOLTER
Add a define for the Kolter Electronic PCI vendor id. Remove the
duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:12:34 +0000 (18:12 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_DT
Add a define for the Data Translation, Inc. PCI vendor id. Remove
the duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:12:17 +0000 (18:12 -0700)]
staging: comedi: addi_common: use PCI_VENDOR_ID_ADDIDATA_OLD
The kernel provides this id in pci_ids.h. Use it instead of creating
duplicates of the id with different names.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:11:59 +0000 (18:11 -0700)]
staging: comedi: addi_common: use PCI_VENDOR_ID_ADDIDATA
The kernel provides this id in pci_ids.h. Use it instead of creating
duplicates of the id with different names.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:11:40 +0000 (18:11 -0700)]
staging: comedi: hwdrv_APCI1710: remove APCI1710_BOARD_VENDOR_ID
This vendor id exists in pci_ids.h as PCI_VENDOR_ID_ADDIDATA_OLD.
Use the kernels provided id instead.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:11:21 +0000 (18:11 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_MEILHAUS
Add a define for the Meilhaus Electronic GmbH Germany PCI vendor id.
Remove the duplicates in the drivers.
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>
H Hartley Sweeten [Thu, 25 Oct 2012 01:11:01 +0000 (18:11 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_ADVANTECH
Add a define for the Advantech Co., Ltd. PCI vendor id. Remove the
duplicates in the drivers.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:34:21 +0000 (16:34 -0700)]
staging: comedi: cb_pcidda: cleanup cb_pcidda_calibrate()
Refactor the function to make it a bit more concise and remove all
the one-line helper functions.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:34:02 +0000 (16:34 -0700)]
staging: comedi: cb_pcidda: cleanup cb_pcidda_ao_winsn()
For aesthetic reasons, rename the function to help when searching
for 'insn_write' functions.
Remove the obvious comments and fix the return from 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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:33:45 +0000 (16:33 -0700)]
staging: comedi: cb_pcidda: cleanup DADATA define
Rename the define used for the D/A Data register so that is has
namespace with this driver. Change the define so that it takes
the channel as a parameter to calculate the correct register
offset.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:33:30 +0000 (16:33 -0700)]
staging: comedi: cb_pcidda: cleanup DACCONTROL defines
Rename the defines used for the D/A Control register so that they
have namespace with this driver. Cleanup the use of these defines.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:33:13 +0000 (16:33 -0700)]
staging: comedi: cb_pcidda: cleanup the dio register defines
Remove the unused defines for the dio registers. Add two new
defines to document the iobase registers for the two 8255 devices.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:32:54 +0000 (16:32 -0700)]
staging: comedi: cb_pcidda: cleanup the boardinfo
For aesthetic reasons, add some whitespace to the boardinfo to
improve readability. Also, remove the cut-and-paste comment from
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:32:03 +0000 (16:32 -0700)]
staging: comedi: cb_pcidda: remove the private data 'status'
This variable in the private data is only used to output some
kernel noise during the attach about certian board types not
being fully tested.
All of the boards supported by this driver share a common register
map and should be compatible. Just remove the 'status' and the
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:31:47 +0000 (16:31 -0700)]
staging: comedi: cb_pcidda: cleanup the copyright and comedi comments
Reformat the copyright and driver description comments to follow the
preferred block comment style. Reword the driver description to follow
comedi style described 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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:31:31 +0000 (16:31 -0700)]
staging: comedi: cb_pcidda: cleanup the analog output range
All the boards supported by this driver have the same analog output
ranges. Remove the 'range' from the boardinfo and just use the
'cb_pcidda_ranges' directly when initializing the subdevice.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:31:14 +0000 (16:31 -0700)]
staging: comedi: cb_pcidda: check for subdev_8255_init() failure
The subdev_8255_init() can fail, make sure to check for it.
This board has two 8255 subdevices, one at iobase PCI bar2 and one
at iobase PCI bar2 + 4. Init the subdevices using a for() loop to
make the code a bit more concise.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:30:57 +0000 (16:30 -0700)]
staging: comedi: cb_pcidda: rename local variable 'index'
For aesthetic reasons, rename the local variable 'index' used in
the attach_pci function to simply 'i'.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:30:38 +0000 (16:30 -0700)]
staging: comedi: cb_pcidda: remove the debug output of the eeprom data
This is just 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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:30:21 +0000 (16:30 -0700)]
staging: comedi: cb_pcidda: remove private data variable 'digitalio'
The private data variable 'digitalio' is only used to hold the PCI
base address for the 8255 devices on the board. This value is then
passed to subdev_8255_init() and stored in it's own private data.
There is no need to keep the value in the private data for the board.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:30:05 +0000 (16:30 -0700)]
staging: comedi: cb_pcidda: cleanup the private data
Remove the unused variables in the private data. Also remove
the cut-and-paste comment from 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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:29:50 +0000 (16:29 -0700)]
staging: comedi: cb_pcidda: remove private data variable 'dac'
The private data variable 'dac' is used to hold the PCI base
address for the board. Use the 'iobase' variable provided by
the comedi_device instead.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:29:32 +0000 (16:29 -0700)]
staging: comedi: comedidev.h: add PCI_VENDOR_ID_CB
Add a define for the ComputerBoards/Measurement Computing PCI
vendor id. Remove the duplicates in the drivers.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:29:16 +0000 (16:29 -0700)]
staging: comedi: cb_pcidda: add defines for the PCI device ids
The PCI device ids supported by this driver are used multiple
places in the code. To improve maintainability, create #define's
for them.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:28:57 +0000 (16:28 -0700)]
staging: comedi: cb_pcidda: remove code in #if 0/#endif blocks
The functions cb_pcidda_ai_cmd(), cb_pcidda_ai_cmdtest(), and
cb_pcidda_ns_to_timer() are all partially coded stubs for command
support with the analog output subdevice. Just remove the code
since it is #if 0'ed out. It can be added back later if command
support is completed.
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>
H Hartley Sweeten [Wed, 24 Oct 2012 23:28:36 +0000 (16:28 -0700)]
staging: comedi: cb_pcidda: fix error test in cb_pcidda_attach_pci()
As pointed out by Fengguang Wu, the error test after finding the
boardinfo should be testing for (!thisboard).
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:14 +0000 (16:48 +0100)]
staging: comedi: Kconfig: update COMEDI_AMPLC_DIO200_PCI option
Update the prompt line and description for the COMEDI_AMPLC_DIO200_PCI
config option to add the new PCIe boards supported by the "amplc_dio200"
driver.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:13 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: support multiple read/write of counter
Change the `insn_read` and `insn_write` handlers of the '8254' counter
subdevices to support reading and writing multiple data values.
(Writing multiple values isn't very useful, but if that's what the user
wants....)
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:12 +0000 (16:48 +0100)]
staging: comedi: comedi.h: add clock sources for amplc_dio200 timer
Add clock source constants for the timer subdevice of the PCIe cards
supported by the "amplc_dio200" driver.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:11 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: implement timer subdevice
Implement the timer subdevice for the new PCIe boards. The subdevice was
previously marked as unused, but was reserved for this purpose.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:10 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: add 32-bit register access functions
These are currently unused but will be used to support extra features of
the PCIe boards.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:09 +0000 (16:48 +0100)]
staging: comedi: comedi.h: extra clock and gate sources for amplc_dio200
Add constants to "comedi.h" for the extra clock and gate sources
allowed by the new PCIe cards supported by the "amplc_dio200" driver.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:08 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: allow extra clock and gate sources
One of the enhancements of the new PCIe boards is the addition of extra
clock and gate sources. Allow clock and gate sources up to 31 for these
boards (compared to 7 for the old boards) although most of those are
reserved for future use.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:07 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: enable enhanced features of PCIe boards
The new PCIe boards PCIe215, PCIe236 and PCIe296 have some enhanced
features (over the older boards), although none of these features are
supported by this driver yet.
Enable the enhanced features in hardware and use `dio200_layouts[]` to
indicate which boards support the enhanced features.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:06 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: allow generation of PCIe interrupts
The new PCIe boards PCIe215, PCIe236 and PCIe296 need a special register
setting to allow generation of interrupts on the PCIe bus. Add
`dio200_pcie_board_setup()` to do this and call it from
`dio200_attach_pci()` for those boards.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:05 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: support PCIe215, PCIe236 and PCIe296
Add preliminary support for the above PCIe boards. The interrupt
subdevice is not working yet as the boards need some additional
initialization to enable interrupts. Reserve an unused subdevice that
will eventually become a timer subdevice.
Some unused subdevices have been added between the used subdevices on
the PCIe215 and PCIe236. This is so the subdevice numbers will match a
pattern-matching feature to be added at a later date, where the
pattern-match specifications for a subdevice include pattern-match
results from other subdevices, specified by index.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:04 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: add register shift to board info
Add `mainshift` member to `struct dio200_board` to hold the amount of
left-shift required for main register offsets. This is 0 for all the
boards currently supported so it doesn't need initializing explicitly in
any current element of `dio200_boards[]`. It will be non-zero for some
new boards to be supported by this driver.
Modify the register access functions `dio200_read8()` and
`dio200_write8()` to take the shift into account.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:03 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: add min register region size in board
Store the length of the main register region in new member `mainsize` of
`struct dio200_board` and initialize it in each element of
`dio200_boards[]`. For all currently supported boards this is
initialized to `DIO200_IO_SIZE` (0x20), but will be different for newer
boards to be supported in the future.
For ISA boards, this is the actual region length requested, but for PCI
boards it's the minimum expected region length. Verify that the PCI BAR
region length is sufficient in `dio200_attach_pci()`.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:02 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: add PCI BAR information to board
Add `mainbar` member to `struct dio200_board` to hold the PCI BAR number
for the main registers. This is `2` for the PCI boards currently
supported (PCI215 and PCI272) but will be different for some new boards
to be supported later.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:01 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: support memory-mapped I/O
The boards currently supported by this module all use port I/O. Support
memory-mapped I/O as well for future PCI/PCIe cards.
Define `struct dio200_region` to hold the type of register access and
either the port I/O base address or an ioremapped MMIO address. Add a
member `io` to the comedi device private data (`struct dio200_private`)
to hold this. Use this instead of `dev->iobase`. Memory-mapped
registers are mapped in `dio200_pci_attach()` and unmapped in
`dio200_detach()`.
`dio200_detach()` now uses the private data pointer `devpriv` set to
`dev->private` but can return early if it is `NULL` because no clean-up
needs to be done in that case.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:48:00 +0000 (16:48 +0100)]
staging: comedi: amplc_dio200: set dev->iobase before common attach
Don't pass the I/O base address to `dio200_common_attach()`. The only
thing it does with it is set `dev->iobase` to the passed in value. Do
that before calling `dio200_common_attach()` in order to simplify
upcoming support for different register access methods.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:59 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: use custom register access functions
Add custom functions to access hardware registers and call them instead
of calling `inb()` and `outb()` directly. When additional cards are
supported by this driver requiring different register access methods,
the new functions will localize the register access differences to just
these functions.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:58 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: don't select COMEDI_8255
The "amplc_dio200" module no longer depends on the "8255" module, so the
'COMEDI_AMPLC_DIO200' Kconfig setting no longer needs to select
'COMEDI_8255'.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:57 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: internalize 8255 DIO implementation
Implement the '8255' DIO subdevice internally to this module instead of
using the external "8255" module. I plan to add support for additional
cards to this driver that would require the I/O callback functionality
of the 8255 module, but the existing callback functions do not have much
context to handle this elegantly. The additional cards also have extra
DIO features which cannot be handled by the existing "8255" module and
that I'd like to support some time in the future.
The bottom line is I _could_ continue using the "8255" module for a
while with a callback function, but it would turn out to be a very ugly
callback function and I'd have to ditch the use of the "8255" module as
soon as I added an extra feature to the DIO subdevice.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:56 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: add functions to access 8254 counters
Add our own functions to manipulate the '8254' counter chip instead of
the inline ones from "8253.h". This will make the code less messy when
we add code to support new boards later.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:55 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: use register offsets in subdevices
Replace the absolute, modified I/O base addresses in the private data
structures for the '8254' counter and 'intr' DIO subdevices with offsets
from the main I/O base address. `dio200_subdev_intr_init()` now needs
the offset instead of the absolute address. `dio200_subdev_8254_init()`
now only needs the offset instead of both the absolute address and the
offset. The '8255' DIO subdevices are unaffected as they are handled by
the external "8255" module.
This change is not useful by itself but is an intermediate step for
later changes.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Wed, 24 Oct 2012 15:47:54 +0000 (16:47 +0100)]
staging: comedi: amplc_dio200: remove 'has_clk_gat_sce' from subdevice
The `has_clk_gat_sce` member of `struct dio200_subdev_8254` indicates
whether the board has clock and gate source selection registers. The
same information can be obtained from read-only board layout data so
doesn't need to be set per '8254' counter subdevice. Eliminate the
member and use the read-only data instead. The last parameter of
`dio200_subdev_8254_init()` is used to initialize this member, so remove
that parameter as well.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>