Bladeren bron

soc: ti: pruss: Rename pruss_regmap_read()/update() API

The pruss_regmap_read() and pruss_regmap_update() API were designed
to support reading and updating any of the registers within the
CFG, MII-RT or IEP sub-modules. The management of MII-RT and IEP
submodules is dropped from the PRUSS platform driver, so simplify
the functionality of these functions to just deal with the CFG
sub-module. Both the functions have been renamed appropriately to
pruss_cfg_read() and pruss_cfg_update(), and all existing callsites
updated accordingly.

Signed-off-by: Suman Anna <s-anna@ti.com>
Suman Anna 6 jaren geleden
bovenliggende
commit
ecdd8084e1
3 gewijzigde bestanden met toevoegingen van 32 en 47 verwijderingen
  1. 14 18
      drivers/soc/ti/pruss.c
  2. 14 24
      include/linux/pruss.h
  3. 4 5
      include/linux/pruss_driver.h

+ 14 - 18
drivers/soc/ti/pruss.c

@@ -176,49 +176,45 @@ int pruss_release_mem_region(struct pruss *pruss,
 EXPORT_SYMBOL_GPL(pruss_release_mem_region);
 
 /**
- * pruss_regmap_read() - read a PRUSS syscon sub-module register
+ * pruss_cfg_read() - read a PRUSS CFG sub-module register
  * @pruss: the pruss instance handle
- * @mod: the pruss syscon sub-module identifier
- * @reg: register offset within the sub-module
+ * @reg: register offset within the CFG sub-module
  * @val: pointer to return the value in
  *
- * Reads a given register within one of the PRUSS sub-modules represented
- * by a syscon and returns it through the passed-in @val pointer
+ * Reads a given register within the PRUSS CFG sub-module and
+ * returns it through the passed-in @val pointer
  *
  * Returns 0 on success, or an error code otherwise
  */
-int pruss_regmap_read(struct pruss *pruss, enum pruss_syscon mod,
-		      unsigned int reg, unsigned int *val)
+int pruss_cfg_read(struct pruss *pruss, unsigned int reg, unsigned int *val)
 {
-	if (IS_ERR_OR_NULL(pruss) || mod != PRUSS_SYSCON_CFG)
+	if (IS_ERR_OR_NULL(pruss))
 		return -EINVAL;
 
 	return regmap_read(pruss->cfg, reg, val);
 }
-EXPORT_SYMBOL_GPL(pruss_regmap_read);
+EXPORT_SYMBOL_GPL(pruss_cfg_read);
 
 /**
- * pruss_regmap_update() - configure a PRUSS syscon sub-module register
+ * pruss_cfg_update() - configure a PRUSS CFG sub-module register
  * @pruss: the pruss instance handle
- * @mod: the pruss syscon sub-module identifier
- * @reg: register offset within the sub-module
+ * @reg: register offset within the CFG sub-module
  * @mask: bit mask to use for programming the @val
  * @val: value to write
  *
- * Programs a given register within one of the PRUSS sub-modules represented
- * by a syscon
+ * Programs a given register within the PRUSS CFG sub-module
  *
  * Returns 0 on success, or an error code otherwise
  */
-int pruss_regmap_update(struct pruss *pruss, enum pruss_syscon mod,
-			unsigned int reg, unsigned int mask, unsigned int val)
+int pruss_cfg_update(struct pruss *pruss, unsigned int reg,
+		     unsigned int mask, unsigned int val)
 {
-	if (IS_ERR_OR_NULL(pruss) || mod != PRUSS_SYSCON_CFG)
+	if (IS_ERR_OR_NULL(pruss))
 		return -EINVAL;
 
 	return regmap_update_bits(pruss->cfg, reg, mask, val);
 }
-EXPORT_SYMBOL_GPL(pruss_regmap_update);
+EXPORT_SYMBOL_GPL(pruss_cfg_update);
 
 static const
 struct pruss_private_data *pruss_get_private_data(struct platform_device *pdev)

+ 14 - 24
include/linux/pruss.h

@@ -104,14 +104,6 @@ enum pruss_gpi_mode {
 	PRUSS_GPI_MODE_MII,
 };
 
-/**
- * enum pruss_syscon - PRUSS sub-module syscon identifiers
- */
-enum pruss_syscon {
-	PRUSS_SYSCON_CFG = 0,
-	PRUSS_SYSCON_MAX,
-};
-
 /**
  * enum pruss_pru_id - PRU core identifiers
  */
@@ -168,10 +160,9 @@ int pruss_request_mem_region(struct pruss *pruss, enum pruss_mem mem_id,
 			     struct pruss_mem_region *region);
 int pruss_release_mem_region(struct pruss *pruss,
 			     struct pruss_mem_region *region);
-int pruss_regmap_read(struct pruss *pruss, enum pruss_syscon mod,
-		      unsigned int reg, unsigned int *val);
-int pruss_regmap_update(struct pruss *pruss, enum pruss_syscon mod,
-			unsigned int reg, unsigned int mask, unsigned int val);
+int pruss_cfg_read(struct pruss *pruss, unsigned int reg, unsigned int *val);
+int pruss_cfg_update(struct pruss *pruss, unsigned int reg,
+		     unsigned int mask, unsigned int val);
 int pruss_intc_trigger(unsigned int irq);
 
 #else
@@ -196,15 +187,14 @@ static inline int pruss_release_mem_region(struct pruss *pruss,
 	return -ENOTSUPP;
 }
 
-static inline int pruss_regmap_read(struct pruss *pruss, enum pruss_syscon mod,
-				    unsigned int reg, unsigned int *val)
+static inline int pruss_cfg_read(struct pruss *pruss, unsigned int reg,
+				 unsigned int *val)
 {
 	return -ENOTSUPP;
 }
 
-static inline int pruss_regmap_update(struct pruss *pruss,
-				      enum pruss_syscon mod, unsigned int reg,
-				      unsigned int mask, unsigned int val)
+static inline int pruss_cfg_update(struct pruss *pruss, unsigned int reg,
+				   unsigned int mask, unsigned int val)
 {
 	return -ENOTSUPP;
 }
@@ -264,9 +254,9 @@ static inline int pruss_cfg_gpimode(struct pruss *pruss, struct rproc *pru,
 	if (id < 0)
 		return -EINVAL;
 
-	return pruss_regmap_update(pruss, PRUSS_SYSCON_CFG, PRUSS_CFG_GPCFG(id),
-				   PRUSS_GPCFG_PRU_GPI_MODE_MASK,
-				   mode << PRUSS_GPCFG_PRU_GPI_MODE_SHIFT);
+	return pruss_cfg_update(pruss, PRUSS_CFG_GPCFG(id),
+				PRUSS_GPCFG_PRU_GPI_MODE_MASK,
+				mode << PRUSS_GPCFG_PRU_GPI_MODE_SHIFT);
 }
 
 /**
@@ -280,8 +270,8 @@ static inline int pruss_cfg_miirt_enable(struct pruss *pruss, bool enable)
 {
 	u32 set = enable ? PRUSS_MII_RT_EVENT_EN : 0;
 
-	return pruss_regmap_update(pruss, PRUSS_SYSCON_CFG, PRUSS_CFG_MII_RT,
-				   PRUSS_MII_RT_EVENT_EN, set);
+	return pruss_cfg_update(pruss, PRUSS_CFG_MII_RT,
+				PRUSS_MII_RT_EVENT_EN, set);
 }
 
 /**
@@ -293,8 +283,8 @@ static inline int pruss_cfg_xfr_enable(struct pruss *pruss, bool enable)
 {
 	u32 set = enable ? PRUSS_SPP_XFER_SHIFT_EN : 0;
 
-	return pruss_regmap_update(pruss, PRUSS_SYSCON_CFG, PRUSS_CFG_SPP,
-				   PRUSS_SPP_XFER_SHIFT_EN, set);
+	return pruss_cfg_update(pruss, PRUSS_CFG_SPP,
+				PRUSS_SPP_XFER_SHIFT_EN, set);
 }
 
 #endif /* __LINUX_PRUSS_H */

+ 4 - 5
include/linux/pruss_driver.h

@@ -73,8 +73,7 @@ static inline int pruss_cfg_get_gpmux(struct pruss *pruss,
 	int ret = 0;
 	u32 val;
 
-	ret = pruss_regmap_read(pruss, PRUSS_SYSCON_CFG,
-				PRUSS_CFG_GPCFG(id), &val);
+	ret = pruss_cfg_read(pruss, PRUSS_CFG_GPCFG(id), &val);
 	if (!ret)
 		*mux = (u8)((val & PRUSS_GPCFG_PRU_MUX_SEL_MASK) >>
 			    PRUSS_GPCFG_PRU_MUX_SEL_SHIFT);
@@ -93,9 +92,9 @@ static inline int pruss_cfg_set_gpmux(struct pruss *pruss,
 	if (mux >= PRUSS_GP_MUX_SEL_MAX)
 		return -EINVAL;
 
-	return pruss_regmap_update(pruss, PRUSS_SYSCON_CFG, PRUSS_CFG_GPCFG(id),
-				   PRUSS_GPCFG_PRU_MUX_SEL_MASK,
-				  (u32)mux << PRUSS_GPCFG_PRU_MUX_SEL_SHIFT);
+	return pruss_cfg_update(pruss, PRUSS_CFG_GPCFG(id),
+				PRUSS_GPCFG_PRU_MUX_SEL_MASK,
+				(u32)mux << PRUSS_GPCFG_PRU_MUX_SEL_SHIFT);
 }
 
 #endif	/* _PRUSS_DRIVER_H_ */