@@ -119,7 +119,7 @@ void eiointc_set_irq(struct loongarch_eiointc *s, int irq, int level)
119119static int loongarch_eiointc_read (struct kvm_vcpu * vcpu , struct loongarch_eiointc * s ,
120120 gpa_t addr , unsigned long * val )
121121{
122- int index , ret = 0 ;
122+ int index ;
123123 u64 data = 0 ;
124124 gpa_t offset ;
125125
@@ -150,40 +150,36 @@ static int loongarch_eiointc_read(struct kvm_vcpu *vcpu, struct loongarch_eioint
150150 data = s -> coremap [index ];
151151 break ;
152152 default :
153- ret = - EINVAL ;
154153 break ;
155154 }
156155 * val = data ;
157156
158- return ret ;
157+ return 0 ;
159158}
160159
161160static int kvm_eiointc_read (struct kvm_vcpu * vcpu ,
162161 struct kvm_io_device * dev ,
163162 gpa_t addr , int len , void * val )
164163{
165- int ret = - EINVAL ;
166164 unsigned long flags , data , offset ;
167165 struct loongarch_eiointc * eiointc = vcpu -> kvm -> arch .eiointc ;
168166
169167 if (!eiointc ) {
170168 kvm_err ("%s: eiointc irqchip not valid!\n" , __func__ );
171- return - EINVAL ;
169+ return 0 ;
172170 }
173171
174172 if (addr & (len - 1 )) {
175173 kvm_err ("%s: eiointc not aligned addr %llx len %d\n" , __func__ , addr , len );
176- return - EINVAL ;
174+ return 0 ;
177175 }
178176
179177 offset = addr & 0x7 ;
180178 addr -= offset ;
181179 vcpu -> stat .eiointc_read_exits ++ ;
182180 spin_lock_irqsave (& eiointc -> lock , flags );
183- ret = loongarch_eiointc_read (vcpu , eiointc , addr , & data );
181+ loongarch_eiointc_read (vcpu , eiointc , addr , & data );
184182 spin_unlock_irqrestore (& eiointc -> lock , flags );
185- if (ret )
186- return ret ;
187183
188184 data = data >> (offset * 8 );
189185 switch (len ) {
@@ -208,7 +204,7 @@ static int loongarch_eiointc_write(struct kvm_vcpu *vcpu,
208204 struct loongarch_eiointc * s ,
209205 gpa_t addr , u64 value , u64 field_mask )
210206{
211- int index , irq , ret = 0 ;
207+ int index , irq ;
212208 u8 cpu ;
213209 u64 data , old , mask ;
214210 gpa_t offset ;
@@ -287,54 +283,52 @@ static int loongarch_eiointc_write(struct kvm_vcpu *vcpu,
287283 eiointc_update_sw_coremap (s , index * 8 , data , sizeof (data ), true);
288284 break ;
289285 default :
290- ret = - EINVAL ;
291286 break ;
292287 }
293288
294- return ret ;
289+ return 0 ;
295290}
296291
297292static int kvm_eiointc_write (struct kvm_vcpu * vcpu ,
298293 struct kvm_io_device * dev ,
299294 gpa_t addr , int len , const void * val )
300295{
301- int ret = - EINVAL ;
302296 unsigned long flags , value ;
303297 struct loongarch_eiointc * eiointc = vcpu -> kvm -> arch .eiointc ;
304298
305299 if (!eiointc ) {
306300 kvm_err ("%s: eiointc irqchip not valid!\n" , __func__ );
307- return - EINVAL ;
301+ return 0 ;
308302 }
309303
310304 if (addr & (len - 1 )) {
311305 kvm_err ("%s: eiointc not aligned addr %llx len %d\n" , __func__ , addr , len );
312- return - EINVAL ;
306+ return 0 ;
313307 }
314308
315309 vcpu -> stat .eiointc_write_exits ++ ;
316310 spin_lock_irqsave (& eiointc -> lock , flags );
317311 switch (len ) {
318312 case 1 :
319313 value = * (unsigned char * )val ;
320- ret = loongarch_eiointc_write (vcpu , eiointc , addr , value , 0xFF );
314+ loongarch_eiointc_write (vcpu , eiointc , addr , value , 0xFF );
321315 break ;
322316 case 2 :
323317 value = * (unsigned short * )val ;
324- ret = loongarch_eiointc_write (vcpu , eiointc , addr , value , USHRT_MAX );
318+ loongarch_eiointc_write (vcpu , eiointc , addr , value , USHRT_MAX );
325319 break ;
326320 case 4 :
327321 value = * (unsigned int * )val ;
328- ret = loongarch_eiointc_write (vcpu , eiointc , addr , value , UINT_MAX );
322+ loongarch_eiointc_write (vcpu , eiointc , addr , value , UINT_MAX );
329323 break ;
330324 default :
331325 value = * (unsigned long * )val ;
332- ret = loongarch_eiointc_write (vcpu , eiointc , addr , value , ULONG_MAX );
326+ loongarch_eiointc_write (vcpu , eiointc , addr , value , ULONG_MAX );
333327 break ;
334328 }
335329 spin_unlock_irqrestore (& eiointc -> lock , flags );
336330
337- return ret ;
331+ return 0 ;
338332}
339333
340334static const struct kvm_io_device_ops kvm_eiointc_ops = {
@@ -352,7 +346,7 @@ static int kvm_eiointc_virt_read(struct kvm_vcpu *vcpu,
352346
353347 if (!eiointc ) {
354348 kvm_err ("%s: eiointc irqchip not valid!\n" , __func__ );
355- return - EINVAL ;
349+ return 0 ;
356350 }
357351
358352 addr -= EIOINTC_VIRT_BASE ;
@@ -376,28 +370,25 @@ static int kvm_eiointc_virt_write(struct kvm_vcpu *vcpu,
376370 struct kvm_io_device * dev ,
377371 gpa_t addr , int len , const void * val )
378372{
379- int ret = 0 ;
380373 unsigned long flags ;
381374 u32 value = * (u32 * )val ;
382375 struct loongarch_eiointc * eiointc = vcpu -> kvm -> arch .eiointc ;
383376
384377 if (!eiointc ) {
385378 kvm_err ("%s: eiointc irqchip not valid!\n" , __func__ );
386- return - EINVAL ;
379+ return 0 ;
387380 }
388381
389382 addr -= EIOINTC_VIRT_BASE ;
390383 spin_lock_irqsave (& eiointc -> lock , flags );
391384 switch (addr ) {
392385 case EIOINTC_VIRT_FEATURES :
393- ret = - EPERM ;
394386 break ;
395387 case EIOINTC_VIRT_CONFIG :
396388 /*
397389 * eiointc features can only be set at disabled status
398390 */
399391 if ((eiointc -> status & BIT (EIOINTC_ENABLE )) && value ) {
400- ret = - EPERM ;
401392 break ;
402393 }
403394 eiointc -> status = value & eiointc -> features ;
@@ -407,7 +398,7 @@ static int kvm_eiointc_virt_write(struct kvm_vcpu *vcpu,
407398 }
408399 spin_unlock_irqrestore (& eiointc -> lock , flags );
409400
410- return ret ;
401+ return 0 ;
411402}
412403
413404static const struct kvm_io_device_ops kvm_eiointc_virt_ops = {
0 commit comments