Advertisement
Guest User

Untitled

a guest
Dec 6th, 2012
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. static int axonSPI_getSingleFPGARegister(struct axonSPI_device* axonSPI, uint16_t card, uint16_t reg, uint16_t* data)
  2. {
  3.  
  4. int status;
  5.  
  6. struct axonSPI_control *ctlData = &axonSPI_ctl[cards[card].bus];
  7.  
  8. axonSPI_setSingleFPGARegister(axonSPI, card, reg);
  9.  
  10. spi_message_init(&ctlData->msg);
  11.  
  12. memset(ctlData->rx_buff, 0, 2);
  13.  
  14. ctlData->transfer.tx_buf = NULL;
  15. ctlData->transfer.rx_buf = ctlData->rx_buff;
  16. ctlData->transfer.len = 2;
  17.  
  18. spi_message_add_tail(&ctlData->transfer, &ctlData->msg);
  19.  
  20. gpio_set_value(cards[card].readLatch, 0);
  21.  
  22. axonSPI->spi_device->mode = SPI_MODE_1;
  23.  
  24. status = spi_setup(axonSPI->spi_device);
  25.  
  26. status = spi_sync(axonSPI->spi_device, &ctlData->msg);
  27.  
  28. gpio_set_value(cards[card].readLatch, 1);
  29.  
  30. printk(KERN_ALERT "SPI Read: Card: %d, Reg: %d, Val: 0x%04X \n", card, reg, ctlData->rx_buff[0]);
  31.  
  32. status = copy_to_user(data, &(ctlData->rx_buff[0]), 2);
  33.  
  34. if (status < 0)
  35. {
  36.  
  37. printk(KERN_ALERT "Copy to user failed in get single FPGA register\n");
  38.  
  39. }
  40.  
  41. return status;
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement