drivers/platform/x86/fujitsu-laptop.c
Source file repositories/reference/linux-study-clean/drivers/platform/x86/fujitsu-laptop.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/platform/x86/fujitsu-laptop.c- Extension
.c- Size
- 32425 bytes
- Lines
- 1198
- Domain
- Driver Families
- Bucket
- drivers/platform
- Inferred role
- Driver Families: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/module.hlinux/kernel.hlinux/init.hlinux/acpi.hlinux/bitops.hlinux/dmi.hlinux/backlight.hlinux/input.hlinux/input/sparse-keymap.hlinux/kfifo.hlinux/leds.hlinux/platform_device.hlinux/power_supply.hacpi/battery.hacpi/video.h
Detected Declarations
struct fujitsu_blstruct fujitsu_laptopfunction call_fext_funcfunction charge_control_end_threshold_storefunction charge_control_end_threshold_showfunction fujitsu_battery_add_hookfunction fujitsu_battery_remove_hookfunction fujitsu_battery_charge_control_addfunction fujitsu_battery_charge_control_removefunction set_lcd_levelfunction get_lcd_levelfunction get_max_brightnessfunction bl_get_brightnessfunction bl_update_statusfunction lid_showfunction dock_showfunction radios_showfunction acpi_fujitsu_bl_input_setupfunction fujitsu_backlight_registerfunction acpi_fujitsu_bl_notifyfunction acpi_fujitsu_bl_probefunction acpi_fujitsu_bl_removefunction fujitsu_laptop_dmi_keymap_overridefunction acpi_fujitsu_laptop_input_setupfunction fujitsu_laptop_platform_addfunction fujitsu_laptop_platform_removefunction logolamp_setfunction logolamp_getfunction kblamps_setfunction kblamps_getfunction radio_led_setfunction radio_led_getfunction eco_led_setfunction eco_led_getfunction acpi_fujitsu_laptop_leds_registerfunction acpi_fujitsu_laptop_pressfunction acpi_fujitsu_laptop_releasefunction acpi_fujitsu_laptop_notifyfunction hotkeyfunction acpi_fujitsu_laptop_probefunction acpi_video_get_backlight_typefunction acpi_fujitsu_laptop_removefunction fujitsu_initfunction fujitsu_cleanupmodule init fujitsu_init
Annotated Snippet
module_init(fujitsu_init);
module_exit(fujitsu_cleanup);
module_param(use_alt_lcd_levels, int, 0644);
MODULE_PARM_DESC(use_alt_lcd_levels, "Interface used for setting LCD brightness level (-1 = auto, 0 = force SBLL, 1 = force SBL2)");
module_param(disable_brightness_adjust, bool, 0644);
MODULE_PARM_DESC(disable_brightness_adjust, "Disable LCD brightness adjustment");
MODULE_AUTHOR("Jonathan Woithe, Peter Gruber, Tony Vroon");
MODULE_DESCRIPTION("Fujitsu laptop extras support");
MODULE_VERSION(FUJITSU_DRIVER_VERSION);
MODULE_LICENSE("GPL");
Annotation
- Immediate include surface: `linux/module.h`, `linux/kernel.h`, `linux/init.h`, `linux/acpi.h`, `linux/bitops.h`, `linux/dmi.h`, `linux/backlight.h`, `linux/input.h`.
- Detected declarations: `struct fujitsu_bl`, `struct fujitsu_laptop`, `function call_fext_func`, `function charge_control_end_threshold_store`, `function charge_control_end_threshold_show`, `function fujitsu_battery_add_hook`, `function fujitsu_battery_remove_hook`, `function fujitsu_battery_charge_control_add`, `function fujitsu_battery_charge_control_remove`, `function set_lcd_level`.
- Atlas domain: Driver Families / drivers/platform.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.