Compare commits
11 Commits
78ede46c30
...
f01bffda3c
| Author | SHA1 | Date |
|---|---|---|
|
|
f01bffda3c | |
|
|
0f05296eb7 | |
|
|
39639cdc81 | |
|
|
5c774d6f2a | |
|
|
0a540a9bd2 | |
|
|
341bcde2d2 | |
|
|
99a2a5305c | |
|
|
ec10d1df1e | |
|
|
da04fd65dc | |
|
|
8c2ff2142c | |
|
|
00928e38ca |
|
|
@ -0,0 +1,7 @@
|
||||||
|
*.cmd
|
||||||
|
*.ko
|
||||||
|
*.o
|
||||||
|
*.mod
|
||||||
|
*.mod.c
|
||||||
|
Module.symvers
|
||||||
|
modules.order
|
||||||
|
|
@ -1,3 +1,21 @@
|
||||||
|
system76-dkms (1.0.17) focal; urgency=medium
|
||||||
|
|
||||||
|
* Fix building on Linux 6.12
|
||||||
|
|
||||||
|
-- Tim Crawford <tcrawford@system76.com> Fri, 20 Dec 2024 08:43:43 -0700
|
||||||
|
|
||||||
|
system76-dkms (1.0.16) focal; urgency=medium
|
||||||
|
|
||||||
|
* Fix build with Linux 6.11
|
||||||
|
|
||||||
|
-- Jeremy Soller <jeremy@system76.com> Thu, 10 Oct 2024 13:57:05 -0600
|
||||||
|
|
||||||
|
system76-dkms (1.0.15) focal; urgency=medium
|
||||||
|
|
||||||
|
* Fix bonw13 backlight control
|
||||||
|
|
||||||
|
-- Tim Crawford <tcrawford@system76.com> Wed, 12 Jun 2024 14:47:40 -0600
|
||||||
|
|
||||||
system76-dkms (1.0.14) focal; urgency=medium
|
system76-dkms (1.0.14) focal; urgency=medium
|
||||||
|
|
||||||
* Add kudu6
|
* Add kudu6
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
9
|
10
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ Priority: optional
|
||||||
Maintainer: Jeremy Soller <jeremy@system76.com>
|
Maintainer: Jeremy Soller <jeremy@system76.com>
|
||||||
Build-Depends:
|
Build-Depends:
|
||||||
debhelper (>=9),
|
debhelper (>=9),
|
||||||
|
dh-sequence-dkms,
|
||||||
dkms
|
dkms
|
||||||
Standards-Version: 4.1.1
|
Standards-Version: 4.1.1
|
||||||
Homepage: https://github.com/pop-os/system76-dkms
|
Homepage: https://github.com/pop-os/system76-dkms
|
||||||
|
|
|
||||||
31
system76.c
31
system76.c
|
|
@ -110,13 +110,24 @@ static int s76_wmbb(u32 method_id, u32 arg, u32 *retval) {
|
||||||
#include "system76_hwmon.c"
|
#include "system76_hwmon.c"
|
||||||
#include "system76_nv_hda.c"
|
#include "system76_nv_hda.c"
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,12,0)
|
||||||
|
static void s76_wmi_notify(union acpi_object *obj, void *context) {
|
||||||
|
#else
|
||||||
static void s76_wmi_notify(u32 value, void *context) {
|
static void s76_wmi_notify(u32 value, void *context) {
|
||||||
|
#endif
|
||||||
u32 event;
|
u32 event;
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,12,0)
|
||||||
|
if (obj->type != ACPI_TYPE_INTEGER) {
|
||||||
|
S76_DEBUG("Unexpected WMI event (%0#6x)\n", obj);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (value != 0xD0) {
|
if (value != 0xD0) {
|
||||||
S76_DEBUG("Unexpected WMI event (%0#6x)\n", value);
|
S76_DEBUG("Unexpected WMI event (%0#6x)\n", value);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
s76_wmbb(GET_EVENT, 0, &event);
|
s76_wmbb(GET_EVENT, 0, &event);
|
||||||
|
|
||||||
|
|
@ -224,7 +235,11 @@ static int __init s76_probe(struct platform_device *dev) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,11,0)
|
||||||
|
static void s76_remove(struct platform_device *dev) {
|
||||||
|
#else
|
||||||
static int s76_remove(struct platform_device *dev) {
|
static int s76_remove(struct platform_device *dev) {
|
||||||
|
#endif
|
||||||
wmi_remove_notify_handler(S76_EVENT_GUID);
|
wmi_remove_notify_handler(S76_EVENT_GUID);
|
||||||
|
|
||||||
nv_hda_exit();
|
nv_hda_exit();
|
||||||
|
|
@ -243,7 +258,9 @@ static int s76_remove(struct platform_device *dev) {
|
||||||
ap_led_exit();
|
ap_led_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LINUX_VERSION_CODE < KERNEL_VERSION(6,11,0)
|
||||||
return 0;
|
return 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int s76_suspend(struct platform_device *dev, pm_message_t status) {
|
static int s76_suspend(struct platform_device *dev, pm_message_t status) {
|
||||||
|
|
@ -295,6 +312,17 @@ static int __init s76_dmi_matched(const struct dmi_system_id *id) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define DMI_TABLE_LEGACY(PRODUCT, DATA) { \
|
||||||
|
.ident = "System76 " PRODUCT, \
|
||||||
|
.matches = { \
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "System76"), \
|
||||||
|
DMI_MATCH(DMI_PRODUCT_VERSION, PRODUCT), \
|
||||||
|
DMI_MATCH(DMI_BIOS_VENDOR, "System76"), \
|
||||||
|
}, \
|
||||||
|
.callback = s76_dmi_matched, \
|
||||||
|
.driver_data = (void *)(uint64_t)0, \
|
||||||
|
}
|
||||||
|
|
||||||
#define DMI_TABLE(PRODUCT, DATA) { \
|
#define DMI_TABLE(PRODUCT, DATA) { \
|
||||||
.ident = "System76 " PRODUCT, \
|
.ident = "System76 " PRODUCT, \
|
||||||
.matches = { \
|
.matches = { \
|
||||||
|
|
@ -306,9 +334,10 @@ static int __init s76_dmi_matched(const struct dmi_system_id *id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct dmi_system_id s76_dmi_table[] __initdata = {
|
static struct dmi_system_id s76_dmi_table[] __initdata = {
|
||||||
|
DMI_TABLE_LEGACY("bonw13", DRIVER_HWMON | DRIVER_KB_LED),
|
||||||
DMI_TABLE("addw1", DRIVER_AP_LED | DRIVER_KB_LED | DRIVER_OLED),
|
DMI_TABLE("addw1", DRIVER_AP_LED | DRIVER_KB_LED | DRIVER_OLED),
|
||||||
DMI_TABLE("addw2", DRIVER_AP_LED | DRIVER_KB_LED | DRIVER_OLED),
|
DMI_TABLE("addw2", DRIVER_AP_LED | DRIVER_KB_LED | DRIVER_OLED),
|
||||||
DMI_TABLE("bonw13", DRIVER_HWMON | DRIVER_KB_LED),
|
DMI_TABLE("bonw15-b", DRIVER_HWMON | DRIVER_KB_LED),
|
||||||
DMI_TABLE("darp5", DRIVER_AP_LED | DRIVER_HWMON | DRIVER_KB_LED),
|
DMI_TABLE("darp5", DRIVER_AP_LED | DRIVER_HWMON | DRIVER_KB_LED),
|
||||||
DMI_TABLE("darp6", DRIVER_AP_LED | DRIVER_HWMON | DRIVER_KB_LED),
|
DMI_TABLE("darp6", DRIVER_AP_LED | DRIVER_HWMON | DRIVER_KB_LED),
|
||||||
DMI_TABLE("galp2", DRIVER_HWMON),
|
DMI_TABLE("galp2", DRIVER_HWMON),
|
||||||
|
|
|
||||||
|
|
@ -333,4 +333,6 @@ static void kb_wmi_color(void) {
|
||||||
for (region = 0; region < sizeof(kb_led_regions)/sizeof(union kb_led_color); region++) {
|
for (region = 0; region < sizeof(kb_led_regions)/sizeof(union kb_led_color); region++) {
|
||||||
kb_led_color_set(region, kb_led_colors[kb_led_colors_i]);
|
kb_led_color_set(region, kb_led_colors[kb_led_colors_i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
led_classdev_notify_brightness_hw_changed(&kb_led, kb_led_brightness);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue