Received: by 2002:a17:90a:1609:0:0:0:0 with SMTP id n9csp853502pja; Wed, 1 Apr 2020 09:52:49 -0700 (PDT) X-Google-Smtp-Source: APiQypIpkEbbUYowZPwEk2l57td23U4WRVma2C9A4hhRb5mog1w1NtVpU0riWXEIxAeHsmozsXXt X-Received: by 2002:aca:ad88:: with SMTP id w130mr3649394oie.82.1585759968934; Wed, 01 Apr 2020 09:52:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585759968; cv=none; d=google.com; s=arc-20160816; b=NFiPylqiOaCWKnPmgdQkEyc9yMyJQauQK760dt/ADPyjwhWut4tdN1PLWiZSn+NMux /feOISJPuXZuEj5gZqGr/I2SV8P/qsj3Q1Jxy0d81EPbw0coAJMcy0rtLPKisMUSu3Uz Ah4jAtENBIJYVecmzaKHlvcLm05WE1m9Le37S4JApH2J6Dr0FsnrjrNzAoKpCUPX9nN7 5E0e+NomXQNMLWWpQvxuvPayqnzkoigdQUw7Omd2lBDFMc+puwctlNJArZLD9QlflwUz uzafVfkqXgIE1WtG2C0WA9aWdfqE3SB1Orke/i2xzBzmf8tO/UYUS91Bel3k4J0yDHsW x8WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=IPYAP+Th3gWr6c1GcWqNIip3jHxnwVBTe6y78MvI8lk=; b=UqYwBXAdTDZuMfIOPVLdAK5cdgrjeT88t+Q6mCZW7BJELhEEyLHuGju8/7qQxyDVq+ rUI11sHzU/TPqgjg8xuakQmK4KQ3imbQ+zV701VyBDqkPxySVdDSjruMMJLL+6AhAq6G yaP0BCLZHLEACSZUNNS7H6bJPB6HUK6SmUQqi+QXM6x/flJoOL66cKLulSQDEVa3z2Hq yDHbmleCYOHl4nS33mVy9hDnuQ0znp5OYf65Q1Xaj2Gn51E1MYfOLNBjz0Z9Hw9HPxtq HE1rrC3aHZTsT8jxu8uVwZCqtnDkK5abTg10StqmP8Qb0lLkpenzIr+AC0Csc9ptTMky hmng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@pqgruber.com header.s=mail header.b=ugZWMCya; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=pqgruber.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j9si1030625oif.164.2020.04.01.09.52.36; Wed, 01 Apr 2020 09:52:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@pqgruber.com header.s=mail header.b=ugZWMCya; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=pqgruber.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388229AbgDAQv7 (ORCPT + 99 others); Wed, 1 Apr 2020 12:51:59 -0400 Received: from mail.pqgruber.com ([52.59.78.55]:57474 "EHLO mail.pqgruber.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388555AbgDAQgo (ORCPT ); Wed, 1 Apr 2020 12:36:44 -0400 Received: from workstation.tuxnet (213-47-165-233.cable.dynamic.surfer.at [213.47.165.233]) by mail.pqgruber.com (Postfix) with ESMTPSA id C530EC425A3; Wed, 1 Apr 2020 18:36:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pqgruber.com; s=mail; t=1585759002; bh=IPYAP+Th3gWr6c1GcWqNIip3jHxnwVBTe6y78MvI8lk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ugZWMCyav4coGCw7rKKWrZ9FiyO4+kuMLcOtv4VI+dX6Ydn8s6iUO/XwnBHf9iBW7 0ZpFzHUamm3Ku5foVMNFg4SZOHqzxnK7n+KcwmIRZFzBRHw2CCtMGFAs3+8DHwACGl btyHxOyEQhQSKy+IH63DzU4cwLr8YFpWW7ENiLYk= Date: Wed, 1 Apr 2020 18:36:40 +0200 From: Clemens Gruber To: Thierry Reding Cc: Andy Shevchenko , Matthias Schiffer , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , linux-pwm@vger.kernel.org, Linux Kernel Mailing List , Sven Van Asbroeck Subject: Re: [PATCH 1/4] pwm: pca9685: remove unused duty_cycle struct element Message-ID: <20200401163640.GA91358@workstation.tuxnet> References: <20200226135229.24929-1-matthias.schiffer@ew.tq-group.com> <20200330130743.GB2431644@ulmo> <20200330160238.GD2817345@ulmo> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200330160238.GD2817345@ulmo> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 30, 2020 at 06:02:38PM +0200, Thierry Reding wrote: > On Mon, Mar 30, 2020 at 04:18:22PM +0300, Andy Shevchenko wrote: > > On Mon, Mar 30, 2020 at 4:09 PM Thierry Reding wrote: > > > > > > On Wed, Feb 26, 2020 at 02:52:26PM +0100, Matthias Schiffer wrote: > > > > duty_cycle was only set, never read. > > > > > > > > Signed-off-by: Matthias Schiffer > > > > --- > > > > drivers/pwm/pwm-pca9685.c | 4 ---- > > > > 1 file changed, 4 deletions(-) > > > > > > Applied, thanks. > > > > I'm not sure this patch is correct. > > What makes you say that? If you look at the code, the driver sets this > field to either 0 or some duty cycle value but ends up never using it. > Why would it be wrong to remove that code? > > > We already have broken GPIO in this driver. Do we need more breakage? > > My understanding is that nobody was able to pinpoint exactly when this > regressed, or if this only worked by accident to begin with. It sounds > like Clemens has a way of testing this driver, so perhaps we can solve > that GPIO issue while we're at it. > > The last discussion on this seems to have been around the time when you > posted a fix for it: > > https://patchwork.ozlabs.org/patch/1156012/ > > But then Sven had concerns that that also wasn't guaranteed to work: > > https://lkml.org/lkml/2019/6/2/73 > > So I think we could either apply your patch to restore the old behaviour > which I assume you tested, so at least it seems to work in practice, > even if there's still a potential race that Sven pointed out in the > above link. > > I'd prefer something alternative because it's obviously confusing and > completely undocumented. Mika had already proposed something that's a > little bit better, though still somewhat confusing. > > Oh... actually reading further through those threads there seems to be a > patch from Sven that was reviewed by Mika but then nothing happened: > > https://lkml.org/lkml/2019/6/4/1039 > > with the corresponding patchwork URL: > > https://patchwork.ozlabs.org/patch/1110083/ > > Andy, Clemens, do you have a way of testing the GPIO functionality of > this driver? If so, it'd be great if you could check the above patch > from Sven to fix PWM/GPIO interop. Looks good. Tested it today and I can no longer reproduce the issues when switching between PWM and GPIO modes. It did not apply cleanly on the current mainline or for-next branch, so I'll send a fixed up version of the patch with my Tested-by tag shortly. I noticed an unrelated issue when disabling and enabling the channel though, for which I will either send a patch or maybe try to convert the driver to the atomic API first and then look if it is still a problem. (Issue is that if you disable the channel, the LED_OFF counter is cleared, which means you have to reconfigure the duty cycle after reenabling. It's probably better if only the FULL_OFF bit is toggled in enable/disable as it has precedence over the others anyway and then the previous state would not be changed..?) Clemens