STRUCT AD_SIGMA_DELTA_INFO(9)
β¨ NAME β¨
okay bestie, welcome to the Kernel API Manual π this one is all about struct ad_sigma_delta_info β Sigma Delta driver specific callbacks and options. it's giving βdriver config bag with main character energyβ and we're obsessed.
π¦ SYNOPSIS π¦
here's the exact struct, no cap:
struct ad_sigma_delta_info {
int (*set_channel)(struct ad_sigma_delta *, unsigned int channel);
int (*append_status)(struct ad_sigma_delta *, bool append);
int (*set_mode)(struct ad_sigma_delta *, enum ad_sigma_delta_mode
mode);
int (*disable_all)(struct ad_sigma_delta *);
int (*disable_one)(struct ad_sigma_delta *, unsigned int chan);
int (*postprocess_sample)(struct ad_sigma_delta *, unsigned int
raw_sample);
bool has_registers;
bool has_named_irqs;
bool supports_spi_offload;
unsigned int addr_shift;
unsigned int read_mask;
unsigned int status_ch_mask;
unsigned int data_reg;
unsigned long irq_flags;
unsigned int num_slots;
unsigned int num_resetclks;
};
π Members π
okay so member by member, here's the vibe check π
set_channelβ Will be called to select the current channel, may beNULL. πappend_statusβ Will be called to enable status append at the end of the sample, may beNULL. π«Άset_modeβ Will be called to select the current mode, may beNULL. β¨disable_allβ Will be called to disable all channels, may beNULL. π§disable_oneβ Will be called to disable a single channel afterad_sigma_delta_single_conversion, may beNULL. Usage of this callback expectsiio_chan_spec.addressto contain the value required for the driver to identify the channel. π₯postprocess_sampleβ Is called for each sampled data word, can be used to modify or drop the sample data, it may beNULL. πhas_registersβtrueif the device has writable and readable registers,falseif there is just one read-only sample data shift register. π¦has_named_irqsβ Set totrueif there is more than one IRQ line. πsupports_spi_offloadβ Set totrueif the driver supports SPI offload. Often special considerations are needed forscan_typeand other channel info, so individual drivers have to set this to let the core code know that it can use SPI offload if it is available. βaddr_shiftβ Shift of the register address in the communications register. πread_maskβ Mask for the communications register having the read bit set. πstatus_ch_maskβ Mask for the channel number stored in status register. πΈdata_regβ Address of the data register, if0the default address of0x3will be used. πirq_flagsβ flags for the interrupt used by the triggered buffer. πnum_slotsβ Number of sequencer slots. πnum_resetclksβ Number of SPI clk cycles withMOSI=1to reset the chip. π
π SEE ALSO π
- Kernel file
./include/linux/iio/adc/ad_sigma_delta.h struct ad_sigma_delta(9)
catch you in the kernel, bestie π«Ά this page comes from the source/version corner ./include/linux/iio/adc, dated October 2026, and it's literally all about struct ad_sigma_delta_info(9) πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms