skl_int3472...io_resources(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ skl_int3472...io_resources(9) ✨

okay so bestie, we're in the Kernel API Manual today and this one is a whole vibe β€” it's the page for skl_int3472_handle_gpio_resources, and honestly it's giving "small function, big responsibilities" πŸŽ€


πŸ’– NAME πŸ’–

skl_int3472_handle_gpio_resources β€” maps PMIC resources to the consuming sensor 🫢


🌸 SYNOPSIS 🌸

int skl_int3472_handle_gpio_resources (struct acpi_resource *ares , void
*data );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • ares β€” a pointer to a struct acpi_resource ✨ like, that's the resource we're looking at rn
  • data β€” a pointer to a struct int3472_discrete_device πŸ’… the device context, our main character

πŸ‘‘ DESCRIPTION πŸ‘‘

so this function handles GPIO resources that are against an INT3472 ACPI device β€” and the way it does that is by checking the value of the corresponding _DSM entry πŸ”₯ It returns a 32bit int, and the lowest byte is the part that matters, because that's the function of the GPIO pin:

  • 0x00 β€” Reset
  • 0x01 β€” Power down
  • 0x02 β€” Strobe
  • 0x0b β€” Power enable
  • 0x0c β€” Clock enable
  • 0x0d β€” Privacy LED
  • 0x10 β€” DOVDD (digital I/O voltage)
  • 0x13 β€” Hotplug detect

ngl though, there are some known platform specific quirks where that does not quite hold up 😭 for example, there's a case where a pin with type 0x01 (Power down) is mapped to a sensor pin that performs a reset function, and also entries in _CRS and _DSM that do not actually correspond to a physical connection πŸ™ˆ These get handled by the mapping sub-functions, so don't stress β€” it's handled.

and the GPIOs themselves? they'll either be mapped directly to the sensor device, or else used to create clocks and regulators via the usual frameworks πŸ’« either way, slay.


⭐ RETURN ⭐

  • 1 β€” continue the loop without adding a copy of the resource to the list passed to acpi_dev_get_resources
  • 0 β€” continue the loop after adding a copy of the resource to the list passed to acpi_dev_get_resources
  • -errno β€” error, break loop πŸ’€

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/platform/x86/intel/int3472/discrete.c
  • struct int3472_gpio_map(9)

and that's the whole page bestie, no cap 🧚 from ./drivers/platform/x86/intel/i... β€” the October 2026 edition, with all the copyright and license vibes living in that source path. mwah πŸ’‹ periodt πŸ’œ

πŸ“¦ where this page comes from