Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 141457
b: refs/heads/master
c: f8db88e
h: refs/heads/master
i:
  141455: b56469e
v: v3
  • Loading branch information
Frank Mori Hess authored and Greg Kroah-Hartman committed Apr 3, 2009
1 parent f5ba00c commit 31dab22
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 75c794f0d2ebafd0ed86232b361762dc5d837131
refs/heads/master: f8db88ef1f173bfc81afe244f4e6ff00d3e025e4
12 changes: 11 additions & 1 deletion trunk/drivers/staging/comedi/drivers/ni_pcimio.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ SCXI is probably broken for m-series boards.

#include "../comedidev.h"

#include <asm/byteorder.h>
#include <linux/delay.h>

#include "ni_stc.h"
Expand Down Expand Up @@ -1526,6 +1527,8 @@ static void m_series_init_eeprom_buffer(comedi_device * dev)
{
static const int Start_Cal_EEPROM = 0x400;
static const unsigned window_size = 10;
static const int serial_number_eeprom_offset = 0x4;
static const int serial_number_eeprom_length = 0x4;
unsigned old_iodwbsr_bits;
unsigned old_iodwbsr1_bits;
unsigned old_iodwcr1_bits;
Expand All @@ -1537,9 +1540,16 @@ static void m_series_init_eeprom_buffer(comedi_device * dev)
writel(0x0, devpriv->mite->mite_io_addr + MITE_IODWBSR);
writel(((0x80 | window_size) | devpriv->mite->daq_phys_addr),
devpriv->mite->mite_io_addr + MITE_IODWBSR_1);
writel(0x0, devpriv->mite->mite_io_addr + MITE_IODWCR_1);
writel(0x1 | old_iodwcr1_bits, devpriv->mite->mite_io_addr + MITE_IODWCR_1);
writel(0xf, devpriv->mite->mite_io_addr + 0x30);

BUG_ON(serial_number_eeprom_length > sizeof(devpriv->serial_number));
for (i = 0; i < serial_number_eeprom_length; ++i) {
char *byte_ptr = (char*)&devpriv->serial_number + i;
*byte_ptr = ni_readb(serial_number_eeprom_offset + i);
}
devpriv->serial_number = be32_to_cpu(devpriv->serial_number);

for (i = 0; i < M_SERIES_EEPROM_SIZE; ++i) {
devpriv->eeprom_buffer[i] = ni_readb(Start_Cal_EEPROM + i);
}
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/staging/comedi/drivers/ni_stc.h
Original file line number Diff line number Diff line change
Expand Up @@ -1484,6 +1484,7 @@ typedef struct ni_board_struct {
\
sampl_t ai_fifo_buffer[0x2000]; \
uint8_t eeprom_buffer[M_SERIES_EEPROM_SIZE]; \
uint32_t serial_number; \
\
struct mite_struct *mite; \
struct mite_channel *ai_mite_chan; \
Expand Down

0 comments on commit 31dab22

Please sign in to comment.