Преглед изворни кода

waterDataDiscreteRateMining memoryOperation.c 袁明明 commit at 2020-09-25

袁明明 пре 4 година
родитељ
комит
a44ba23278
1 измењених фајлова са 60 додато и 0 уклоњено
  1. 60 0
      waterDataDiscreteRateMining/dataSharedMemory/memoryOperation.c

+ 60 - 0
waterDataDiscreteRateMining/dataSharedMemory/memoryOperation.c

@@ -473,3 +473,63 @@ EXPORT_SYMBOL(set_gpiop_ ## name);
 
 SET_GPIO_P(data)
 SET_GPIO_P(dir)
+SET_GPIO_P(inen)
+SET_GPIO_P(polar)
+SET_GPIO_P(edge)
+SET_GPIO_P(both)
+SET_GPIO_P(maska)
+SET_GPIO_P(maskb)
+
+/* Get a specific bit */
+#define GET_GPIO(name) \
+unsigned short get_gpio_ ## name(unsigned gpio) \
+{ \
+	unsigned long flags; \
+	unsigned short ret; \
+	if (ANOMALY_05000311 || ANOMALY_05000323) \
+		flags = hard_local_irq_save(); \
+	ret = 0x01 & (gpio_array[gpio_bank(gpio)]->name >> gpio_sub_n(gpio)); \
+	if (ANOMALY_05000311 || ANOMALY_05000323) { \
+		AWA_DUMMY_READ(name); \
+		hard_local_irq_restore(flags); \
+	} \
+	return ret; \
+} \
+EXPORT_SYMBOL(get_gpio_ ## name);
+
+GET_GPIO(data)
+GET_GPIO(dir)
+GET_GPIO(inen)
+GET_GPIO(polar)
+GET_GPIO(edge)
+GET_GPIO(both)
+GET_GPIO(maska)
+GET_GPIO(maskb)
+
+/*Get current PORT date (16-bit word)*/
+
+#define GET_GPIO_P(name) \
+unsigned short get_gpiop_ ## name(unsigned gpio) \
+{ \
+	unsigned long flags; \
+	unsigned short ret; \
+	if (ANOMALY_05000311 || ANOMALY_05000323) \
+		flags = hard_local_irq_save(); \
+	ret = (gpio_array[gpio_bank(gpio)]->name); \
+	if (ANOMALY_05000311 || ANOMALY_05000323) { \
+		AWA_DUMMY_READ(name); \
+		hard_local_irq_restore(flags); \
+	} \
+	return ret; \
+} \
+EXPORT_SYMBOL(get_gpiop_ ## name);
+
+GET_GPIO_P(data)
+GET_GPIO_P(dir)
+GET_GPIO_P(inen)
+GET_GPIO_P(polar)
+GET_GPIO_P(edge)
+GET_GPIO_P(both)
+GET_GPIO_P(maska)
+GET_GPIO_P(maskb)
+