linux-next: manual merge of the drivers-x86 tree with the hid tree

Mark Brown posted 1 patch 1 week, 3 days ago
There is a newer version of this series
linux-next: manual merge of the drivers-x86 tree with the hid tree
Posted by Mark Brown 1 week, 3 days ago
Hi all,

Today's linux-next merge of the drivers-x86 tree got a conflict in:

  drivers/hid/hid-asus.c

between commits:

  f631011e36b87 ("HID: hid-asus: Implement fn lock for Asus ProArt P16")
  06501b557faec ("HID: asus: Replace magic number with HID_UP_ASUSVENDOR constant")

from the hid tree and commits:

  3415a1beb3d87 ("HID: asus: initialize additional endpoints only for certain devices")
  8baca948f6aad ("HID: asus: move vendor initialization to probe")

from the drivers-x86 tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc drivers/hid/hid-asus.c
index df7c03dde67fa,f5c8df20b88bf..0000000000000
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@@ -101,7 -90,7 +101,8 @@@ MODULE_DESCRIPTION("Asus HID Keyboard a
  #define QUIRK_ROG_NKEY_KEYBOARD		BIT(11)
  #define QUIRK_ROG_CLAYMORE_II_KEYBOARD BIT(12)
  #define QUIRK_ROG_ALLY_XPAD		BIT(13)
 -#define QUIRK_ROG_NKEY_ID1ID2_INIT		BIT(14)
 +#define QUIRK_HID_FN_LOCK		BIT(14)
++#define QUIRK_ROG_NKEY_ID1ID2_INIT		BIT(15)
  
  #define I2C_KEYBOARD_QUIRKS			(QUIRK_FIX_NOTEBOOK_REPORT | \
  						 QUIRK_NO_INIT_REPORTS | \
@@@ -1490,10 -1372,10 +1464,10 @@@ static const struct hid_device_id asus_
  	  QUIRK_USE_KBD_BACKLIGHT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
  	    USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD),
- 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
+ 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_ID1ID2_INIT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
  	    USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2),
- 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_HID_FN_LOCK },
 -	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_ID1ID2_INIT },
++	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_HID_FN_LOCK | QUIRK_ROG_NKEY_ID1ID2_INIT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
  	    USB_DEVICE_ID_ASUSTEK_ROG_Z13_LIGHTBAR),
  	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },

index 876529df0d6ae..1b9793f7c07ed 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -959,6 +959,12 @@ static int asus_input_configured(struct hid_device *hdev, struct hid_input *hi)
 		}
 	}
 
+	if (drvdata->quirks & QUIRK_HID_FN_LOCK) {
+		drvdata->fn_lock = true;
+		INIT_WORK(&drvdata->fn_lock_sync_work, asus_sync_fn_lock);
+		asus_kbd_set_fn_lock(hdev, true);
+	}
+
 	if (drvdata->tp) {
 		int ret;
 
-- 
2.47.3

Re: linux-next: manual merge of the drivers-x86 tree with the hid tree
Posted by Ilpo Järvinen 1 week, 2 days ago
On Tue, 27 Jan 2026, Mark Brown wrote:

> Hi all,

I don't know why Benjamin didn't appear as a receipient here.

> Today's linux-next merge of the drivers-x86 tree got a conflict in:
> 
>   drivers/hid/hid-asus.c
> 
> between commits:
> 
>   f631011e36b87 ("HID: hid-asus: Implement fn lock for Asus ProArt P16")
>   06501b557faec ("HID: asus: Replace magic number with HID_UP_ASUSVENDOR constant")
> 
> from the hid tree and commits:
> 
>   3415a1beb3d87 ("HID: asus: initialize additional endpoints only for certain devices")
>   8baca948f6aad ("HID: asus: move vendor initialization to probe")
> 
> from the drivers-x86 tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.

Thanks for the heads up.

I moved this asus kbd series into a separate branch and merged that into 
my for-next branch. I could create an IB PR for that branch if HID 
maintainers so prefer, though admittedly the conflict doesn't look 
particularly complex.

> diff --cc drivers/hid/hid-asus.c
> index df7c03dde67fa,f5c8df20b88bf..0000000000000
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@@ -101,7 -90,7 +101,8 @@@ MODULE_DESCRIPTION("Asus HID Keyboard a
>   #define QUIRK_ROG_NKEY_KEYBOARD		BIT(11)
>   #define QUIRK_ROG_CLAYMORE_II_KEYBOARD BIT(12)
>   #define QUIRK_ROG_ALLY_XPAD		BIT(13)
>  -#define QUIRK_ROG_NKEY_ID1ID2_INIT		BIT(14)
>  +#define QUIRK_HID_FN_LOCK		BIT(14)
> ++#define QUIRK_ROG_NKEY_ID1ID2_INIT		BIT(15)
>   
>   #define I2C_KEYBOARD_QUIRKS			(QUIRK_FIX_NOTEBOOK_REPORT | \
>   						 QUIRK_NO_INIT_REPORTS | \
> @@@ -1490,10 -1372,10 +1464,10 @@@ static const struct hid_device_id asus_
>   	  QUIRK_USE_KBD_BACKLIGHT },
>   	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
>   	    USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD),
> - 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
> + 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_ID1ID2_INIT },
>   	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
>   	    USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2),
> - 	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_HID_FN_LOCK },
>  -	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_ROG_NKEY_ID1ID2_INIT },
> ++	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD | QUIRK_HID_FN_LOCK | QUIRK_ROG_NKEY_ID1ID2_INIT },
>   	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
>   	    USB_DEVICE_ID_ASUSTEK_ROG_Z13_LIGHTBAR),
>   	  QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
> 
> index 876529df0d6ae..1b9793f7c07ed 100644
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@ -959,6 +959,12 @@ static int asus_input_configured(struct hid_device *hdev, struct hid_input *hi)
>  		}
>  	}
>  
> +	if (drvdata->quirks & QUIRK_HID_FN_LOCK) {
> +		drvdata->fn_lock = true;
> +		INIT_WORK(&drvdata->fn_lock_sync_work, asus_sync_fn_lock);
> +		asus_kbd_set_fn_lock(hdev, true);
> +	}
> +
>  	if (drvdata->tp) {
>  		int ret;
>  
> 

-- 
 i.
Re: linux-next: manual merge of the drivers-x86 tree with the hid tree
Posted by Jiri Kosina 1 week, 2 days ago
On Wed, 28 Jan 2026, Ilpo Järvinen wrote:

> I moved this asus kbd series into a separate branch and merged that into 
> my for-next branch. I could create an IB PR for that branch if HID 
> maintainers so prefer, though admittedly the conflict doesn't look 
> particularly complex.

Yeah, the conflict is trivial, and Linus likes to see conflicts between 
trees himself.

The one of us who sends pull request to Linus should just point it out in 
pull request.

Thanks,

-- 
Jiri Kosina
SUSE Labs