From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757072AbcCXJ4B (ORCPT ); Thu, 24 Mar 2016 05:56:01 -0400 Received: from smtpoutz26.laposte.net ([194.117.213.101]:56753 "EHLO smtp.laposte.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755362AbcCXJzx (ORCPT ); Thu, 24 Mar 2016 05:55:53 -0400 Message-ID: <56F3B9A2.9060801@laposte.net> Date: Thu, 24 Mar 2016 10:55:46 +0100 From: Sebastian Frias User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Sergei Shtylyov , =?windows-1252?Q?Uwe_Kleine-K=F6nig?= CC: Daniel Mack , "David S. Miller" , netdev@vger.kernel.org, lkml , mason , Florian Fainelli , Mans Rullgard , Fabio Estevam , Martin Blumenstingl , Linus Walleij Subject: Re: [PATCH] net: phy: at803x: Request 'reset' GPIO only for AT8030 PHY References: <56E99727.9040702@laposte.net> <20160318125455.GN4292@pengutronix.de> <56EC2525.8000706@laposte.net> <20160318191242.GQ4292@pengutronix.de> <56EFEDAD.9030903@laposte.net> <20160321135457.GX4292@pengutronix.de> <56F0150F.8080804@laposte.net> <20160321201229.GA6191@pengutronix.de> <56F157EF.5080307@laposte.net> <20160322194224.GF6191@pengutronix.de> <56F26BF7.3090201@laposte.net> <56F274A5.6030502@laposte.net> <56F2F189.1030003@cogentembedded.com> In-Reply-To: <56F2F189.1030003@cogentembedded.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-VR-SrcIP: 83.142.147.193 X-VR-FullState: 0 X-VR-Score: -100 X-VR-Cause-1: gggruggvucftvghtrhhoucdtuddrfeekkedrudekgddtiecutefuodetggdotefrodftvfcurfhrohhf X-VR-Cause-2: ihhlvgemucfntefrqffuvffgnecuuegrihhlohhuthemucehtddtnecusecvtfgvtghiphhivghnthhs X-VR-Cause-3: ucdlqddutddtmdenucfjughrpefkfffhfgggvffufhgjtgfgsehtjegrtddtfeehnecuhfhrohhmpefu X-VR-Cause-4: vggsrghsthhirghnucfhrhhirghsuceoshhfkeegsehlrghpohhsthgvrdhnvghtqeenucffohhmrghi X-VR-Cause-5: nhepmhgrrhgtrdhinhhfohenucfkphepkeefrddugedvrddugeejrdduleefnecurfgrrhgrmhepmhho X-VR-Cause-6: uggvpehsmhhtphhouhhtpdhhvghloheplgdujedvrddvjedrtddrvddugegnpdhinhgvthepkeefrddu X-VR-Cause-7: gedvrddugeejrdduleefpdhmrghilhhfrhhomhepshhfkeegsehlrghpohhsthgvrdhnvghtpdhrtghp X-VR-Cause-8: thhtohepshgvrhhgvghirdhshhhthihlhihovhestghoghgvnhhtvghmsggvugguvggurdgtohhm X-VR-AvState: No X-VR-State: 0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Sergei, On 03/23/2016 08:42 PM, Sergei Shtylyov wrote: > Hello. > > On 03/23/2016 01:49 PM, Sebastian Frias wrote: > >> This removes the dependency on GPIOLIB for non faulty PHYs. >> >> Indeed, without this patch, if GPIOLIB is not selected >> devm_gpiod_get_optional() will return -ENOSYS and the driver probe >> call will fail, regardless of the actual PHY hardware. >> >> Out of the 3 PHYs supported by this driver (AT8030, AT8031, AT8035), >> only AT8030 presents the issues that commit 13a56b449325 ("net: phy: >> at803x: Add support for hardware reset") attempts to work-around by >> using a 'reset' GPIO line. >> >> Hence, only AT8030 should depend on GPIOLIB operating properly. >> >> Fixes: 13a56b449325 ("net: phy: at803x: Add support for hardware reset") >> >> Signed-off-by: Sebastian Frias > [...] > > What I don't understand is why the link_change_notify() method ptr is > populated for all 3 supported chips while only being needed on 8030... You are right. I had commented on that here https://marc.info/?l=linux-netdev&m=145856582932498&w=2 Furthermore, I think we should not even register the "link_change_notify" callback when dealing with AT803x PHYs that do not require the hack. Another solution (considering the callback is statically registered in the "phy_driver" structs for all AT803x PHYs) would be for the callback to disable itself. I was waiting for comments from the original implementor. However, I guess we can remove them as well. I will make another patch. Best regards, Sebastian