@@ -7,22 +7,9 @@ use core::convert::TryInto;
77use serde:: Serialize ;
88use serde_json_core;
99
10- use linux_kernel_module:: sysctl:: { Sysctl , SysctlStorage } ;
10+ use linux_kernel_module:: sysctl:: Sysctl ;
1111use linux_kernel_module:: Mode ;
1212use linux_kernel_module:: error;
13- use linux_kernel_module:: println;
14- use linux_kernel_module:: user_ptr:: UserSlicePtrWriter ;
15-
16- struct Reference ( & ' static AtomicBool ) ;
17-
18- impl SysctlStorage for Reference {
19- fn store_value ( & self , data : & [ u8 ] ) -> ( usize , error:: KernelResult < ( ) > ) {
20- self . 0 . store_value ( & * data)
21- }
22- fn read_value ( & self , data : & mut UserSlicePtrWriter ) -> ( usize , error:: KernelResult < ( ) > ) {
23- self . 0 . read_value ( & mut * data)
24- }
25- }
2613
2714static A : AtomicBool = AtomicBool :: new ( false ) ;
2815static B : AtomicBool = AtomicBool :: new ( false ) ;
@@ -56,9 +43,9 @@ impl linux_kernel_module::chrdev::FileOperations for JsonChrdev {
5643}
5744
5845struct JsonSysctlModule {
59- _a : Sysctl < Reference > ,
60- _b : Sysctl < Reference > ,
61- _c : Sysctl < Reference > ,
46+ _a : Sysctl < & ' static AtomicBool > ,
47+ _b : Sysctl < & ' static AtomicBool > ,
48+ _c : Sysctl < & ' static AtomicBool > ,
6249 _chrdev_registration : linux_kernel_module:: chrdev:: Registration ,
6350}
6451
@@ -78,19 +65,19 @@ impl linux_kernel_module::KernelModule for JsonSysctlModule {
7865 _a : Sysctl :: register (
7966 "json-sysctl\x00 " ,
8067 "a\x00 " ,
81- Reference ( & A ) ,
68+ & A ,
8269 Mode :: from_int ( 0o666 ) ,
8370 ) ?,
8471 _b : Sysctl :: register (
8572 "json-sysctl\x00 " ,
8673 "b\x00 " ,
87- Reference ( & B ) ,
74+ & B ,
8875 Mode :: from_int ( 0o666 ) ,
8976 ) ?,
9077 _c : Sysctl :: register (
9178 "json-sysctl\x00 " ,
9279 "c\x00 " ,
93- Reference ( & C ) ,
80+ & C ,
9481 Mode :: from_int ( 0o666 ) ,
9582 ) ?,
9683 _chrdev_registration : chrdev_registration,
0 commit comments