• Srinivas Pandruvada's avatar
    iio:core: Handle error when mask type is not separate · 78b33216
    Srinivas Pandruvada authored
    When event spec is shared by multiple channels, which has definition
    for mask_shared_by_type, iio_device_register_eventset fails.
    
    For example:
    static const struct iio_event_spec iio_dummy_events[] = {
    	{
    		.type = IIO_EV_TYPE_THRESH,
    		.dir = IIO_EV_DIR_RISING,
    		.mask_separate = BIT(IIO_EV_INFO_ENABLE),
    		.mask_shared_by_type = BIT(IIO_EV_INFO_VALUE),
    	}, {
    		.type = IIO_EV_TYPE_THRESH,
    		.dir = IIO_EV_DIR_FALLING,
    		.mask_separate = BIT(IIO_EV_INFO_ENABLE),a
    		.mask_shared_by_type = BIT(IIO_EV_INFO_VALUE),
    	}
    };
    
    If two channels use this event spec, this will result in error.
    
    This change handles EBUSY error similar to iio_device_add_info_mask_type().
    Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
    Cc: Stable@vger.kernel.org
    78b33216
industrialio-event.c 13.2 KB