From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752623AbcFNOAt (ORCPT ); Tue, 14 Jun 2016 10:00:49 -0400 Received: from gloria.sntech.de ([95.129.55.99]:35797 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751673AbcFNOAq convert rfc822-to-8bit (ORCPT ); Tue, 14 Jun 2016 10:00:46 -0400 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: Guenter Roeck Cc: Frank Wang , Douglas Anderson , Guenter Roeck , Guenter Roeck , jwerner@chromium.org, kishon@ti.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, Kumar Gala , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-rockchip@lists.infradead.org, Ziyuan Xu , Kever Yang , Tao Huang , william.wu@rock-chips.com Subject: Re: [PATCH v5 2/2] phy: rockchip-inno-usb2: add a new driver for Rockchip usb2phy Date: Tue, 14 Jun 2016 16:00:24 +0200 Message-ID: <4065185.1IWsBDlcMJ@diego> User-Agent: KMail/4.14.10 (Linux/4.5.0-2-amd64; KDE/4.14.14; x86_64; ; ) In-Reply-To: References: <1465783810-18756-1-git-send-email-frank.wang@rock-chips.com> <7225720.0AClDW7eQ6@diego> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Dienstag, 14. Juni 2016, 06:50:31 schrieb Guenter Roeck: > On Tue, Jun 14, 2016 at 6:27 AM, Heiko Stübner wrote: > > Am Montag, 13. Juni 2016, 10:10:10 schrieb Frank Wang: > >> The newer SoCs (rk3366, rk3399) take a different usb-phy IP block > >> than rk3288 and before, and most of phy-related registers are also > >> different from the past, so a new phy driver is required necessarily. > >> > >> Signed-off-by: Frank Wang > >> --- [...] > >> +static int rockchip_usb2phy_init(struct phy *phy) > >> +{ > >> + struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy); > >> + struct rockchip_usb2phy *rphy = dev_get_drvdata(phy->dev.parent); > >> + int ret; > >> + > >> > > if (!rport->port_cfg) > > > > return 0; > > > > Otherwise the currently empty otg-port will cause null-pointer > > dereferences > > when it gets assigned in the devicetree already. > > Not really, at least not here - that port should not have port_id set > to USB2PHY_PORT_HOST. > > Does it even make sense to instantiate the otg port ? Is it going to > do anything without port configuration ? Ok, that would be the other option - not creating the phy in the driver. Or from what I've seen, handling it as similar to the host-port should work initially as well most likely, supplying the additional otg-parts later on. [...] > >> +static int rockchip_usb2phy_exit(struct phy *phy) > >> +{ > >> + struct rockchip_usb2phy_port *rport = phy_get_drvdata(phy); > >> + > >> > > if (!rport->port_cfg) > > > > return 0; > > No access to port_cfg here ? sorry, one copy'n'paste to many :-)