mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 14:02:06 -04:00
Merge tag 'iio-fixes-for-3.11b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
Jonathan writes: Second round of IIO fixes for the 3.11 cycle. 1) Fix a long term race in the IIO trigger handling. This only effects cases where a single trigger is in use by multiple devices. 2) ti_am335x fix an issue with incorrect data due to reading before the sequencer is finished.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
#include <linux/irq.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
#ifndef _IIO_TRIGGER_H_
|
||||
#define _IIO_TRIGGER_H_
|
||||
@@ -61,7 +62,7 @@ struct iio_trigger {
|
||||
|
||||
struct list_head list;
|
||||
struct list_head alloc_list;
|
||||
int use_count;
|
||||
atomic_t use_count;
|
||||
|
||||
struct irq_chip subirq_chip;
|
||||
int subirq_base;
|
||||
|
||||
@@ -113,11 +113,27 @@
|
||||
#define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3)
|
||||
#define CNTRLREG_TSCENB BIT(7)
|
||||
|
||||
/* FIFO READ Register */
|
||||
#define FIFOREAD_DATA_MASK (0xfff << 0)
|
||||
#define FIFOREAD_CHNLID_MASK (0xf << 16)
|
||||
|
||||
/* Sequencer Status */
|
||||
#define SEQ_STATUS BIT(5)
|
||||
|
||||
#define ADC_CLK 3000000
|
||||
#define MAX_CLK_DIV 7
|
||||
#define TOTAL_STEPS 16
|
||||
#define TOTAL_CHANNELS 8
|
||||
|
||||
/*
|
||||
* ADC runs at 3MHz, and it takes
|
||||
* 15 cycles to latch one data output.
|
||||
* Hence the idle time for ADC to
|
||||
* process one sample data would be
|
||||
* around 5 micro seconds.
|
||||
*/
|
||||
#define IDLE_TIMEOUT 5 /* microsec */
|
||||
|
||||
#define TSCADC_CELLS 2
|
||||
|
||||
struct ti_tscadc_dev {
|
||||
|
||||
Reference in New Issue
Block a user