On Wed, Aug 19, 2020 at 07:51:01PM +0800, penghao wrote:
> BYD Notebook built-in touch pad, USB interface,so disabled,the touch pad
> device idVendor 0x0c45 idProduct 0x7056
> 
> Signed-off-by: penghao <[email protected]>
> ---
>  drivers/hid/usbhid/hid-core.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
> index 492dd641a25d..630a3cad211f 100644
> --- a/drivers/hid/usbhid/hid-core.c
> +++ b/drivers/hid/usbhid/hid-core.c
> @@ -1193,7 +1193,13 @@ static int usbhid_start(struct hid_device *hid)
>                       interface->desc.bInterfaceProtocol ==
>                               USB_INTERFACE_PROTOCOL_KEYBOARD) {
>               usbhid_set_leds(hid);
> -             device_set_wakeup_enable(&dev->dev, 1);
> +             /*
> +              * USB HID: Add disabled touchpad wakeup on byd zhaoxin notebook
> +              */
> +             if ((hid->vendor == 0x0c45) && (hid->product == 0x7056))
> +                     device_set_wakeup_enable(&dev->dev, 0);
> +             else
> +                     device_set_wakeup_enable(&dev->dev, 1);

Shouldn't this be a quirk somewhere instead of this core check?

thanks,

greg k-h

Reply via email to