From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH] [v7] net: emac: emac gigabit ethernet controller driver Date: Tue, 16 Aug 2016 08:29:51 -0500 Message-ID: References: <1470255143-3979-1-git-send-email-timur@codeaurora.org> <20160804175541.GA2832@rob-hp-laptop> <57B220C0.3060608@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <57B220C0.3060608@codeaurora.org> Sender: netdev-owner@vger.kernel.org To: Timur Tabi Cc: netdev , "devicetree@vger.kernel.org" , linux-arm-msm , Sagar Dharia , Shanker Donthineni , Vikram Sethi , Christopher Covington , Gilad Avidov , Andrew Lunn , Bjorn Andersson , Mark Langsdorf , "jcm@redhat.com" , Andy Gross , David Miller , Florian Fainelli , Lino Sanfilippo , "Rafael J. Wysocki" , Al Stone List-Id: linux-arm-msm@vger.kernel.org On Mon, Aug 15, 2016 at 3:06 PM, Timur Tabi wrote: > + Rafael and Al, for ACPI help. > > Rob Herring wrote: >>> >>> >+Optional properties: >>> >+- phy-version : the version of the integrated emac phy, either 1 or 2. > > >> Sounds like 2 different h/w. The compatible property should distinguish >> this. > > > So I implemented this in v8 of my driver, but it is causing problems for > ACPI. > > In ACPI, the equivalent to a compatible string is the HID, which is QCOM8070 > for the EMAC. The problem is that it's very difficult, if not impossible, > to create new HIDs for different versions of the same device. Different versions are different devices IMO. > The driver will primarily (if not exclusively) be used on ACPI platforms, > not DT. In Qualcomm, DT is for mobile chips, and ACPI is for server. To my > knowledge, there are no plans to use this driver on an actual DT-enabled > platform, but I want to support DT anyway. > > The other problem is that the "internal PHY" of the EMAC is technically a > separate device, and it's interchangeable. Future versions of our chips > will use different internal PHYs, but the EMAC will stay the same. How do you know? EMAC could just as easily change. It's Gigabit today, 10G tomorrow. But if it is separate, then maybe you should model it as a separate device using the phy binding. > So I would like a solution that works on DT and ACPI. I suppose I could use > compatible strings on DT, and a "phy-version" DSD (property) on ACPI. If > that's acceptable to everyone, then I can do that. It seems clunky to me. On one hand, why should I care about ACPI for defining DT bindings? OTOH, having a phy-version property alone would not be a big deal, but you still need distinct compatible strings regardless. Rob