firefly-linux-kernel-4.4.55.git
9 years agostaging: rtl8723au: ODM_Write_DIG23A(): Cosmetic cleanups
Jes Sorensen [Mon, 2 Mar 2015 20:25:02 +0000 (15:25 -0500)]
staging: rtl8723au: ODM_Write_DIG23A(): Cosmetic cleanups

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Clean up odm_RefreshRateAdaptiveMask()
Jes Sorensen [Mon, 2 Mar 2015 20:25:01 +0000 (15:25 -0500)]
staging: rtl8723au: Clean up odm_RefreshRateAdaptiveMask()

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Clean up FindMinimumRSSI()
Jes Sorensen [Mon, 2 Mar 2015 20:25:00 +0000 (15:25 -0500)]
staging: rtl8723au: Clean up FindMinimumRSSI()

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Clean up odm_RSSIMonitorCheck()
Jes Sorensen [Mon, 2 Mar 2015 20:24:59 +0000 (15:24 -0500)]
staging: rtl8723au: Clean up odm_RSSIMonitorCheck()

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_TXPowerTrackingCheck23a(): Remove no-op function
Jes Sorensen [Mon, 2 Mar 2015 20:24:58 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_TXPowerTrackingCheck23a(): Remove no-op function

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove write only bIsCurRDLState
Jes Sorensen [Mon, 2 Mar 2015 20:24:57 +0000 (15:24 -0500)]
staging: rtl8723au: Remove write only bIsCurRDLState

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove unused struct pri_cca
Jes Sorensen [Mon, 2 Mar 2015 20:24:56 +0000 (15:24 -0500)]
staging: rtl8723au: Remove unused struct pri_cca

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove unused struct odm_fat_t
Jes Sorensen [Mon, 2 Mar 2015 20:24:55 +0000 (15:24 -0500)]
staging: rtl8723au: Remove unused struct odm_fat_t

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove unused Funai TV hack
Jes Sorensen [Mon, 2 Mar 2015 20:24:54 +0000 (15:24 -0500)]
staging: rtl8723au: Remove unused Funai TV hack

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove write-only variable ControlChannel
Jes Sorensen [Mon, 2 Mar 2015 20:24:53 +0000 (15:24 -0500)]
staging: rtl8723au: Remove write-only variable ControlChannel

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: SupportInterface is always set to USB
Jes Sorensen [Mon, 2 Mar 2015 20:24:52 +0000 (15:24 -0500)]
staging: rtl8723au: SupportInterface is always set to USB

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove no-op ODM_CMNINFO_PLATFORM
Jes Sorensen [Mon, 2 Mar 2015 20:24:51 +0000 (15:24 -0500)]
staging: rtl8723au: Remove no-op ODM_CMNINFO_PLATFORM

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: odm_dtc(): Remove no-op function
Jes Sorensen [Mon, 2 Mar 2015 20:24:50 +0000 (15:24 -0500)]
staging: rtl8723au: odm_dtc(): Remove no-op function

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Make odm_PHY_SaveAFERegisters() readable
Jes Sorensen [Mon, 2 Mar 2015 20:24:49 +0000 (15:24 -0500)]
staging: rtl8723au: Make odm_PHY_SaveAFERegisters() readable

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove unused ODM ability flags
Jes Sorensen [Mon, 2 Mar 2015 20:24:48 +0000 (15:24 -0500)]
staging: rtl8723au: Remove unused ODM ability flags

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_RF_CALIBRATION is never set
Jes Sorensen [Mon, 2 Mar 2015 20:24:47 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_RF_CALIBRATION is never set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_RF_TX_PWR_TRACK is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:46 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_RF_TX_PWR_TRACK is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_PWR_SAVE is unused
Jes Sorensen [Mon, 2 Mar 2015 20:24:45 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_PWR_SAVE is unused

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_CCK_PD is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:44 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_CCK_PD is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_RSSI_MONITOR is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:43 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_RSSI_MONITOR is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_FA_CNT is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:42 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_FA_CNT is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_DYNAMIC_TXPWR isn't used for anything
Jes Sorensen [Mon, 2 Mar 2015 20:24:41 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_DYNAMIC_TXPWR isn't used for anything

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_DIG is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:40 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_DIG is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_BB_RA_MASK is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:39 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_BB_RA_MASK is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: ODM_MAC_EDCA_TURBO is always set
Jes Sorensen [Mon, 2 Mar 2015 20:24:38 +0000 (15:24 -0500)]
staging: rtl8723au: ODM_MAC_EDCA_TURBO is always set

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Avoid zero initializing variables unnecessarily
Jes Sorensen [Mon, 2 Mar 2015 20:24:37 +0000 (15:24 -0500)]
staging: rtl8723au: Avoid zero initializing variables unnecessarily

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Variable bbtchange is always false
Jes Sorensen [Mon, 2 Mar 2015 20:24:36 +0000 (15:24 -0500)]
staging: rtl8723au: Variable bbtchange is always false

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: emxx_udc: Remove custom printk macro ERR
Haneen Mohammed [Mon, 2 Mar 2015 18:38:22 +0000 (21:38 +0300)]
Staging: emxx_udc: Remove custom printk macro ERR

This patch removes custom printk macro ERR.
All the calls to this macro were replaced by de_err and pr_err.

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: emxx_udc: Replace custom printk macro ERR with dev_err or pr_err
Haneen Mohammed [Mon, 2 Mar 2015 18:37:38 +0000 (21:37 +0300)]
Staging: emxx_udc: Replace custom printk macro ERR with dev_err or pr_err

This patch removes the use of custom printk macros ERR and replace it
with dev_err, or pr_err in the following cases:
- if no appropriate struct device *dev field where found for dev_err.
- or dev could be null eg. "dev_err(udc->dev" not possible inside "if
  (udc == null)"
Issue addressed by checkpatch.pl.

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: emxx_udc: Remove argument test from function
Haneen Mohammed [Mon, 2 Mar 2015 18:33:18 +0000 (21:33 +0300)]
Staging: emxx_udc: Remove argument test from function

This patch removes the test statement for an argument to  _nbu2ss_pullup
function, for it can't be null due to previous derefrences.

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: emxx_udc: Fix do not add new typedefs and remove volatile
Haneen Mohammed [Mon, 2 Mar 2015 17:01:42 +0000 (20:01 +0300)]
Staging: emxx_udc: Fix do not add new typedefs and remove volatile

This patch fixes the following checkpatch.pl warnings:"do not add new
typedefs" and "Use of volatile is usually wrong".
Remove typedefs keyword and rename identifiers appropriately.
Remove volatile from union usb_regs_access
Update related  files.

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: fbtft: Remove unnecessary 'out of memory' message.
Dilek Uzulmez [Mon, 2 Mar 2015 21:28:14 +0000 (23:28 +0200)]
Staging: fbtft: Remove unnecessary 'out of memory' message.

This patch fixes checkpatch.pl warning in file fb_ssd1351.c
WARNING: Possible unnecessary 'out of memory' message

Signed-off-by: Dilek Uzulmez <dilekuzulmez@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: fbtft: Remove unnecessary 'out of memory' message.
Dilek Uzulmez [Mon, 2 Mar 2015 20:56:53 +0000 (22:56 +0200)]
Staging: fbtft: Remove unnecessary 'out of memory' message.

This patch fixes checkpatch.pl warning in file fbtft-core.c
WARNING: Possible unnecessary 'out of memory' message

Signed-off-by: Dilek Uzulmez <dilekuzulmez@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: fbtft-core: remove unnecessary line continuations
Yeliz Taneroglu [Mon, 2 Mar 2015 15:49:59 +0000 (17:49 +0200)]
Staging: fbtft-core: remove unnecessary line continuations

This fixes the checkpatch.pl warning:
WARNING: Avoid unnecessary line continuations

Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: rtl8723a_hal_init.c: remove unnecessary braces
Daniele Alessandrelli [Sun, 22 Feb 2015 19:28:44 +0000 (20:28 +0100)]
staging: rtl8723au: rtl8723a_hal_init.c: remove unnecessary braces

Fix all checkpatch "braces {} are not necessary" warnings for
rtl8723au/hal/rtl8723a_hal_init.c

Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@gmail.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: MAX_AGGR_NUM is not used
Jes Sorensen [Fri, 27 Feb 2015 20:45:34 +0000 (15:45 -0500)]
staging: rtl8723au: MAX_AGGR_NUM is not used

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: The RF on an 8723au is always a 6052
Jes Sorensen [Fri, 27 Feb 2015 20:45:33 +0000 (15:45 -0500)]
staging: rtl8723au: The RF on an 8723au is always a 6052

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove rf type from struct hal_version
Jes Sorensen [Fri, 27 Feb 2015 20:45:32 +0000 (15:45 -0500)]
staging: rtl8723au: Remove rf type from struct hal_version

This gets rid of yet another duplicated copy of the RF type

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Be more consistent in checking for 2 TX paths
Jes Sorensen [Fri, 27 Feb 2015 20:45:31 +0000 (15:45 -0500)]
staging: rtl8723au: Be more consistent in checking for 2 TX paths

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: No need for two copies of rf_type
Jes Sorensen [Fri, 27 Feb 2015 20:45:30 +0000 (15:45 -0500)]
staging: rtl8723au: No need for two copies of rf_type

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Firmware always handles adaptive rates
Jes Sorensen [Mon, 9 Feb 2015 22:52:21 +0000 (17:52 -0500)]
staging: rtl8723au: Firmware always handles adaptive rates

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: hal_com.h: Remove some unused #defines
Jes Sorensen [Mon, 9 Feb 2015 22:52:20 +0000 (17:52 -0500)]
staging: rtl8723au: hal_com.h: Remove some unused #defines

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Remove more unused #defines
Jes Sorensen [Mon, 9 Feb 2015 22:52:19 +0000 (17:52 -0500)]
staging: rtl8723au: Remove more unused #defines

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: rtl8723a_add_rateatid() simplyfy code
Jes Sorensen [Mon, 9 Feb 2015 22:52:18 +0000 (17:52 -0500)]
staging: rtl8723au: rtl8723a_add_rateatid() simplyfy code

No point shifting raid right, just to shift it left again before
re-adding it.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: rates are always set via the firmware interface
Jes Sorensen [Mon, 9 Feb 2015 22:52:17 +0000 (17:52 -0500)]
staging: rtl8723au: rates are always set via the firmware interface

The only case where fw_ractrl = false was when the firmware failed to
load, and in that case we are dead in the water anyway.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: rtl8723au: Use RF_AC instead of hardcoded value for RF register write
Jes Sorensen [Mon, 9 Feb 2015 22:52:16 +0000 (17:52 -0500)]
staging: rtl8723au: Use RF_AC instead of hardcoded value for RF register write

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging/lustre/llite: Fix obd name after c&p error
Oleg Drokin [Tue, 3 Mar 2015 07:39:36 +0000 (02:39 -0500)]
staging/lustre/llite: Fix obd name after c&p error

commit 95745e9b1de2 ("staging: lustre: Use kasprintf.") introduced
a copy and paste error causing two different obd types to be assigned
same content causing lustre to fail on mount with a warning from procfs
followed by a bizzare error about OST not having enough MDS
capabilities.

This patch unbreaks Lustre client again.

Signed-off-by: Oleg Drokin <green@linuxhacker.ru>
CC: Navya Sri Nizamkari <navyasri.tech@gmail.com>
CC: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: lustre: Convert uses of "int rc = seq_printf(...)"
Joe Perches [Mon, 2 Mar 2015 03:58:57 +0000 (19:58 -0800)]
staging: lustre: Convert uses of "int rc = seq_printf(...)"

The seq_printf return value, because it's frequently misused,
will eventually be converted to void.

See: commit 1f33c41c03da ("seq_file: Rename seq_overflow() to
     seq_has_overflowed() and make public")

Convert these uses to:

seq_printf(seq, ...);

return 0;

Done via cocci script:

@@
struct seq_file *seq;
int i;
@@
- i = seq_printf(seq,
+ seq_printf(seq,
   ...);
...
- return i;
+ return 0;

@@
struct seq_file *seq;
int i;
@@
- i = 0;
- i += seq_printf(seq,
+ seq_printf(seq,
           ...);
...
- return i;
+ return 0;

With some additional reformatting and typing post conversion
to remove the now unnecessary "int i;" declaration.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: iio: meter: ade7854-i2c: code style improvements
Tolga Ceylan [Sun, 15 Feb 2015 04:32:45 +0000 (20:32 -0800)]
Staging: iio: meter: ade7854-i2c: code style improvements

Code reformatting based on checkpatch.pl with --strict:
Comparison to NULL rewritten as !indio_dev

Signed-off-by: Tolga Ceylan <tolga.ceylan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: iio: meter: ade7854-i2c: code style improvements
Tolga Ceylan [Sun, 15 Feb 2015 04:32:44 +0000 (20:32 -0800)]
Staging: iio: meter: ade7854-i2c: code style improvements

Code reformatting based on checkpatch.pl with --strict:
Lines over 80 characters were fixed

Signed-off-by: Tolga Ceylan <tolga.ceylan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agoStaging: iio: meter: ade7854-i2c: code style improvements
Tolga Ceylan [Sun, 15 Feb 2015 04:32:43 +0000 (20:32 -0800)]
Staging: iio: meter: ade7854-i2c: code style improvements

Code reformatting based on checkpatch.pl with --strict:
Alignment should match open paranthesis cases corrected

Signed-off-by: Tolga Ceylan <tolga.ceylan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adl_pci6208: support old PLX device ID
Ian Abbott [Fri, 27 Feb 2015 15:07:37 +0000 (15:07 +0000)]
staging: comedi: adl_pci6208: support old PLX device ID

ADLINK's MS Windows drivers for the PCI-6208/6216 boards include the
following line in the DDInstall secion of the INF file:

%String6208%=DriverInstall6208.NT,PCI\VEN_10B5&DEV_9050&SUBSYS_62089999

That's for a PLX PCI 9050/9052 PCI interface chip with custom subvendor
and subdevice ID.  The "%String6208%" macro expands to "ADLINK PCI-6208"
in the INF file.

Add a corresponding entry to this driver module's PCI device table.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adl_pci6208: remove multiple board type support
Ian Abbott [Fri, 27 Feb 2015 15:07:36 +0000 (15:07 +0000)]
staging: comedi: adl_pci6208: remove multiple board type support

This driver module now only supports a single board type, so remove the
infrastructure for describing multiple board types.  The comedi
"auto_attach" handler, `pci6208_auto_attach()` doesn't need to set the
comedi device's `board_name` or `board_ptr` members.  The former is
automatically pointed to the comedi driver's `driver_name` by the core
comedi module, and the latter is not used anywhere else.  The AO
subdevice's `n_chans` member can be set to 16 without looking it up in
the single element of `pci6208_boards[]`.  There is no need to pass a
board index from the PCI device table to the "auto_attach" handler.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adl_pci6208: combine PCI-6208 and PCI-6216 support
Ian Abbott [Fri, 27 Feb 2015 15:07:35 +0000 (15:07 +0000)]
staging: comedi: adl_pci6208: combine PCI-6208 and PCI-6216 support

This module's PCI device table has separate PCI device IDs for PCI-6208
and PCI-6216, but in reality, both boards and their cPCI and PCIe
variants seem to have the same PCI device ID: 0x6208.  The PCI subdevice
ID doesn't seem to help either.

It shouldn't do any harm to claim 16 AO channels for all devices
supported by this driver.  The original PCI-6216 is just a PCI-6208 with
a daughter board providing the extra DACs.  The data is clocked out to
the DACs serially with no acknowledgment.  I assume this would still
happen when the DACs for the upper 8 channels are missing.  Therefore,
change the driver to support a single board type with 16 AO channels,
and remove the suspicious PCI device ID for the PCI-6216.

Evidence about lack of a separate PCI device ID for PCI-6216 follows....

1. Jesus Vasquez reports the following lspci output for a PCIe-6216 on
his Ubuntu 12.04 system:

lspci -n -vvv
07:00.0 1180: 144a:6208 (rev 02)
        Subsystem: 144a:6208
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Region 0: Memory at f6000000 (32-bit, non-prefetchable)
[size=128]
        Region 1: I/O ports at c100 [size=128]
        Region 2: I/O ports at c000 [size=256]
        Kernel driver in use: adl_pci6208
        Kernel modules: adl_pci6208

That system's "adl_pci6208" module only has the single PCI device ID for
the PCI-6208, but works for his PCIe-6216 except that it only supports 8
analog output channels instead of 16.

2. ADLINK's binary Linux module "pci6208.ko" (there is no separate
module for the PCI-6216) has a single alias:

  alias: pci:v0000144Ad00006208sv*sd*bc*sc*i*

3. The MS Windows drivers include this set of hardware IDs for the
PCI-6208 series, with nothing more specific for the PCI-6216 (they are
all tied to the same name "ADLINK PCI-6208" and there is no mention of
PCI-6216):

  PCI\VEN_10B5&DEV_9050&SUBSYS_62089999
  PCI\VEN_144A&DEV_6208&SUBSYS_6208144A
  PCI\VEN_144A&DEV_6208&SUBSYS_62089999
  PCI\VEN_144A&DEV_6208&SUBSYS_C208144A
  PCI\VEN_144A&DEV_6208&SUBSYS_C20855AA
  PCI\VEN_144A&DEV_6208

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: add 8254 timer (pacer) support
H Hartley Sweeten [Thu, 26 Feb 2015 22:43:55 +0000 (15:43 -0700)]
staging: comedi: cb_pcimdas: add 8254 timer (pacer) support

The hardware has an 8254 timer/counter. Channe; 0 is available as a
generic counter/timer with the clock, gate, and output signals all
availabe on the main 37 pin connector. Channels 1 and 2 are used for
the pacer.

Add support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: add main connector digital input/output
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:43 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: add main connector digital input/output

Add subdevices for the 4 digital input and 4 digital output channels on
the main connector of the board.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: tidy up cb_pcimdas_auto_attach()
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:42 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: tidy up cb_pcimdas_auto_attach()

For aesthetics, add some whitespace to the subdevice init.

Remove the unnecessary comments as well as the initialization of the
analog input subdevice 'len_chanlist'. That member is only used by
subdevices that support async commands.

For aesthetics, rename the analog input subdevice (*insn_read) function.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: provide analog output range table
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:41 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: provide analog output range table

The analog output range is not programmable. The DAC ranges are
jumper-settable on the board. For aesthetics, provide a range table
for the user with all possible ranges.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: define the register map
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:40 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: define the register map

Add defines for the registers and bits. Use the defines to remove the
"magic" numbers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: support analog input programmable ranges
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:39 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: support analog input programmable ranges

The hardware uses a switch on the board to select if the analog inputs
are bipolar or uinipolar. The gain is programmable to allow the following
input ranges:

  Gain  Bipolar   Unipolar
    0   +/-10V    0 to 10V
    1   +/-5V     0 to 5V
    2   +/-2.5V   0 to 2.5V
    3   +/-1.25V  0 to 1.25V

Add the necessary code to the driver to allow the user to select the
desired range.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcimdas: fix analog input channel configuration
H Hartley Sweeten [Wed, 25 Feb 2015 23:28:38 +0000 (16:28 -0700)]
staging: comedi: cb_pcimdas: fix analog input channel configuration

The hardware uses a switch on the board to set the number of analog
input channels to either 16 single-ended or 8 differential channels.
Currently the switch setting is checked for every (*insn_read) operation
to validate the channel number.

Check the switch setting during the driver attach and initialize the
subdevice accordingly. This allows the core to handle the validation.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: 8253.h: remove unused header
H Hartley Sweeten [Mon, 23 Feb 2015 21:58:03 +0000 (14:58 -0700)]
staging: comedi: 8253.h: remove unused header

All the comedi drivers have been converted to use the comedi_8254 module
to provide support for the 8254 timers. Remove this unused header.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: ni_labpc_common: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:58:02 +0000 (14:58 -0700)]
staging: comedi: ni_labpc_common: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

The hardware actually has two 8254 devices. Timer B0 is the master for timed
conversions, timer B1 sets the scan pacing, and tmer A0 sets the conversion
pacing.

For the conversion, dev->pacer is used for the "B" timers and a new private
data member, dev->counter, is used for the "A" timers. All the divisor values
are stored in the dev->pacer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: convert driver to use the comedi_8254 module
H Hartley Sweeten [Tue, 24 Feb 2015 17:38:49 +0000 (10:38 -0700)]
staging: comedi: amplc_dio200_common: convert driver to use the comedi_8254 module

Convert this driver to use the comedi_8254 module to provide the 8254 timer support.

Add 'clock_src' and 'gate_src' members to the comedi_8254 data for convienence.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: remove 'spinlock' from struct dio200_subdev_8254
H Hartley Sweeten [Mon, 23 Feb 2015 21:58:00 +0000 (14:58 -0700)]
staging: comedi: amplc_dio200_common: remove 'spinlock' from struct dio200_subdev_8254

Currently this driver uses a spinlock in the 8254 subdevice (*insn_read), (*insn_write),
and (*insn_config) functions. The comedi core checks if the subdevice is 'busy', in
parse_insn(), before any of the subdevice functions are attempted.

Remove the unnecessary spinlock.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: remove unnecessary 'counter_number' checks
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:59 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: remove unnecessary 'counter_number' checks

The 'counter_number' in these functions is the comedi channel number from the
chanspec. The comedi core validates the chanspec before calling the driver
functions. Remove the unnecessary checks.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: remove 'which' from struct dio200_subdev_8254
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:58 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: remove 'which' from struct dio200_subdev_8254

This member is only used in the "set gate" and "set clock" helper functions. Remove
it and calculate the value when needed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: remove 'gat_sce_ofs' from struct dio200_subdev_8254
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:57 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: remove 'gat_sce_ofs' from struct dio200_subdev_8254

This member is only used one place in the driver. Remove it and calculate the
register offset when needed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: remove 'clk_sce_ofs' from struct dio200_subdev_8254
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:56 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: remove 'clk_sce_ofs' from struct dio200_subdev_8254

This member is only used one place in the driver. Remove it and calculate the
register offset when needed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: introduce DIO200_GAT_SEL() macro
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:55 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: introduce DIO200_GAT_SEL() macro

Replace the DIO200_[XYZ]GAT_SEL defines with a macro that returns the
correct register offset.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_dio200_common: introduce DIO200_CLK_SEL() macro
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:54 +0000 (14:57 -0700)]
staging: comedi: amplc_dio200_common: introduce DIO200_CLK_SEL() macro

Replace the DIO200_[XYZ]CLK_SEL defines with a macro that returns the
correct register offset.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adl_pci9118: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:53 +0000 (14:57 -0700)]
staging: comedi: adl_pci9118: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das16: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:52 +0000 (14:57 -0700)]
staging: comedi: das16: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcidas64: remove unnecessary include
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:51 +0000 (14:57 -0700)]
staging: comedi: cb_pcidas64: remove unnecessary include

The hardware supported by this driver does not have an 8254 timer. Remove the
unnecessary include of "8253.h".

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: me4000: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:50 +0000 (14:57 -0700)]
staging: comedi: me4000: convert driver to use the comedi_8254 module

Some of the hardware supported by this driver include an 8254 timer. For
aesthetics, convert it to use the comedi_8254 module to provide support for
the 8254 timer.

This also fixes the (*insn_read) and (*insn_write) to work like the comedi
API expects. Currently they only read or write a single value.

It also fixes the (*insn_config). Currently the driver is attempting to
handle the configuration instructions GPCT_RESET and GPCT_SET_OPERATION.
These are just arbitrary valuse and are not real comedi configuration_ids.
They actually coorespond to:

  GPCT_RESET -> INSN_CONFIG_DIO_OUTPUT
  GPCT_SET_OPERATION -> INSN_CONFIG_ANALOG_TRIG

The number of parameters for the instructions is validated by the comedi
core in check_insn_config_length(). GPCT_RESET happens to work (insn->n == 1)
but GPCT_SET_OPERATION would fail. The INSN_CONFIG_ANALOG_TRIG expects
insn->n == 5 but GPCT_SET_OPERATION in this driver expects insn->n == 2.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adv_pci_dio: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:49 +0000 (14:57 -0700)]
staging: comedi: adv_pci_dio: convert driver to use the comedi_8254 module

Some of the hardware supported by this driver includes an 8254 timer. For
aesthetics, convert it to use the comedi_8254 module to provide support for
the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adv_pci_dio: refactor 's8254' boardinfo
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:48 +0000 (14:57 -0700)]
staging: comedi: adv_pci_dio: refactor 's8254' boardinfo

The boardinfo for the 8254 timer is overly complex. The 8254 timer always has
3 channels and the 'regs' and 'specflags' members of diosubd_data are not
used. The only necessary information is the base 'addr' offset to the 8254
registers.

Replace the 's8254' member with an unsigned long 'timer_regbase'. Use that
to determine if the board has an 8254 timer during the attach of the driver.
Save the 'timer_regbase' in the subdevice 'private' pointer to use in the
subdevice functions.

For aesthetics, absorb pci_dio_add_8254() into the driver attach function.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adv_pci_dio: simplify counter subdevice I/O
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:47 +0000 (14:57 -0700)]
staging: comedi: adv_pci_dio: simplify counter subdevice I/O

Only two of the boards supported by this driver have an 8254 counter/timer.
Both of these boards have a single 8254 device. Currently the counter
subdevice functions are coded to support multiple 8254 devices. This is
unnecessary and just complicates the code.

Simplfy the subdevice functions to work for a single 8254 counter/timer and
refactor the driver (*attach) accordingly.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das1800: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:46 +0000 (14:57 -0700)]
staging: comedi: das1800: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Tidy up the (*do_cmdtest) validation of the timer arguments.

Absorb the converted das1800_setup_counters() code into the (*do_cmd).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das6402: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:45 +0000 (14:57 -0700)]
staging: comedi: das6402: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Remove the unnecessary programming of timer 0. The private data 'count'
value is never set by the driver and the timer is reset to MODE0 when
the timers are initialized during the attach of the driver.

Remove the unnecessart convert_src check in the (*do_cmdtest). The only
valid convert_src is TRIG_TIMER.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: ni_at_a2150: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:44 +0000 (14:57 -0700)]
staging: comedi: ni_at_a2150: convert driver to use the comedi_8254 module

The hardware supported by this driver includes an 8254 timer. For aesthetics,
convert it to use the comedi_8254 module to provide support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: ni_at_ao: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:43 +0000 (14:57 -0700)]
staging: comedi: ni_at_ao: convert driver to use the comedi_8254 module

The hardware supported by this driver includes an 8254 timer. This timer is
not currently used, other than setting counters 1 and 2 to MODE4 to ensure
that the outputs are high.

For aesthetics, convert it to use the comedi_8254 module to provide support
for the 8254 timer. This will make it easier to add features later.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das08: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:42 +0000 (14:57 -0700)]
staging: comedi: das08: convert driver to use the comedi_8254 module

Some of the hardware supported by this driver include an 8254 timer that is
exposed to the user as a comedi_subdevice. Convert it to use the comedi_8254
module to provide support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_pci230: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:41 +0000 (14:57 -0700)]
staging: comedi: amplc_pci230: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adv_pci1710: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:40 +0000 (14:57 -0700)]
staging: comedi: adv_pci1710: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. It also provides a comedi_subdevice to allow the user
to use channel 0 of the 8254 timer. Currently the subdevice support does not
work correctly due to and (*insn_config) that does not follow the comedi API.

Convert it to use the comedi_8254 module to provide support for the 8254 timer
and proper support for the subdevice.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_das16_cs: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:39 +0000 (14:57 -0700)]
staging: comedi: cb_das16_cs: convert driver to use the comedi_8254 module

The hardware supported by this drive has an 8254 timer. Currently this driver
does not use the timer functions.

For aesthetics, use the comedi_8254 module to provide support for the 8254
timer. This will ensure that the counters are all reset and make it easier
to add functionality later.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das16m1: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:38 +0000 (14:57 -0700)]
staging: comedi: das16m1: convert driver to use the comedi_8254 module

This driver uses two 8254 timers. One to generate the analog input pacer clock and
one to count the number of samples. Convert it to use the comedi_8254 module to
provide support for the 8254 timers.

Use the comedi_device 'pacer' member for the 8254 timer used for analog input. This
data is freed automatically by the core during the detach of the driver.

Store the data for the 8254 timer used to count samples in the private data. This
data needs to be freed by the driver when it is detached.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: das800: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:37 +0000 (14:57 -0700)]
staging: comedi: das800: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcidas: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:36 +0000 (14:57 -0700)]
staging: comedi: cb_pcidas: convert driver to use the comedi_8254 module

This driver uses two 8254 timers to generate the pacer clocks. One for analog
input acquisition and one for analog output data conversion. Convert it to use
the comedi_8254 module to provide support for the 8254 timers.

Use the comedi_device 'pacer' member for the 8254 timer used for analog input.
This data is freed automatically by the core during the detach of the driver.

Store the data for the 8254 timer used for analog output in the private data.
This data needs to be freed by the driver when it is detached.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: amplc_pci224: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:35 +0000 (14:57 -0700)]
staging: comedi: amplc_pci224: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
output data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: adl_pci9111: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:34 +0000 (14:57 -0700)]
staging: comedi: adl_pci9111: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: pcl711: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:33 +0000 (14:57 -0700)]
staging: comedi: pcl711: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: pcl818: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:32 +0000 (14:57 -0700)]
staging: comedi: pcl818: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Note that the pacer does not have to be stopped when starting a new async
command in pcl818_ai_cmd() or when the card is initialy reset by pcl818_reset().
The counters are all reset when the driver is initially attached and the
counters used by the pacer are stopped when a command is canceled.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: pcl816: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:31 +0000 (14:57 -0700)]
staging: comedi: pcl816: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data conversion. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: pcl812: convert driver to use the comedi_8254 module
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:30 +0000 (14:57 -0700)]
staging: comedi: pcl812: convert driver to use the comedi_8254 module

This driver uses an 8254 timer to generate the pacer clock used for analog
input data acquisition. Convert it to use the comedi_8254 module to provide
support for the 8254 timer.

Note that the pacer does not have to be stopped when starting a new async
command in pcl812_ai_cmd() or when the card is initialy reset by pcl812_reset().
The counters are all reset when the driver is initially attached and the
counters used by the pacer are stopped when a command is canceled.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: add 'pacer' member to struct comedi_device
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:29 +0000 (14:57 -0700)]
staging: comedi: add 'pacer' member to struct comedi_device

Add a new member to the comedi_device struct for a comedi_8254 'pacer'. This
provides a convient place to store the data allocated by the comedi_8254 module
for boards that use an 8254 device to create the data acquisition pacer clock.

Automatically free this pointer in comedi_device_detach_cleanup() so that the
drivers don't need to do it when then are detached.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: comedi_8254: introduce module for 8254 timer support
H Hartley Sweeten [Mon, 23 Feb 2015 21:57:28 +0000 (14:57 -0700)]
staging: comedi: comedi_8254: introduce module for 8254 timer support

A 8254 timer/counter is commonly used on data acquisition boards to provide
the internal pacer clock used to acquire analog input samples. Some boards
also to allow the timers to be used externally.

Currently the 8254 timers are supported by comedi using the 8253.h header
and a number of inline functions. This works for the internal pacer clock
but requires the drivers to implement subdevice code necessary to use the
timers externally.

Introduce a new module to support both the internal pacer clock and the
external counter subdevice. This will allow removing a bunch of duplicated
code in the drivers and standardizes the comedi 8254 timer support.

This implementation is based on the 8253.h inline functions and the various
subdevice functionality in the comedi drivers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: rtd520: remove unnecessary interrupt disable
H Hartley Sweeten [Fri, 20 Feb 2015 19:52:28 +0000 (12:52 -0700)]
staging: comedi: rtd520: remove unnecessary interrupt disable

The read/write of the PLX_INTRCS_REG during the driver detach is not
necessary. The rtd_reset() function writes 0 to this register which
will disable all interrupts.

This also fixes a dereference after null check reported by coverity.

Reported-by: coverity (CID 751066)
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: cb_pcidas64: fix possible integer overflow
H Hartley Sweeten [Fri, 20 Feb 2015 19:52:27 +0000 (12:52 -0700)]
staging: comedi: cb_pcidas64: fix possible integer overflow

The {min,max}_scan_divisor values could overflow due to the
unsigned int * insigned int calculation. Change the type of the
local variable 'convert_divisor' to unsigned long long to avoid
the possible overflow.

Reported-by: coverity (CID 200653)
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
9 years agostaging: comedi: ni_labpc_common: fix logically dead code issue
H Hartley Sweeten [Fri, 20 Feb 2015 19:52:26 +0000 (12:52 -0700)]
staging: comedi: ni_labpc_common: fix logically dead code issue

The quick exit check of (mode == MODE_SINGLE_CHAN) results in coverity
reporting a logically dead code issue in the switch code in
labpc_ai_check_chanlist().

Remove the quick exit check and allow the function to handle the
MODE_SINGLE_CHAN normally (the for loop will only happen 1 time and
the function will return 0).

Reported-by: coverity (CID 1222108)
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>