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