svn commit: r327728 - head/sys/dev/psci

Andrew Turner andrew at FreeBSD.org
Tue Jan 9 15:57:12 UTC 2018


Author: andrew
Date: Tue Jan  9 15:57:09 2018
New Revision: 327728
URL: https://svnweb.freebsd.org/changeset/base/327728

Log:
  Add a function to find the PSCI version the firmware implements from
  outside the PSCI driver.
  
  MFC after:	1 week
  Sponsored by:	DARPA, AFRL

Modified:
  head/sys/dev/psci/psci.c
  head/sys/dev/psci/psci.h

Modified: head/sys/dev/psci/psci.c
==============================================================================
--- head/sys/dev/psci/psci.c	Tue Jan  9 14:33:05 2018	(r327727)
+++ head/sys/dev/psci/psci.c	Tue Jan  9 15:57:09 2018	(r327728)
@@ -314,7 +314,7 @@ psci_attach(device_t dev, psci_initfn_t psci_init)
 }
 
 static int
-psci_get_version(struct psci_softc *sc)
+_psci_get_version(struct psci_softc *sc)
 {
 	uint32_t fnid;
 
@@ -326,6 +326,15 @@ psci_get_version(struct psci_softc *sc)
 	return (PSCI_RETVAL_NOT_SUPPORTED);
 }
 
+int
+psci_get_version(void)
+{
+
+	if (psci_softc == NULL)
+		return (PSCI_RETVAL_NOT_SUPPORTED);
+	return (_psci_get_version(psci_softc));
+}
+
 #ifdef FDT
 static int
 psci_fdt_callfn(psci_callfn_t *callfn)
@@ -487,7 +496,7 @@ psci_v0_2_init(device_t dev)
 	sc->psci_fnids[PSCI_FN_SYSTEM_OFF]	    = PSCI_FNID_SYSTEM_OFF;
 	sc->psci_fnids[PSCI_FN_SYSTEM_RESET]	    = PSCI_FNID_SYSTEM_RESET;
 
-	version = psci_get_version(sc);
+	version = _psci_get_version(sc);
 
 	if (version == PSCI_RETVAL_NOT_SUPPORTED)
 		return (1);

Modified: head/sys/dev/psci/psci.h
==============================================================================
--- head/sys/dev/psci/psci.h	Tue Jan  9 14:33:05 2018	(r327727)
+++ head/sys/dev/psci/psci.h	Tue Jan  9 15:57:09 2018	(r327728)
@@ -41,6 +41,7 @@ int	psci_cpu_on(unsigned long, unsigned long, unsigned
 int	psci_hvc_despatch(register_t, register_t, register_t, register_t);
 int	psci_smc_despatch(register_t, register_t, register_t, register_t);
 
+int	psci_get_version(void);
 
 /*
  * PSCI return codes.


More information about the svn-src-head mailing list