From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752662AbbDCKAn (ORCPT ); Fri, 3 Apr 2015 06:00:43 -0400 Received: from smtp35.i.mail.ru ([94.100.177.95]:39649 "EHLO smtp35.i.mail.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752566AbbDCKAg (ORCPT ); Fri, 3 Apr 2015 06:00:36 -0400 Message-ID: <551E64BC.6080203@list.ru> Date: Fri, 03 Apr 2015 13:00:28 +0300 From: Stas Sergeev User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: David Miller CC: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, thomas.petazzoni@free-electrons.com, f.fainelli@gmail.com, Stas Sergeev Subject: Re: [PATCH] mvneta: implement SGMII-based in-band link state signaling References: <551AA02B.2050104@list.ru> <20150402.205131.1699226515102250937.davem@davemloft.net> In-Reply-To: <20150402.205131.1699226515102250937.davem@davemloft.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam: Not detected X-Mras: Ok Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 03.04.2015 03:51, David Miller пишет: > From: Stas Sergeev > Date: Tue, 31 Mar 2015 16:24:59 +0300 > >> @@ -2590,6 +2651,7 @@ static int mvneta_mdio_probe(struct mvneta_port *pp) >> >> static void mvneta_mdio_remove(struct mvneta_port *pp) >> { >> + fixed_phy_set_link_update(pp->phy_dev, NULL); > > I do not see any other driver doing this on shutdown. > Please show me why it is necessary. Hello David, sorry for this being discussed in a different thread, so here you have a few pointers to why is this needed: https://lkml.org/lkml/2015/3/30/367 > And if it is, all other drivers registering a fixed phy link update > function need to be adjusted to do the same thing. Or, for example, get rid of the callback and add an API: http://www.spinics.net/lists/netdev/msg323517.html Then you get the patch that avoids all this call-back singing and dancing: http://www.spinics.net/lists/netdev/msg323518.html In any case, I posted 3 different implementations and hope people will choose the best one (any choice is fine with me).