Thank you for the review, Mika ! See comments below. On Tue, Jun 4, 2019 at 5:14 AM Mika Westerberg <[email protected]> wrote: > > > This approach will also prevent the request of the "all" pwm channel, if any > > other pwm channel is already in use. Is this correct behaviour? > > Sounds correct to me.
Something that occurred to me right after I pressed the send button: This patch will prevent a pwm 'all channels' request if at least one of the pwm's is in use. But it will not guard against the opposite: after the 'all channels' pwm is requested, it will still allow requests for other pwms/gpios ! This is identical to the old behaviour. But maybe this is an oversight and not a feature? Proposal: 1. prevent request of 'all channel' if any of the pwms/gpios are in use 2. prevent request of all other pwms/gpios if 'all channels' is in use > > Can we call it pca9685_pwm_test_and_set_inuse() following naming of > test_and_set_bit()? Sounds good to me. > > > > +static void pca9685_pwm_clear_inuse(struct pca9685 *pca, struct pwm_device > > *pwm) > > I think it might be better if you provide __pca9685_pwm_clear_inuse() > that does not take the lock and then pca9685_pwm_clear_inuse() that just > calls the former. Then -> I agree, this is much cleaner.

