svn commit: r287011 - head/sys/powerpc/mpc85xx

Justin Hibbits jhibbits at FreeBSD.org
Sat Aug 22 03:29:14 UTC 2015


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;


More information about the svn-src-head mailing list