Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/bhnd/bhndvar.h
/*- | /*- | ||||
* Copyright (c) 2015 Landon Fuller <landon@landonf.org> | * Copyright (c) 2015-2016 Landon Fuller <landonf@FreeBSD.org> | ||||
* All rights reserved. | * All rights reserved. | ||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions | * modification, are permitted provided that the following conditions | ||||
* are met: | * are met: | ||||
* 1. Redistributions of source code must retain the above copyright | * 1. Redistributions of source code must retain the above copyright | ||||
* notice, this list of conditions and the following disclaimer, | * notice, this list of conditions and the following disclaimer, | ||||
* without modification. | * without modification. | ||||
Show All 29 Lines | |||||
/* | /* | ||||
* Definitions shared by bhnd(4) bus and bhndb(4) bridge driver implementations. | * Definitions shared by bhnd(4) bus and bhndb(4) bridge driver implementations. | ||||
*/ | */ | ||||
MALLOC_DECLARE(M_BHND); | MALLOC_DECLARE(M_BHND); | ||||
DECLARE_CLASS(bhnd_driver); | DECLARE_CLASS(bhnd_driver); | ||||
/** | struct bhnd_core_pmu_info; | ||||
* bhnd per-device info. Must be first member of all subclass | |||||
* devinfo structures. | |||||
*/ | |||||
struct bhnd_devinfo { | |||||
}; | |||||
/** | |||||
* bhnd driver instance state. Must be first member of all subclass | |||||
* softc structures. | |||||
*/ | |||||
struct bhnd_softc { | |||||
device_t dev; /**< bus device */ | |||||
bool attach_done; /**< true if initialization of all | |||||
* platform devices has been | |||||
* completed */ | |||||
device_t chipc_dev; /**< bhnd_chipc device */ | |||||
device_t nvram_dev; /**< bhnd_nvram device, if any */ | |||||
device_t pmu_dev; /**< bhnd_pmu device, if any */ | |||||
}; | |||||
int bhnd_generic_attach(device_t dev); | int bhnd_generic_attach(device_t dev); | ||||
int bhnd_generic_detach(device_t dev); | int bhnd_generic_detach(device_t dev); | ||||
int bhnd_generic_shutdown(device_t dev); | int bhnd_generic_shutdown(device_t dev); | ||||
int bhnd_generic_resume(device_t dev); | int bhnd_generic_resume(device_t dev); | ||||
int bhnd_generic_suspend(device_t dev); | int bhnd_generic_suspend(device_t dev); | ||||
int bhnd_generic_get_probe_order(device_t dev, | int bhnd_generic_get_probe_order(device_t dev, | ||||
device_t child); | device_t child); | ||||
int bhnd_generic_alloc_pmu(device_t dev, | |||||
device_t child); | |||||
int bhnd_generic_release_pmu(device_t dev, | |||||
device_t child); | |||||
int bhnd_generic_request_clock(device_t dev, | |||||
device_t child, bhnd_clock clock); | |||||
int bhnd_generic_enable_clocks(device_t dev, | |||||
device_t child, uint32_t clocks); | |||||
int bhnd_generic_request_ext_rsrc(device_t dev, | |||||
device_t child, u_int rsrc); | |||||
int bhnd_generic_release_ext_rsrc(device_t dev, | |||||
device_t child, u_int rsrc); | |||||
int bhnd_generic_print_child(device_t dev, | int bhnd_generic_print_child(device_t dev, | ||||
device_t child); | device_t child); | ||||
void bhnd_generic_probe_nomatch(device_t dev, | void bhnd_generic_probe_nomatch(device_t dev, | ||||
device_t child); | device_t child); | ||||
device_t bhnd_generic_add_child(device_t dev, u_int order, | device_t bhnd_generic_add_child(device_t dev, u_int order, | ||||
const char *name, int unit); | const char *name, int unit); | ||||
void bhnd_generic_child_added(device_t dev, device_t child); | |||||
void bhnd_generic_child_deleted(device_t dev, | void bhnd_generic_child_deleted(device_t dev, | ||||
device_t child); | device_t child); | ||||
int bhnd_generic_suspend_child(device_t dev, | int bhnd_generic_suspend_child(device_t dev, | ||||
device_t child); | device_t child); | ||||
int bhnd_generic_resume_child(device_t dev, | int bhnd_generic_resume_child(device_t dev, | ||||
device_t child); | device_t child); | ||||
int bhnd_generic_get_nvram_var(device_t dev, | int bhnd_generic_get_nvram_var(device_t dev, | ||||
device_t child, const char *name, void *buf, | device_t child, const char *name, void *buf, | ||||
size_t *size, bhnd_nvram_type type); | size_t *size, bhnd_nvram_type type); | ||||
/** | |||||
* bhnd per-device info. Must be first member of all subclass | |||||
* devinfo structures. | |||||
*/ | |||||
struct bhnd_devinfo { | |||||
struct bhnd_core_pmu_info *pmu_info; /**< PMU info, or NULL */ | |||||
}; | |||||
/** | |||||
* bhnd driver instance state. Must be first member of all subclass | |||||
* softc structures. | |||||
*/ | |||||
struct bhnd_softc { | |||||
device_t dev; /**< bus device */ | |||||
bool attach_done; /**< true if initialization of | |||||
* all platform devices has | |||||
* been completed */ | |||||
device_t chipc_dev; /**< bhnd_chipc device */ | |||||
device_t nvram_dev; /**< bhnd_nvram device, if any */ | |||||
device_t pmu_dev; /**< bhnd_pmu device, if any */ | |||||
}; | |||||
#endif /* _BHND_BHNDVAR_H_ */ | #endif /* _BHND_BHNDVAR_H_ */ |