Re: [PATCH v5] platform/x86: add lenovo wmi camera button driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Am 08.03.24 um 09:40 schrieb 艾超:


    thanks for your help.

> Is there a way to determine the current state of the camera switch
without having
> to wait for an WMI event?

There is no other way to detemine the current state of the camera
switch without

a WMI event.

> If its not possible to determine the current state of the camera
switch, then your
> driver has to defer the initialization of the input device until it
knows the current
> state of the camera switch. Otherwise the initial switch state
reported by the
> input device might be wrong.

> In this case, that means your driver must initialize the input
device when receiving
> a valid WMI event for the first time.

> Basically when your driver receives a WMI event, it has to check if
the input device
> is already initialized. If this is not the case, then the input
device is initialized.
> Please protect this check and the input device initialization with a
mutex, since WMI
> event handling is multithreaded.

This Camera is a UVC device, and the Carema device is already
initialized before the WMI

event .  Whether the camera switch is on or off, we can used lsusb to
check the Camera.

This wmi-camera driver only need to report the current state of the
camera switch.


    Ai Chao

I see, so userspace will notice when the camera is disabled. Since the camera disappears from
the USB bus when the switch is activated, i wonder if SW_CAMERA_LENS_COVER is the right thing
to use in this case after all.

I CCed the maintainer of the input subsystem so that he can maybe provide some advise.
I for example would, taking the above information above the UVC device into account, say that
KEY_CAMERA_ACCESS_ENABLE/KEY_CAMERA_ACCESS_DISABLE is more suitable. Then userspace has to
keep track of the camera state (through lsusb for example).

Maybe someone knowing the input subsystem can provide some advise on what to do in this case?

Armin Wolf

[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux