Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757759AbdLRIBe (ORCPT ); Mon, 18 Dec 2017 03:01:34 -0500 Received: from vps0.lunn.ch ([185.16.172.187]:36499 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750761AbdLRIBd (ORCPT ); Mon, 18 Dec 2017 03:01:33 -0500 Date: Mon, 18 Dec 2017 09:01:20 +0100 From: Andrew Lunn To: Sean Wang Cc: sergei.shtylyov@cogentembedded.com, f.fainelli@gmail.com, vivien.didelot@savoirfairelinux.com, davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, richard.leitner@skidata.com, geert+renesas@glider.be Subject: Re: [net-next] phylib: Add device reset GPIO support causes DSA MT7530 acquires reset-gpios fails Message-ID: <20171218080120.GD30815@lunn.ch> References: <1513320903.28444.65.camel@mtkswgap22> <20171215101014.GB4213@lunn.ch> <1513569684.24235.12.camel@mtkswgap22> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1513569684.24235.12.camel@mtkswgap22> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 912 Lines: 27 Hi Sean > It probably can't. Because before the GPIO line is manipulated to reset, > certain power control should be handled such as power sources from > external PMIC to let devices actually enter the proper state. > > So, I thought the kind of reset should be better controlled by the > specific driver, not by generic core. Yes, the driver should do it in that case. So we have a few choices: 1) Change the name of one of the properties 2) Make the new code look at the compatible string, any only apply a reset if it is a PHY. 3) Make the new code only hold the gpio when it needs it. Same for the driver, so that they both can reset the device. Any other ideas? Any preferences? 2) and 3) are probably simpler to do, less backwards compatibility issues. 3) potentially could cause issues when a device is reset in the wrong context, because of external PMIC etc. So i'm thinking 2). Andrew