Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/bhnd/nvram/bhnd_nvram_store.h
- This file was moved from sys/dev/bhnd/nvram/bhnd_nvramvar.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_NVRAMVAR_H_ | #ifndef _BHND_NVRAM_BHND_NVRAM_STORE_H_ | ||||
#define _BHND_NVRAM_BHND_NVRAMVAR_H_ | #define _BHND_NVRAM_BHND_NVRAM_STORE_H_ | ||||
#ifdef _KERNEL | |||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/bus.h> | #include <sys/bus.h> | ||||
#include <sys/nv.h> | |||||
#else /* !_KERNEL */ | |||||
#include <errno.h> | |||||
#include "bhnd_nvram_parser.h" | #include <nv.h> | ||||
DECLARE_CLASS(bhnd_nvram_driver); | #include <stdint.h> | ||||
#include <stdlib.h> | |||||
#endif | |||||
int bhnd_nvram_probe(device_t dev); | #include <sys/queue.h> | ||||
int bhnd_nvram_attach(device_t dev, void *data, size_t size, | |||||
bhnd_nvram_format fmt); | |||||
int bhnd_nvram_resume(device_t dev); | |||||
int bhnd_nvram_suspend(device_t dev); | |||||
int bhnd_nvram_detach(device_t dev); | |||||
/** | #include "bhnd_nvram_data.h" | ||||
* bhnd_nvram driver instance state. Must be first member of all subclass | #include "bhnd_nvram_io.h" | ||||
* softc structures. | |||||
*/ | |||||
struct bhnd_nvram_softc { | |||||
device_t dev; | |||||
struct mtx mtx; /**< nvram mutex */ | |||||
struct bhnd_nvram nvram; /**< nvram shadow */ | |||||
}; | |||||
struct bhnd_nvram_store; | |||||
#define BHND_NVRAM_LOCK_INIT(sc) \ | int bhnd_nvram_store_new(struct bhnd_nvram_store **store, | ||||
mtx_init(&(sc)->mtx, device_get_nameunit((sc)->dev), \ | struct bhnd_nvram_data *data); | ||||
"bhnd_nvram lock", MTX_DEF) | |||||
#define BHND_NVRAM_LOCK(sc) mtx_lock(&(sc)->mtx) | |||||
#define BHND_NVRAM_UNLOCK(sc) mtx_unlock(&(sc)->mtx) | |||||
#define BHND_NVRAM_LOCK_ASSERT(sc, what) mtx_assert(&(sc)->mtx, what) | |||||
#define BHND_NVRAM_LOCK_DESTROY(sc) mtx_destroy(&(sc)->mtx) | |||||
#endif /* _BHND_NVRAM_BHND_NVRAMVAR_H_ */ | int bhnd_nvram_store_parse_new(struct bhnd_nvram_store **store, | ||||
struct bhnd_nvram_io *io, bhnd_nvram_data_class_t *cls); | |||||
void bhnd_nvram_store_free(struct bhnd_nvram_store *store); | |||||
int bhnd_nvram_store_getvar(struct bhnd_nvram_store *sc, const char *name, | |||||
void *buf, size_t *len, bhnd_nvram_type type); | |||||
int bhnd_nvram_store_setvar(struct bhnd_nvram_store *sc, const char *name, | |||||
const void *buf, size_t len, bhnd_nvram_type type); | |||||
#endif /* _BHND_NVRAM_BHND_NVRAM_STORE_H_ */ |