cregit-Linux how code gets into the kernel

Release 4.7 drivers/iio/common/ssp_sensors/ssp_iio_sensor.h

#ifndef __SSP_IIO_SENSOR_H__

#define __SSP_IIO_SENSOR_H__


#define SSP_CHANNEL_AG(_type, _mod, _index) \
{ \
                .type = _type,\
                .modified = 1,\
                .channel2 = _mod,\
                .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ),\
                .scan_index = _index,\
                .scan_type = {\
                        .sign = 's',\
                        .realbits = 16,\
                        .storagebits = 16,\
                        .shift = 0,\
                        .endianness = IIO_LE,\
                },\
}

/* It is defined here as it is a mixed timestamp */

#define SSP_CHAN_TIMESTAMP(_si) {                                       \
        .type = IIO_TIMESTAMP,                                          \
        .channel = -1,                                                  \
        .scan_index = _si,                                              \
        .scan_type = {                                                  \
                .sign = 's',                                            \
                .realbits = 64,                                         \
                .storagebits = 64,                                      \
                },                                                      \
}


#define SSP_MS_PER_S			1000

#define SSP_INVERTED_SCALING_FACTOR	1000000U


#define SSP_FACTOR_WITH_MS \
	(SSP_INVERTED_SCALING_FACTOR * SSP_MS_PER_S)

int ssp_common_buffer_postenable(struct iio_dev *indio_dev);

int ssp_common_buffer_postdisable(struct iio_dev *indio_dev);

int ssp_common_process_data(struct iio_dev *indio_dev, void *buf,
			    unsigned int len, int64_t timestamp);

/* Converts time in ms to frequency */

static inline void ssp_convert_to_freq(u32 time, int *integer_part, int *fractional) { if (time == 0) { *fractional = 0; *integer_part = 0; return; } *integer_part = SSP_FACTOR_WITH_MS / time; *fractional = *integer_part % SSP_INVERTED_SCALING_FACTOR; *integer_part = *integer_part / SSP_INVERTED_SCALING_FACTOR; }

Contributors

PersonTokensPropCommitsCommitProp
karol wronakarol wrona5185.00%150.00%
jonathan cameronjonathan cameron915.00%150.00%
Total60100.00%2100.00%

/* Converts frequency to time in ms */
static inline int ssp_convert_to_time(int integer_part, int fractional) { u64 value; value = (u64)integer_part * SSP_INVERTED_SCALING_FACTOR + fractional; if (value == 0) return 0; return div64_u64((u64)SSP_FACTOR_WITH_MS, value); }

Contributors

PersonTokensPropCommitsCommitProp
karol wronakarol wrona4085.11%150.00%
jonathan cameronjonathan cameron714.89%150.00%
Total47100.00%2100.00%

#endif /* __SSP_IIO_SENSOR_H__ */

Overall Contributors

PersonTokensPropCommitsCommitProp
karol wronakarol wrona17291.01%150.00%
jonathan cameronjonathan cameron178.99%150.00%
Total189100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}