@@ -150,7 +150,7 @@ unsafe extern "C" fn llseek_callback<T: FileOperations>(
150
150
_ => return Err ( Error :: EINVAL ) ,
151
151
} ;
152
152
let f = & * ( ( * file) . private_data as * const T ) ;
153
- let off = T :: seek( f , & File :: from_ptr( file) , off) ?;
153
+ let off = f . seek( & File :: from_ptr( file) , off) ?;
154
154
Ok ( off as bindings:: loff_t)
155
155
}
156
156
}
@@ -164,7 +164,7 @@ unsafe extern "C" fn unlocked_ioctl_callback<T: FileOperations>(
164
164
let f = & * ( ( * file) . private_data as * const T ) ;
165
165
// SAFETY: This function is called by the kernel, so it must set `fs` appropriately.
166
166
let mut cmd = IoctlCommand :: new( cmd as _, arg as _) ;
167
- let ret = T :: ioctl( f , & File :: from_ptr( file) , & mut cmd) ?;
167
+ let ret = f . ioctl( & File :: from_ptr( file) , & mut cmd) ?;
168
168
Ok ( ret as _)
169
169
}
170
170
}
@@ -178,7 +178,7 @@ unsafe extern "C" fn compat_ioctl_callback<T: FileOperations>(
178
178
let f = & * ( ( * file) . private_data as * const T ) ;
179
179
// SAFETY: This function is called by the kernel, so it must set `fs` appropriately.
180
180
let mut cmd = IoctlCommand :: new( cmd as _, arg as _) ;
181
- let ret = T :: compat_ioctl( f , & File :: from_ptr( file) , & mut cmd) ?;
181
+ let ret = f . compat_ioctl( & File :: from_ptr( file) , & mut cmd) ?;
182
182
Ok ( ret as _)
183
183
}
184
184
}
@@ -194,7 +194,7 @@ unsafe extern "C" fn fsync_callback<T: FileOperations>(
194
194
let end = end. try_into( ) ?;
195
195
let datasync = datasync != 0 ;
196
196
let f = & * ( ( * file) . private_data as * const T ) ;
197
- let res = T :: fsync( f , & File :: from_ptr( file) , start, end, datasync) ?;
197
+ let res = f . fsync( & File :: from_ptr( file) , start, end, datasync) ?;
198
198
Ok ( res. try_into( ) . unwrap( ) )
199
199
}
200
200
}
@@ -386,15 +386,15 @@ impl IoctlCommand {
386
386
pub fn dispatch < T : IoctlHandler > ( & mut self , handler : & T , file : & File ) -> KernelResult < i32 > {
387
387
let dir = ( self . cmd >> bindings:: _IOC_DIRSHIFT) & bindings:: _IOC_DIRMASK;
388
388
if dir == bindings:: _IOC_NONE {
389
- return T :: pure ( handler , file, self . cmd , self . arg ) ;
389
+ return handler . pure ( file, self . cmd , self . arg ) ;
390
390
}
391
391
392
392
let data = self . user_slice . take ( ) . ok_or ( Error :: EINVAL ) ?;
393
393
const READ_WRITE : u32 = bindings:: _IOC_READ | bindings:: _IOC_WRITE;
394
394
match dir {
395
- bindings:: _IOC_WRITE => T :: write ( handler , file, self . cmd , & mut data. reader ( ) ) ,
396
- bindings:: _IOC_READ => T :: read ( handler , file, self . cmd , & mut data. writer ( ) ) ,
397
- READ_WRITE => T :: read_write ( handler , file, self . cmd , data) ,
395
+ bindings:: _IOC_WRITE => handler . write ( file, self . cmd , & mut data. reader ( ) ) ,
396
+ bindings:: _IOC_READ => handler . read ( file, self . cmd , & mut data. writer ( ) ) ,
397
+ READ_WRITE => handler . read_write ( file, self . cmd , data) ,
398
398
_ => Err ( Error :: EINVAL ) ,
399
399
}
400
400
}
@@ -531,7 +531,7 @@ impl<T> PointerWrapper<T> for Box<T> {
531
531
}
532
532
533
533
unsafe fn from_pointer ( ptr : * const T ) -> Self {
534
- Box :: < T > :: from_raw ( ptr as _ )
534
+ Box :: from_raw ( ptr as _ )
535
535
}
536
536
}
537
537
@@ -551,6 +551,6 @@ impl<T> PointerWrapper<T> for Arc<T> {
551
551
}
552
552
553
553
unsafe fn from_pointer ( ptr : * const T ) -> Self {
554
- Arc :: < T > :: from_raw ( ptr)
554
+ Arc :: from_raw ( ptr)
555
555
}
556
556
}
0 commit comments