STRUCT SAMSUNG_PIN_BANK(9)
β¨ NAME β¨
okay bestie, welcome to the Kernel API Manual page for struct samsung_pin_bank(9) β yes, the whole entry is about one struct and it is lowkey iconic π«Ά. The name tea is: struct samsung_pin_bank β represent a controller pin-bank. Thatβs the name section, and it ate π
β¨.
πΈ SYNOPSIS πΈ
Here is the full struct, copied exactly because we do not play about code blocks, bestie:
struct samsung_pin_bank {
const struct samsung_pin_bank_type *type;
void __iomem *pctl_base;
u32 pctl_offset;
u8 nr_pins;
void __iomem *eint_base;
u8 eint_func;
enum eint_type eint_type;
u32 eint_mask;
u32 eint_offset;
u32 eint_num;
u32 eint_con_offset;
u32 eint_mask_offset;
u32 eint_pend_offset;
u32 eint_fltcon_offset;
const char *name;
u32 id;
u32 pin_base;
void *soc_priv;
struct fwnode_handle *fwnode;
struct samsung_pinctrl_drv_data *drvdata;
struct irq_domain *irq_domain;
struct gpio_chip gpio_chip;
struct pinctrl_gpio_range grange;
struct exynos_irq_chip *irq_chip;
raw_spinlock_t slock;
u32 pm_save[PINCFG_TYPE_NUM + 1];
};
π Members π
quick heads-up: fwnode is chilling in the struct synopsis up there, but the original member notes donβt give it a separate description, so Iβm not gonna invent extra lore π.
typeβ type of the bank (register offsets and bitfield widths). Itβs giving blueprint energy π§.pctl_baseβ base address of the pin-bank registers. Address anchor moment π.pctl_offsetβ starting offset of the pin-bank registers.nr_pinsβ number of pins included in this bank. Count βem π .eint_baseβ base address of the pin-bank EINT registers.eint_funcβ function to set in CON register to configure pin as EINT.eint_typeβ type of the external interrupt supported by the bank.eint_maskβ bit mask of pins which support EINT function.eint_offsetβ SoC-specific EINT register or interrupt offset of bank.eint_numβ total number of eint pins.eint_con_offsetβ ExynosAuto SoC-specific EINT register or interrupt offset of bank.eint_mask_offsetβ ExynosAuto SoC-specific EINT mask register offset of bank.eint_pend_offsetβ ExynosAuto SoC-specific EINT pend register offset of bank.eint_fltcon_offsetβ GS101 SoC-specific EINT filter config register offset.nameβ name to be prefixed for each pin in this pin bank. Cute little name-prefix situation π.idβ id of the bank, propagated to the pin range.pin_baseβ starting pin number of the bank.soc_privβ per-bank private data for SoC-specific code.drvdataβ link to controller driver data.irq_domainβ IRQ domain of the bank.gpio_chipβ GPIO chip of the bank.grangeβ linux gpio pin range supported by this bank.irq_chipβ link to irq chip for external gpio and wakeup interrupts.slockβ spinlock protecting bank registers.pm_saveβ saved register values during suspend.
π₯ SEE ALSO π₯
Kernel file ./drivers/pinctrl/samsung/pinctrl-samsung.h enum pincfg_type(9), enum eint_type(9), struct samsung_pin_bank_type(9), struct samsung_pin_bank_data(9), struct samsung_retention_data(9), struct samsung_pin_ctrl(9), struct samsung_pinctrl_drv_data(9), struct samsung_pinctrl_of_match_data(9), struct samsung_pin_group(9), struct samsung_pmx_func(9).
signed off with love from source ./drivers/pinctrl/samsung, dated October 2026 β thatβs the footer tea, bestie πβ¨
π¦ 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