Author: jhibbits
Date: Sat Aug 22 03:29:12 2015
New Revision: 287011
URL: https://svnweb.freebsd.org/changeset/base/287011

Log:
  Make the mpc85xx platform a kobj base class.
  
  Summary:
  Some systems are based around mpc85xx, but need special initialization.  By
  making the mpc85xx platform a base class, these systems can be platform
  subclasses, and perform board-specific initialization in addition to the 
mpc85xx
  initialization.
  
  Test Plan:
  Tested on my RB800.  A platform class was created, and will be committed
  separately.
  
  Reviewed By: nwhitehorn
  Differential Revision: https://reviews.freebsd.org/D3305

Modified:
  head/sys/powerpc/mpc85xx/mpc85xx.h
  head/sys/powerpc/mpc85xx/platform_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/mpc85xx.h
==============================================================================
--- head/sys/powerpc/mpc85xx/mpc85xx.h  Sat Aug 22 00:47:05 2015        
(r287010)
+++ head/sys/powerpc/mpc85xx/mpc85xx.h  Sat Aug 22 03:29:12 2015        
(r287011)
@@ -30,6 +30,8 @@
 #ifndef _MPC85XX_H_
 #define _MPC85XX_H_
 
+#include <machine/platformvar.h>
+
 /*
  * Configuration control and status registers
  */
@@ -84,4 +86,7 @@ int law_disable(int trgt, u_long addr, u
 int law_getmax(void);
 int law_pci_target(struct resource *, int *, int *);
 
+DECLARE_CLASS(mpc85xx_platform);
+int mpc85xx_attach(platform_t);
+
 #endif /* _MPC85XX_H_ */

Modified: head/sys/powerpc/mpc85xx/platform_mpc85xx.c
==============================================================================
--- head/sys/powerpc/mpc85xx/platform_mpc85xx.c Sat Aug 22 00:47:05 2015        
(r287010)
+++ head/sys/powerpc/mpc85xx/platform_mpc85xx.c Sat Aug 22 03:29:12 2015        
(r287011)
@@ -71,7 +71,6 @@ vm_offset_t ccsrbar_va;
 static int cpu, maxcpu;
 
 static int mpc85xx_probe(platform_t);
-static int mpc85xx_attach(platform_t);
 static void mpc85xx_mem_regions(platform_t, struct mem_region *phys,
     int *physsz, struct mem_region *avail, int *availsz);
 static u_long mpc85xx_timebase_freq(platform_t, struct cpuref *cpuref);
@@ -98,11 +97,7 @@ static platform_method_t mpc85xx_methods
        PLATFORMMETHOD_END
 };
 
-static platform_def_t mpc85xx_platform = {
-       "mpc85xx",
-       mpc85xx_methods,
-       0
-};
+DEFINE_CLASS_0(mpc85xx, mpc85xx_platform, mpc85xx_methods, 0);
 
 PLATFORM_DEF(mpc85xx_platform);
 
@@ -117,7 +112,7 @@ mpc85xx_probe(platform_t plat)
        return (ENXIO);
 }
 
-static int
+int
 mpc85xx_attach(platform_t plat)
 {
        phandle_t cpus, child, ccsr;
_______________________________________________
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