1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/* -*- linux-c -*-
*
* (C) Copyright IBM Corp. 2005,2006
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This
* file and program are licensed under a BSD style license. See
* the Copying file included with the OpenHPI distribution for
* full licensing terms.
*
* Author(s):
* Renier Morales <renier@openhpi.org>
* Daniel de Araujo <ddearauj@us.ibm.com>
*/
#include <rtas_power.h>
#include <librtas.h>
SaErrorT rtas_get_power_state(void *hnd,
SaHpiResourceIdT id,
SaHpiPowerStateT *state)
{
*state = SAHPI_POWER_ON;
return SA_OK;
}
SaErrorT rtas_set_power_state(void *hnd,
SaHpiResourceIdT id,
SaHpiPowerStateT state)
{
int setlevel, rc;
if (state == SAHPI_POWER_OFF) {
rc = rtas_set_power_level(0, 0, &setlevel);
if (rc > -1 && setlevel == 0) return SA_OK;
else if (rc > -1 && setlevel != 0) return SA_ERR_HPI_BUSY;
else return SA_ERR_HPI_INTERNAL_ERROR;
} else {
return SA_ERR_HPI_INTERNAL_ERROR;
}
}
void * oh_get_power_state (void *, SaHpiResourceIdT, SaHpiPowerStateT *)
__attribute__ ((weak, alias("rtas_get_power_state")));
void * oh_set_power_state (void *, SaHpiResourceIdT, SaHpiPowerStateT)
__attribute__ ((weak, alias("rtas_set_power_state")));
|