STRUCT TUNER_SETUP(9)
π struct tuner_setup(9) π
okay bestie, welcome to the Kernel API Manual page for struct tuner_setup(9) β literally the setup page for tuner chipsets, and yes we're gonna make it make sense π«Ά
β¨ NAME β¨
struct tuner_setup β setup the tuner chipsets π
πΈ SYNOPSIS πΈ
struct tuner_setup {
unsigned short addr;
unsigned int type;
unsigned int mode_mask;
void *config;
int (*tuner_callback)(void *dev, int component, int cmd, int arg);
};
π«Ά Members π«Ά
addrβ the I2C address used to control the tuner device/chipset. slay, that's literally its whole job πtypeβ the type of the tuner, as defined at theTUNER_*macros. every different tuner model should have its own unique identifier, fr fr π¦mode_maskβ a mask with the allowed tuner modes:V4L2_TUNER_RADIO,V4L2_TUNER_ANALOG_TVand/orV4L2_TUNER_DIGITAL_TV, describing if the tuner should be used to support Radio, analog TV and/or digital TV πconfigβ used to send tuner-specific configuration for complex tuners that require extra parameters to be set.
β οΈ only a very few tuners require it, and its usage on newer tuners should be avoided. like, do not make this a habit bestie π
tuner_callbackβ some tuners require calling back the bridge driver, in order to do some tasks like rising a GPIO at the bridge chipset, in order to do things like resetting the device π
π Description π
older boards only had a single tuner device. nowadays multiple tuner devices may be present on a single board. using TUNER_SET_TYPE_ADDR to pass the tuner_setup structure, it is possible to setup each tuner device in turn β¨
since multiple devices may be present, it is no longer sufficient to send a command to a single i2c device. instead you should broadcast the command to all i2c devices. periodt π£
by setting the mode_mask correctly you can select which commands are accepted by a specific tuner device. for example, set mode_mask to T_RADIO if the device is a radio-only tuner. that specific tuner will only accept commands when the tuner is in radio mode and ignore them when the tuner is set to TV mode π
π¦ SEE ALSO π¦
kernel file ./include/media/tuner.h and enum tuner_mode(9) β go check them out, iykyk π
mwah π β this page's source/version is ./include/media, and it's dated October 2026. bye bestie, go tune those chipsets! ππ₯
π¦ 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