From owner-svn-src-head@freebsd.org Wed Mar 14 15:03:07 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0B437F57936; Wed, 14 Mar 2018 15:03:07 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from d.mail.sonic.net (d.mail.sonic.net [64.142.111.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 96986850D8; Wed, 14 Mar 2018 15:03:06 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from comporellon.tachypleus.net (cpe-75-82-218-62.socal.res.rr.com [75.82.218.62]) (authenticated bits=0) by d.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id w2EEq46A005522 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 14 Mar 2018 07:52:04 -0700 Subject: Re: svn commit: r330925 - in head/sys: conf powerpc/powernv To: Wojciech Macek , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201803140920.w2E9K3mn019118@repo.freebsd.org> From: Nathan Whitehorn Message-ID: Date: Wed, 14 Mar 2018 07:52:03 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <201803140920.w2E9K3mn019118@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Sonic-CAuth: UmFuZG9tSVbhHv716Be7hz3hsySgGTGdD4UnUt/z4QuM5NLg6szxJD47Tvhwy5jv8VmKTqqOdKANprgb7eVJM3/3JcxhAunosXCRad3FfbE= X-Sonic-ID: C;AnFRQpcn6BGVdSAFsE207w== M;ANrBQpcn6BGVdSAFsE207w== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Mar 2018 15:03:07 -0000 On 03/14/18 02:20, Wojciech Macek wrote: > Author: wma > Date: Wed Mar 14 09:20:03 2018 > New Revision: 330925 > URL: https://svnweb.freebsd.org/changeset/base/330925 > > Log: > PowerNV: Fix I2C to compile if FDT is disabled > > Submitted by: Wojciech Macek > Obtained from: Semihalf > Sponsored by: IBM, QCM Technologies I don't think this makes any sense, for several reasons: 1. You are gating on #ifdef FDT for things that are using the OF_* API and aren't actually FDT-specific, so the #ifdef checks are testing the wrong thing. 2. It isn't possible to even build a PowerPC/AIM kernel, like PowerNV, without the Open Firmware support code that this uses, so there is no circumstance in which this helps anything. 3. The PowerNV platform is non-functional without a device tree intrinsically, so, even if you could build a kernel like this somehow, it would be impossible for it to work. Given all of that, why was this necessary? It seems to just add pointless #ifdef to code that does not need it. -Nathan > > Modified: > head/sys/conf/files.powerpc > head/sys/powerpc/powernv/opal_i2c.c > head/sys/powerpc/powernv/opal_i2cm.c > head/sys/powerpc/powernv/powernv_centaur.c > head/sys/powerpc/powernv/powernv_xscom.c > > Modified: head/sys/conf/files.powerpc > ============================================================================== > --- head/sys/conf/files.powerpc Wed Mar 14 08:48:40 2018 (r330924) > +++ head/sys/conf/files.powerpc Wed Mar 14 09:20:03 2018 (r330925) > @@ -186,8 +186,8 @@ powerpc/powermac/vcoregpio.c optional powermac > powerpc/powernv/opal.c optional powernv > powerpc/powernv/opal_console.c optional powernv > powerpc/powernv/opal_dev.c optional powernv > -powerpc/powernv/opal_i2c.c optional iicbus fdt powernv > -powerpc/powernv/opal_i2cm.c optional iicbus fdt powernv > +powerpc/powernv/opal_i2c.c optional iicbus powernv > +powerpc/powernv/opal_i2cm.c optional iicbus powernv > powerpc/powernv/opal_pci.c optional powernv pci > powerpc/powernv/opalcall.S optional powernv > powerpc/powernv/platform_powernv.c optional powernv > > Modified: head/sys/powerpc/powernv/opal_i2c.c > ============================================================================== > --- head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 08:48:40 2018 (r330924) > +++ head/sys/powerpc/powernv/opal_i2c.c Wed Mar 14 09:20:03 2018 (r330925) > @@ -120,7 +120,9 @@ static int > opal_i2c_probe(device_t dev) > { > > +#ifdef FDT > if (!(ofw_bus_is_compatible(dev, "ibm,opal-i2c"))) > +#endif > return (ENXIO); > > device_set_desc(dev, "opal-i2c"); > @@ -131,6 +133,7 @@ opal_i2c_probe(device_t dev) > static int > opal_i2c_attach(device_t dev) > { > +#ifdef FDT > struct opal_i2c_softc *sc; > int len; > > @@ -150,6 +153,9 @@ opal_i2c_attach(device_t dev) > I2C_LOCK_INIT(sc); > > return (bus_generic_attach(dev)); > +#else > + return (ENXIO); > +#endif > } > > static int > > Modified: head/sys/powerpc/powernv/opal_i2cm.c > ============================================================================== > --- head/sys/powerpc/powernv/opal_i2cm.c Wed Mar 14 08:48:40 2018 (r330924) > +++ head/sys/powerpc/powernv/opal_i2cm.c Wed Mar 14 09:20:03 2018 (r330925) > @@ -57,14 +57,17 @@ struct opal_i2cm_softc > > static int opal_i2cm_attach(device_t); > static int opal_i2cm_probe(device_t); > +#ifdef FDT > static const struct ofw_bus_devinfo * > opal_i2cm_get_devinfo(device_t, device_t); > +#endif > > static device_method_t opal_i2cm_methods[] = { > /* Device interface */ > DEVMETHOD(device_probe, opal_i2cm_probe), > DEVMETHOD(device_attach, opal_i2cm_attach), > > +#ifdef FDT > /* ofw_bus interface */ > DEVMETHOD(ofw_bus_get_devinfo, opal_i2cm_get_devinfo), > DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), > @@ -72,6 +75,7 @@ static device_method_t opal_i2cm_methods[] = { > DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), > DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), > DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), > +#endif > > DEVMETHOD_END > }; > @@ -82,8 +86,10 @@ static int > opal_i2cm_probe(device_t dev) > { > > +#ifdef FDT > if (!(ofw_bus_is_compatible(dev, "ibm,centaur-i2cm") || > ofw_bus_is_compatible(dev, "ibm,power8-i2cm"))) > +#endif > return (ENXIO); > > device_set_desc(dev, "centaur-i2cm"); > @@ -93,6 +99,7 @@ opal_i2cm_probe(device_t dev) > static int > opal_i2cm_attach(device_t dev) > { > +#ifdef FDT > phandle_t child; > device_t cdev; > struct ofw_bus_devinfo *dinfo; > @@ -116,13 +123,18 @@ opal_i2cm_attach(device_t dev) > } > > return (bus_generic_attach(dev)); > +#else > + return (ENXIO); > +#endif > } > > +#ifdef FDT > static const struct ofw_bus_devinfo * > opal_i2cm_get_devinfo(device_t dev, device_t child) > { > return (device_get_ivars(child)); > } > +#endif > > DEFINE_CLASS_0(opal_i2cm, opal_i2cm_driver, opal_i2cm_methods, > sizeof(struct opal_i2cm_softc)); > > Modified: head/sys/powerpc/powernv/powernv_centaur.c > ============================================================================== > --- head/sys/powerpc/powernv/powernv_centaur.c Wed Mar 14 08:48:40 2018 (r330924) > +++ head/sys/powerpc/powernv/powernv_centaur.c Wed Mar 14 09:20:03 2018 (r330925) > @@ -57,14 +57,17 @@ struct powernv_centaur_softc > > static int powernv_centaur_attach(device_t); > static int powernv_centaur_probe(device_t); > +#ifdef FDT > static const struct ofw_bus_devinfo * > powernv_centaur_get_devinfo(device_t, device_t); > +#endif > > static device_method_t powernv_centaur_methods[] = { > /* Device interface */ > DEVMETHOD(device_probe, powernv_centaur_probe), > DEVMETHOD(device_attach, powernv_centaur_attach), > > +#ifdef FDT > /* ofw_bus interface */ > DEVMETHOD(ofw_bus_get_devinfo, powernv_centaur_get_devinfo), > DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), > @@ -72,7 +75,7 @@ static device_method_t powernv_centaur_methods[] = { > DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), > DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), > DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), > - > +#endif > DEVMETHOD_END > }; > > @@ -82,7 +85,9 @@ static int > powernv_centaur_probe(device_t dev) > { > > +#ifdef FDT > if (!(ofw_bus_is_compatible(dev, "ibm,centaur"))) > +#endif > return (ENXIO); > > device_set_desc(dev, "centaur"); > @@ -92,6 +97,7 @@ powernv_centaur_probe(device_t dev) > static int > powernv_centaur_attach(device_t dev) > { > +#ifdef FDT > phandle_t child; > device_t cdev; > struct ofw_bus_devinfo *dinfo; > @@ -115,13 +121,18 @@ powernv_centaur_attach(device_t dev) > } > > return (bus_generic_attach(dev)); > +#else > + return (ENXIO); > +#endif > } > > +#ifdef FDT > static const struct ofw_bus_devinfo * > powernv_centaur_get_devinfo(device_t dev, device_t child) > { > return (device_get_ivars(child)); > } > +#endif > > DEFINE_CLASS_0(powernv_centaur, powernv_centaur_driver, powernv_centaur_methods, > sizeof(struct powernv_centaur_softc)); > > Modified: head/sys/powerpc/powernv/powernv_xscom.c > ============================================================================== > --- head/sys/powerpc/powernv/powernv_xscom.c Wed Mar 14 08:48:40 2018 (r330924) > +++ head/sys/powerpc/powernv/powernv_xscom.c Wed Mar 14 09:20:03 2018 (r330925) > @@ -57,14 +57,17 @@ struct powernv_xscom_softc > > static int powernv_xscom_attach(device_t); > static int powernv_xscom_probe(device_t); > +#ifdef FDT > static const struct ofw_bus_devinfo * > powernv_xscom_get_devinfo(device_t, device_t); > +#endif > > static device_method_t powernv_xscom_methods[] = { > /* Device interface */ > DEVMETHOD(device_probe, powernv_xscom_probe), > DEVMETHOD(device_attach, powernv_xscom_attach), > > +#ifdef FDT > /* ofw_bus interface */ > DEVMETHOD(ofw_bus_get_devinfo, powernv_xscom_get_devinfo), > DEVMETHOD(ofw_bus_get_compat, ofw_bus_gen_get_compat), > @@ -72,6 +75,7 @@ static device_method_t powernv_xscom_methods[] = { > DEVMETHOD(ofw_bus_get_name, ofw_bus_gen_get_name), > DEVMETHOD(ofw_bus_get_node, ofw_bus_gen_get_node), > DEVMETHOD(ofw_bus_get_type, ofw_bus_gen_get_type), > +#endif > > DEVMETHOD_END > }; > @@ -82,7 +86,9 @@ static int > powernv_xscom_probe(device_t dev) > { > > +#ifdef FDT > if (!(ofw_bus_is_compatible(dev, "ibm,xscom"))) > +#endif > return (ENXIO); > > device_set_desc(dev, "xscom"); > @@ -92,6 +98,7 @@ powernv_xscom_probe(device_t dev) > static int > powernv_xscom_attach(device_t dev) > { > +#ifdef FDT > phandle_t child; > device_t cdev; > struct ofw_bus_devinfo *dinfo; > @@ -115,13 +122,18 @@ powernv_xscom_attach(device_t dev) > } > > return (bus_generic_attach(dev)); > +#else > + return (ENXIO); > +#endif > } > > +#ifdef FDT > static const struct ofw_bus_devinfo * > powernv_xscom_get_devinfo(device_t dev, device_t child) > { > return (device_get_ivars(child)); > } > +#endif > > DEFINE_CLASS_0(powernv_xscom, powernv_xscom_driver, powernv_xscom_methods, > sizeof(struct powernv_xscom_softc)); >