diff --git a/drivers/arm/gic/gic_v2.c b/drivers/arm/gic/gic_v2.c
index b011900..00464cb 100644
--- a/drivers/arm/gic/gic_v2.c
+++ b/drivers/arm/gic/gic_v2.c
@@ -214,49 +214,43 @@
 void gicd_set_isenabler(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ISENABLER_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_isenabler(base, id);
 
-	gicd_write_isenabler(base, id, reg_val | (1 << bit_num));
+	gicd_write_isenabler(base, id, (1 << bit_num));
 }
 
 void gicd_set_icenabler(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ICENABLER_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_icenabler(base, id);
 
-	gicd_write_icenabler(base, id, reg_val & ~(1 << bit_num));
+	gicd_write_icenabler(base, id, (1 << bit_num));
 }
 
 void gicd_set_ispendr(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ISPENDR_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_ispendr(base, id);
 
-	gicd_write_ispendr(base, id, reg_val | (1 << bit_num));
+	gicd_write_ispendr(base, id, (1 << bit_num));
 }
 
 void gicd_set_icpendr(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ICPENDR_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_icpendr(base, id);
 
-	gicd_write_icpendr(base, id, reg_val & ~(1 << bit_num));
+	gicd_write_icpendr(base, id, (1 << bit_num));
 }
 
 void gicd_set_isactiver(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ISACTIVER_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_isactiver(base, id);
 
-	gicd_write_isactiver(base, id, reg_val | (1 << bit_num));
+	gicd_write_isactiver(base, id, (1 << bit_num));
 }
 
 void gicd_set_icactiver(unsigned int base, unsigned int id)
 {
 	unsigned bit_num = id & ((1 << ICACTIVER_SHIFT) - 1);
-	unsigned int reg_val = gicd_read_icactiver(base, id);
 
-	gicd_write_icactiver(base, id, reg_val & ~(1 << bit_num));
+	gicd_write_icactiver(base, id, (1 << bit_num));
 }
 
 /*
