@@ -49,6 +49,7 @@ impl DeviceNumberRegion {
49
49
unsafe {
50
50
( * cdev) . owner = & mut bindings:: __this_module;
51
51
( * cdev) . ops = & T :: VTABLE . 0 as * const bindings:: file_operations ;
52
+ crate :: println!( "vtable={:?}" , T :: VTABLE . 0 ) ;
52
53
}
53
54
let cdev = DeviceRegistration {
54
55
cdev,
@@ -93,6 +94,7 @@ unsafe extern "C" fn open_callback<T: FileOperations>(
93
94
_inode : * mut bindings:: inode ,
94
95
file : * mut bindings:: file ,
95
96
) -> c_types:: c_int {
97
+ crate :: println!( "open_callback reached" ) ;
96
98
let f = match T :: open ( ) {
97
99
Ok ( f) => Box :: new ( f) ,
98
100
Err ( e) => return e. to_kernel_errno ( ) ,
@@ -107,6 +109,7 @@ unsafe extern "C" fn read_callback<T: FileOperations>(
107
109
len : c_types:: c_size_t ,
108
110
offset : * mut bindings:: loff_t ,
109
111
) -> c_types:: c_ssize_t {
112
+ crate :: println!( "read_callback reached" ) ;
110
113
let mut data = match UserSlicePtr :: new ( buf as * mut c_types:: c_void , len) {
111
114
Ok ( ptr) => ptr. writer ( ) ,
112
115
Err ( e) => return e. to_kernel_errno ( ) as c_types:: c_ssize_t ,
@@ -117,6 +120,7 @@ unsafe extern "C" fn read_callback<T: FileOperations>(
117
120
Ok ( ( ) ) => {
118
121
let written = len - data. len ( ) ;
119
122
( * offset) += written as bindings:: loff_t ;
123
+ crate :: println!( "read_callback: written={}" , written) ;
120
124
return written as c_types:: c_ssize_t ;
121
125
}
122
126
Err ( e) => return e. to_kernel_errno ( ) as c_types:: c_ssize_t ,
@@ -127,6 +131,7 @@ unsafe extern "C" fn release_callback<T: FileOperations>(
127
131
_inode : * mut bindings:: inode ,
128
132
file : * mut bindings:: file ,
129
133
) -> c_types:: c_int {
134
+ crate :: println!( "release_callback reached" ) ;
130
135
let ptr = ( * file) . private_data as * mut T ;
131
136
( * file) . private_data = ptr:: null_mut ( ) ;
132
137
Box :: from_raw ( ptr) ;
0 commit comments