summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorH Hartley Sweeten <hartleys@visionengravers.com>2012-10-29 17:08:00 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-30 10:50:14 -0700
commit7e8ab68fa82904b8de8caee9007d9208642d50f7 (patch)
tree1f9b296405c163c03619f59b20b0371f9c2532c7 /drivers
parentef4e05f0c881a8a1152ac6f2e24ed0bccc41d045 (diff)
staging: comedi: addi_eeprom: cleanup i_EepromReadDigitalOutputHeader()
Add namespace by renaming this CamelCase function to addi_eeprom_read_do_info(). Refactor the function so that it stores the data from the eeprom directly in the private data instead of using the a struct to pass the data back to i_EepromReadMainHeader(). This allows removing the str_DigitalOutputHeader struct. The return value is always 0 and it's never checked. Change it to void. 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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/comedi/drivers/addi-data/addi_eeprom.c35
1 files changed, 13 insertions, 22 deletions
diff --git a/drivers/staging/comedi/drivers/addi-data/addi_eeprom.c b/drivers/staging/comedi/drivers/addi-data/addi_eeprom.c
index 438968c261fd..b5f42ec2e712 100644
--- a/drivers/staging/comedi/drivers/addi-data/addi_eeprom.c
+++ b/drivers/staging/comedi/drivers/addi-data/addi_eeprom.c
@@ -66,10 +66,6 @@ You should also find the complete GPL in the COPYING file accompanying this sour
#define EEPROM_WATCHDOG 5
#define EEPROM_TIMER_WATCHDOG_COUNTER 10
-struct str_DigitalOutputHeader {
- unsigned short w_Nchannel;
-};
-
/* used for timer as well as watchdog */
struct str_TimerDetails {
unsigned short w_HeaderSize;
@@ -246,15 +242,19 @@ static void addi_eeprom_read_di_info(struct comedi_device *dev,
tmp = addi_eeprom_readw(iobase, type, addr + 10);
}
-static int i_EepromReadDigitalOutputHeader(unsigned long iobase,
- char *type,
- unsigned short w_Address,
- struct str_DigitalOutputHeader *s_Header)
+static void addi_eeprom_read_do_info(struct comedi_device *dev,
+ unsigned long iobase,
+ char *type,
+ unsigned short addr)
{
- /* Read Nbr channels */
- s_Header->w_Nchannel = addi_eeprom_readw(iobase, type,
- w_Address + 6);
- return 0;
+ struct addi_private *devpriv = dev->private;
+ unsigned short tmp;
+
+ /* Number of channels */
+ tmp = addi_eeprom_readw(iobase, type, addr + 6);
+ devpriv->s_EeParameters.i_NbrDoChannel = tmp;
+
+ devpriv->s_EeParameters.i_DoMaxdata = 0xffffffff >> (32 - tmp);
}
#if 0
@@ -360,7 +360,6 @@ static int i_EepromReadMainHeader(unsigned long iobase,
const struct addi_board *this_board = comedi_board(dev);
struct addi_private *devpriv = dev->private;
unsigned int ui_Temp;
- struct str_DigitalOutputHeader s_DigitalOutputHeader;
/* struct str_TimerMainHeader s_TimerMainHeader,s_WatchdogMainHeader; */
struct str_AnalogOutputHeader s_AnalogOutputHeader;
struct str_AnalogInputHeader s_AnalogInputHeader;
@@ -386,15 +385,7 @@ static int i_EepromReadMainHeader(unsigned long iobase,
break;
case EEPROM_DIGITALOUTPUT:
- i_EepromReadDigitalOutputHeader(iobase, type, addr,
- &s_DigitalOutputHeader);
-
- devpriv->s_EeParameters.i_NbrDoChannel =
- s_DigitalOutputHeader.w_Nchannel;
- ui_Temp = 0xffffffff;
- devpriv->s_EeParameters.i_DoMaxdata =
- ui_Temp >> (32 -
- devpriv->s_EeParameters.i_NbrDoChannel);
+ addi_eeprom_read_do_info(dev, iobase, type, addr);
break;
case EEPROM_ANALOGINPUT: