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 <w...@semihalf.com>
  Obtained from:         Semihalf
  Sponsored by:          IBM, QCM Technologies

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));
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to