aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/meter/ade7758_core.c
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-10-26 12:41:36 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-26 19:35:04 -0500
commitc8a9f8056f40f6201b84fdddb49a1c62630902c5 (patch)
treeec883343656925d7f0e88decf16689c4f47b8822 /drivers/staging/iio/meter/ade7758_core.c
parent924f8a21dd13223cc1493a916c6769cf73e0d45e (diff)
staging:iio:treewide only use shared to decide on interfaces
Internally the fact that say scale is shared across channels is actually of remarkably little interest. Hence lets not store it. Numerous devices have weird combinations of channels sharing scale anyway so it is not as though this was really telling us much. Note however that we do still use the shared sysfs attrs thus massively reducing the number of attrs in complex drivers. Side effect is that certain drivers that were abusing this (mostly my work) needed to do a few more checks on what the channel they are being queried on actually is. This is also helpful for in kernel interfaces where we just want to query the scale and don't care whether it is shared with other channels or not. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/meter/ade7758_core.c')
-rw-r--r--drivers/staging/iio/meter/ade7758_core.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c
index 7028e87acb4..839b48b1b48 100644
--- a/drivers/staging/iio/meter/ade7758_core.c
+++ b/drivers/staging/iio/meter/ade7758_core.c
@@ -663,63 +663,63 @@ static const struct attribute_group ade7758_attribute_group = {
663 663
664static struct iio_chan_spec ade7758_channels[] = { 664static struct iio_chan_spec ade7758_channels[] = {
665 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 0, 0, 665 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 0, 0,
666 (1 << IIO_CHAN_INFO_SCALE_SHARED), 666 IIO_CHAN_INFO_SCALE_SHARED_BIT,
667 AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE), 667 AD7758_WT(AD7758_PHASE_A, AD7758_VOLTAGE),
668 0, IIO_ST('s', 24, 32, 0), 0), 668 0, IIO_ST('s', 24, 32, 0), 0),
669 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 0, 0, 669 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 0, 0,
670 (1 << IIO_CHAN_INFO_SCALE_SHARED), 670 IIO_CHAN_INFO_SCALE_SHARED_BIT,
671 AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT), 671 AD7758_WT(AD7758_PHASE_A, AD7758_CURRENT),
672 1, IIO_ST('s', 24, 32, 0), 0), 672 1, IIO_ST('s', 24, 32, 0), 0),
673 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 0, 0, 673 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 0, 0,
674 (1 << IIO_CHAN_INFO_SCALE_SHARED), 674 IIO_CHAN_INFO_SCALE_SHARED_BIT,
675 AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR), 675 AD7758_WT(AD7758_PHASE_A, AD7758_APP_PWR),
676 2, IIO_ST('s', 24, 32, 0), 0), 676 2, IIO_ST('s', 24, 32, 0), 0),
677 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 0, 0, 677 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 0, 0,
678 (1 << IIO_CHAN_INFO_SCALE_SHARED), 678 IIO_CHAN_INFO_SCALE_SHARED_BIT,
679 AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR), 679 AD7758_WT(AD7758_PHASE_A, AD7758_ACT_PWR),
680 3, IIO_ST('s', 24, 32, 0), 0), 680 3, IIO_ST('s', 24, 32, 0), 0),
681 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 0, 0, 681 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 0, 0,
682 (1 << IIO_CHAN_INFO_SCALE_SHARED), 682 IIO_CHAN_INFO_SCALE_SHARED_BIT,
683 AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR), 683 AD7758_WT(AD7758_PHASE_A, AD7758_REACT_PWR),
684 4, IIO_ST('s', 24, 32, 0), 0), 684 4, IIO_ST('s', 24, 32, 0), 0),
685 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 1, 0, 685 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 1, 0,
686 (1 << IIO_CHAN_INFO_SCALE_SHARED), 686 IIO_CHAN_INFO_SCALE_SHARED_BIT,
687 AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE), 687 AD7758_WT(AD7758_PHASE_B, AD7758_VOLTAGE),
688 5, IIO_ST('s', 24, 32, 0), 0), 688 5, IIO_ST('s', 24, 32, 0), 0),
689 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 1, 0, 689 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 1, 0,
690 (1 << IIO_CHAN_INFO_SCALE_SHARED), 690 IIO_CHAN_INFO_SCALE_SHARED_BIT,
691 AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT), 691 AD7758_WT(AD7758_PHASE_B, AD7758_CURRENT),
692 6, IIO_ST('s', 24, 32, 0), 0), 692 6, IIO_ST('s', 24, 32, 0), 0),
693 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 1, 0, 693 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 1, 0,
694 (1 << IIO_CHAN_INFO_SCALE_SHARED), 694 IIO_CHAN_INFO_SCALE_SHARED_BIT,
695 AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR), 695 AD7758_WT(AD7758_PHASE_B, AD7758_APP_PWR),
696 7, IIO_ST('s', 24, 32, 0), 0), 696 7, IIO_ST('s', 24, 32, 0), 0),
697 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 1, 0, 697 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 1, 0,
698 (1 << IIO_CHAN_INFO_SCALE_SHARED), 698 IIO_CHAN_INFO_SCALE_SHARED_BIT,
699 AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR), 699 AD7758_WT(AD7758_PHASE_B, AD7758_ACT_PWR),
700 8, IIO_ST('s', 24, 32, 0), 0), 700 8, IIO_ST('s', 24, 32, 0), 0),
701 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 1, 0, 701 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 1, 0,
702 (1 << IIO_CHAN_INFO_SCALE_SHARED), 702 IIO_CHAN_INFO_SCALE_SHARED_BIT,
703 AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR), 703 AD7758_WT(AD7758_PHASE_B, AD7758_REACT_PWR),
704 9, IIO_ST('s', 24, 32, 0), 0), 704 9, IIO_ST('s', 24, 32, 0), 0),
705 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 2, 0, 705 IIO_CHAN(IIO_VOLTAGE, 0, 1, 0, "raw", 2, 0,
706 (1 << IIO_CHAN_INFO_SCALE_SHARED), 706 IIO_CHAN_INFO_SCALE_SHARED_BIT,
707 AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE), 707 AD7758_WT(AD7758_PHASE_C, AD7758_VOLTAGE),
708 10, IIO_ST('s', 24, 32, 0), 0), 708 10, IIO_ST('s', 24, 32, 0), 0),
709 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 2, 0, 709 IIO_CHAN(IIO_CURRENT, 0, 1, 0, "raw", 2, 0,
710 (1 << IIO_CHAN_INFO_SCALE_SHARED), 710 IIO_CHAN_INFO_SCALE_SHARED_BIT,
711 AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT), 711 AD7758_WT(AD7758_PHASE_C, AD7758_CURRENT),
712 11, IIO_ST('s', 24, 32, 0), 0), 712 11, IIO_ST('s', 24, 32, 0), 0),
713 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 2, 0, 713 IIO_CHAN(IIO_POWER, 0, 1, 0, "apparent_raw", 2, 0,
714 (1 << IIO_CHAN_INFO_SCALE_SHARED), 714 IIO_CHAN_INFO_SCALE_SHARED_BIT,
715 AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR), 715 AD7758_WT(AD7758_PHASE_C, AD7758_APP_PWR),
716 12, IIO_ST('s', 24, 32, 0), 0), 716 12, IIO_ST('s', 24, 32, 0), 0),
717 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 2, 0, 717 IIO_CHAN(IIO_POWER, 0, 1, 0, "active_raw", 2, 0,
718 (1 << IIO_CHAN_INFO_SCALE_SHARED), 718 IIO_CHAN_INFO_SCALE_SHARED_BIT,
719 AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR), 719 AD7758_WT(AD7758_PHASE_C, AD7758_ACT_PWR),
720 13, IIO_ST('s', 24, 32, 0), 0), 720 13, IIO_ST('s', 24, 32, 0), 0),
721 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 2, 0, 721 IIO_CHAN(IIO_POWER, 0, 1, 0, "reactive_raw", 2, 0,
722 (1 << IIO_CHAN_INFO_SCALE_SHARED), 722 IIO_CHAN_INFO_SCALE_SHARED_BIT,
723 AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR), 723 AD7758_WT(AD7758_PHASE_C, AD7758_REACT_PWR),
724 14, IIO_ST('s', 24, 32, 0), 0), 724 14, IIO_ST('s', 24, 32, 0), 0),
725 IIO_CHAN_SOFT_TIMESTAMP(15), 725 IIO_CHAN_SOFT_TIMESTAMP(15),