Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/bhnd/nvram/bhnd_sprom_parser.h
- This file was copied from sys/dev/bhnd/nvram/bhnd_spromvar.h.
Show All 23 Lines | |||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | ||||
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | ||||
* THE POSSIBILITY OF SUCH DAMAGES. | * THE POSSIBILITY OF SUCH DAMAGES. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _BHND_NVRAM_BHND_SPROMVAR_H_ | #ifndef _BHND_NVRAM_BHND_SPROM_PARSER_H_ | ||||
#define _BHND_NVRAM_BHND_SPROMVAR_H_ | #define _BHND_NVRAM_BHND_SPROM_PARSER_H_ | ||||
#include <dev/bhnd/bhnd.h> | #include <dev/bhnd/bhnd.h> | ||||
DECLARE_CLASS(bhnd_sprom_driver); | |||||
struct bhnd_sprom; | struct bhnd_sprom; | ||||
int bhnd_sprom_probe(device_t dev); | |||||
int bhnd_sprom_attach(device_t dev, bus_size_t offset); | |||||
int bhnd_sprom_resume(device_t dev); | |||||
int bhnd_sprom_suspend(device_t dev); | |||||
int bhnd_sprom_detach(device_t dev); | |||||
int bhnd_sprom_init(struct bhnd_sprom *sprom, struct bhnd_resource *r, | int bhnd_sprom_init(struct bhnd_sprom *sprom, struct bhnd_resource *r, | ||||
bus_size_t offset); | bus_size_t offset); | ||||
void bhnd_sprom_fini(struct bhnd_sprom *sprom); | void bhnd_sprom_fini(struct bhnd_sprom *sprom); | ||||
int bhnd_sprom_getvar(struct bhnd_sprom *sc, const char *name, void *buf, | int bhnd_sprom_getvar(struct bhnd_sprom *sc, const char *name, void *buf, | ||||
size_t *len); | size_t *len, bhnd_nvram_type type); | ||||
int bhnd_sprom_setvar(struct bhnd_sprom *sc, const char *name, | int bhnd_sprom_setvar(struct bhnd_sprom *sc, const char *name, | ||||
const void *buf, size_t len); | const void *buf, size_t len, bhnd_nvram_type type); | ||||
/** | /** | ||||
* bhnd sprom parser instance state. | * bhnd sprom parser instance state. | ||||
*/ | */ | ||||
struct bhnd_sprom { | struct bhnd_sprom { | ||||
device_t dev; /**< sprom parent device */ | device_t dev; /**< sprom parent device */ | ||||
uint8_t sp_rev; /**< sprom revision */ | uint8_t sp_rev; /**< sprom revision */ | ||||
struct bhnd_resource *sp_res; /**< sprom resource. */ | struct bhnd_resource *sp_res; /**< sprom resource. */ | ||||
bus_size_t sp_res_off; /**< offset to sprom image */ | bus_size_t sp_res_off; /**< offset to sprom image */ | ||||
uint8_t *sp_shadow; /**< sprom shadow */ | uint8_t *sp_shadow; /**< sprom shadow */ | ||||
bus_size_t sp_size_max; /**< maximum possible sprom length */ | bus_size_t sp_size_max; /**< maximum possible sprom length */ | ||||
size_t sp_size; /**< shadow size */ | size_t sp_size; /**< shadow size */ | ||||
size_t sp_capacity; /**< shadow buffer capacity */ | size_t sp_capacity; /**< shadow buffer capacity */ | ||||
}; | }; | ||||
#endif /* _BHND_NVRAM_BHND_SPROM_PARSER_H_ */ | |||||
/** | |||||
* bhnd_sprom driver instance state. Must be first member of all subclass | |||||
* softc structures. | |||||
*/ | |||||
struct bhnd_sprom_softc { | |||||
device_t dev; | |||||
struct bhnd_resource *sprom_res; /**< SPROM resource */ | |||||
int sprom_rid; /**< SPROM RID */ | |||||
struct bhnd_sprom shadow; /**< SPROM shadow */ | |||||
struct mtx mtx; /**< SPROM shadow mutex */ | |||||
}; | |||||
#endif /* _BHND_NVRAM_BHND_SPROMVAR_H_ */ |