[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-sound
Subject:    Re: [PATCH 2/4] hid-lenovo: Add support for X1 Tablet cover LED control
From:       Dennis Wassenberg <dennis.wassenberg () secunet ! com>
Date:       2016-12-19 10:43:53
Message-ID: 80c99979-0caa-bbd2-d750-96d546618e58 () secunet ! com
[Download RAW message or body]

Hi Jiri,

Thanks for your comments. I added comments in-lined.

Best regards,

Dennis

On 19.12.2016 10:54, Jiri Kosina wrote:
> Hi Dennis,
> 
> thanks a lot for the patch.
> 
> On Fri, 9 Dec 2016, Dennis Wassenberg wrote:
> 
> > +int hid_lenovo_led_set(enum hid_lenovo_led_type led, bool on)
> > +{
> > +	struct led_classdev *dev = NULL;
> > +	struct lenovo_led_list_entry *entry;
> > +
> > +	if (led >= HID_LENOVO_LED_MAX)
> > +		return -EINVAL;
> > +
> > +	hid_lenovo_initial_leds[led] = on ? LED_FULL : LED_OFF;
> > +
> > +	list_for_each_entry(entry, &hid_lenovo_leds, list) {
> > +		if (entry->type == led) {
> > +			dev = entry->dev;
> > +			break;
> > +		}
> > +	}
> 
> How exactly is this synchronized against lenovo_remove_tpx1cover()?
> 
In case of that the tpx1cover is disconnected it will be removed from hid_lenovo_leds \
list. That means not included at the hid_lenovo_leds list. In this case dev is still \
NULL and the function will return -ENODEV. The static array hid_lenovo_initial_leds \
is still set to store the current state of a LED type. This is used to set the LED \
appropriately if the tpx1cover is replugged.

Maybe I should add a mutex to protect the hid_lenovo_leds list operations in \
hid-lenovo.c to fix the case if a unplug occurred concurrently to setting an led?!

> > +
> > +	if (!dev)
> > +		return -ENODEV;
> > +
> > +	if (!dev->brightness_set)
> > +		return -ENODEV;
> > +
> > +	dev->brightness_set(dev, on ? LED_FULL : LED_OFF);
> > +
> > +	return 0;
> > +}
> > +EXPORT_SYMBOL_GPL(hid_lenovo_led_set);
> 
> Does this really need to be exported to the whole universe? (I guess this 
> will be further discussed in 4/4).

No, it is sufficient if thinkpad-helper can access it.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sound" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic