Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 205893
b: refs/heads/master
c: 43c11b4
h: refs/heads/master
i:
  205891: b795793
v: v3
  • Loading branch information
Jonathan Cameron authored and Greg Kroah-Hartman committed Jul 22, 2010
1 parent 5dede7a commit 28e7ecf
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 182 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: ad577f8da9e469a88d24c37a8ec2314c12162256
refs/heads/master: 43c11b4373f6fcaf8ce02ea5ea95d764edd87040
31 changes: 2 additions & 29 deletions trunk/drivers/staging/iio/accel/adis16209_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,34 +147,6 @@ static void adis16209_trigger_bh_to_ring(struct work_struct *work_s)
return;
}

/* in these circumstances is it better to go with unaligned packing and
* deal with the cost?*/
static int adis16209_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count)
/* Timestamp (aligned to s64) and data */
size = (((indio_dev->scan_count * sizeof(s16))
+ sizeof(s64) - 1)
& ~(sizeof(s64) - 1))
+ sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16209_unconfigure_ring(struct iio_dev *indio_dev)
{
kfree(indio_dev->pollfunc);
Expand Down Expand Up @@ -209,7 +181,8 @@ int adis16209_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16209_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
29 changes: 2 additions & 27 deletions trunk/drivers/staging/iio/accel/adis16240_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,32 +139,6 @@ static void adis16240_trigger_bh_to_ring(struct work_struct *work_s)
return;
}

static int adis16240_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count)
/* Timestamp (aligned sizeof(s64) and data */
size = (((indio_dev->scan_count * sizeof(s16))
+ sizeof(s64) - 1)
& ~(sizeof(s64) - 1))
+ sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16240_unconfigure_ring(struct iio_dev *indio_dev)
{
kfree(indio_dev->pollfunc);
Expand Down Expand Up @@ -197,7 +171,8 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16240_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
25 changes: 2 additions & 23 deletions trunk/drivers/staging/iio/accel/lis3l02dq_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,28 +315,6 @@ static void lis3l02dq_trigger_bh_to_ring(struct work_struct *work_s)

return;
}
/* in these circumstances is it better to go with unaligned packing and
* deal with the cost?*/
static int lis3l02dq_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count) /* Timestamp and data */
size = 2*sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

/* Caller responsible for locking as necessary. */
static int
Expand Down Expand Up @@ -543,7 +521,8 @@ int lis3l02dq_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &lis3l02dq_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
29 changes: 2 additions & 27 deletions trunk/drivers/staging/iio/gyro/adis16260_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,32 +142,6 @@ static void adis16260_trigger_bh_to_ring(struct work_struct *work_s)
return;
}

static int adis16260_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count)
/* Timestamp (aligned s64) and data */
size = (((indio_dev->scan_count * sizeof(s16))
+ sizeof(s64) - 1)
& ~(sizeof(s64) - 1))
+ sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16260_unconfigure_ring(struct iio_dev *indio_dev)
{
kfree(indio_dev->pollfunc);
Expand Down Expand Up @@ -199,7 +173,8 @@ int adis16260_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16260_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
26 changes: 2 additions & 24 deletions trunk/drivers/staging/iio/imu/adis16300_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,29 +165,6 @@ static void adis16300_trigger_bh_to_ring(struct work_struct *work_s)

return;
}
/* in these circumstances is it better to go with unaligned packing and
* deal with the cost?*/
static int adis16300_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count) /* Timestamp and data */
size = 4*sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16300_unconfigure_ring(struct iio_dev *indio_dev)
{
Expand Down Expand Up @@ -224,7 +201,8 @@ int adis16300_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16300_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
29 changes: 2 additions & 27 deletions trunk/drivers/staging/iio/imu/adis16350_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,32 +166,6 @@ static void adis16350_trigger_bh_to_ring(struct work_struct *work_s)
return;
}

static int adis16350_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count)
/* Timestamp (aligned sizeof(s64) and data */
size = (((indio_dev->scan_count * sizeof(s16))
+ sizeof(s64) - 1)
& ~(sizeof(s64) - 1))
+ sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16350_unconfigure_ring(struct iio_dev *indio_dev)
{
kfree(indio_dev->pollfunc);
Expand Down Expand Up @@ -229,7 +203,8 @@ int adis16350_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16350_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down
26 changes: 2 additions & 24 deletions trunk/drivers/staging/iio/imu/adis16400_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -174,29 +174,6 @@ static void adis16400_trigger_bh_to_ring(struct work_struct *work_s)

return;
}
/* in these circumstances is it better to go with unaligned packing and
* deal with the cost?*/
static int adis16400_data_rdy_ring_preenable(struct iio_dev *indio_dev)
{
size_t size;
dev_dbg(&indio_dev->dev, "%s\n", __func__);
/* Check if there are any scan elements enabled, if not fail*/
if (!(indio_dev->scan_count || indio_dev->scan_timestamp))
return -EINVAL;

if (indio_dev->ring->access.set_bpd) {
if (indio_dev->scan_timestamp)
if (indio_dev->scan_count) /* Timestamp and data */
size = 6*sizeof(s64);
else /* Timestamp only */
size = sizeof(s64);
else /* Data only */
size = indio_dev->scan_count*sizeof(s16);
indio_dev->ring->access.set_bpd(indio_dev->ring, size);
}

return 0;
}

void adis16400_unconfigure_ring(struct iio_dev *indio_dev)
{
Expand Down Expand Up @@ -236,7 +213,8 @@ int adis16400_configure_ring(struct iio_dev *indio_dev)
indio_dev->ring = ring;
/* Effectively select the ring buffer implementation */
iio_ring_sw_register_funcs(&ring->access);
ring->preenable = &adis16400_data_rdy_ring_preenable;
ring->bpe = 2;
ring->preenable = &iio_sw_ring_preenable;
ring->postenable = &iio_triggered_ring_postenable;
ring->predisable = &iio_triggered_ring_predisable;
ring->owner = THIS_MODULE;
Expand Down

0 comments on commit 28e7ecf

Please sign in to comment.