summaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random/n2rng.h
diff options
context:
space:
mode:
authorShannon Nelson2017-01-12 19:52:47 +0100
committerHerbert Xu2017-01-13 11:47:19 +0100
commitbecbc4940ad8e8ff560e1ceee33d9bb4fe4c9225 (patch)
treef87fc049c36d6c5c8022b6b5bc70ccf0b8eb39a9 /drivers/char/hw_random/n2rng.h
parenthwrng: n2 - limit error spewage when self-test fails (diff)
downloadkernel-qcow2-linux-becbc4940ad8e8ff560e1ceee33d9bb4fe4c9225.tar.gz
kernel-qcow2-linux-becbc4940ad8e8ff560e1ceee33d9bb4fe4c9225.tar.xz
kernel-qcow2-linux-becbc4940ad8e8ff560e1ceee33d9bb4fe4c9225.zip
hwrng: n2 - add device data descriptions
Since we're going to need to keep track of more than just one attribute of the hardware, we'll change the use of the data field from the match struct from a single flag to a struct pointer. This patch adds the struct template and initial descriptions. Signed-off-by: Shannon Nelson <shannon.nelson@oracle.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/char/hw_random/n2rng.h')
-rw-r--r--drivers/char/hw_random/n2rng.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/char/hw_random/n2rng.h b/drivers/char/hw_random/n2rng.h
index f244ac89087f..e41e55a7b227 100644
--- a/drivers/char/hw_random/n2rng.h
+++ b/drivers/char/hw_random/n2rng.h
@@ -60,6 +60,20 @@ extern unsigned long sun4v_rng_data_read_diag_v2(unsigned long data_ra,
extern unsigned long sun4v_rng_data_read(unsigned long data_ra,
unsigned long *tick_delta);
+enum n2rng_compat_id {
+ N2_n2_rng,
+ N2_vf_rng,
+ N2_kt_rng,
+ N2_m4_rng,
+ N2_m7_rng,
+};
+
+struct n2rng_template {
+ enum n2rng_compat_id id;
+ int multi_capable;
+ int chip_version;
+};
+
struct n2rng_unit {
u64 control[HV_RNG_NUM_CONTROL];
};
@@ -74,6 +88,7 @@ struct n2rng {
#define N2RNG_FLAG_SHUTDOWN 0x00000010 /* Driver unregistering */
#define N2RNG_FLAG_BUFFER_VALID 0x00000020 /* u32 buffer holds valid data */
+ struct n2rng_template *data;
int num_units;
struct n2rng_unit *units;