Эх сурвалжийг харах

soc: ti: pruss: Drop MII-RT management from PRUSS driver

The MII-RT sub-module is represented as a syscon node and is
managed by the PRUSS platform driver at the moment. The usage
of MII-RT is limited to PRU Ethernet drivers, and so makes sense
to manage this sub-module by those drivers directly. So, drop
the code from the PRUSS platform driver that deals with parsing
of the mii-rt DT nodes or providing an API wrapper for accessing
any registers within this sub-module.

Signed-off-by: Suman Anna <s-anna@ti.com>
Suman Anna 6 жил өмнө
parent
commit
70a50253a8

+ 4 - 25
drivers/soc/ti/pruss.c

@@ -190,15 +190,10 @@ EXPORT_SYMBOL_GPL(pruss_release_mem_region);
 int pruss_regmap_read(struct pruss *pruss, enum pruss_syscon mod,
 		      unsigned int reg, unsigned int *val)
 {
-	struct regmap *map;
-
-	if (IS_ERR_OR_NULL(pruss) || mod < PRUSS_SYSCON_CFG ||
-	    mod >= PRUSS_SYSCON_MAX)
+	if (IS_ERR_OR_NULL(pruss) || mod != PRUSS_SYSCON_CFG)
 		return -EINVAL;
 
-	map = (mod == PRUSS_SYSCON_CFG) ? pruss->cfg : pruss->mii_rt;
-
-	return regmap_read(map, reg, val);
+	return regmap_read(pruss->cfg, reg, val);
 }
 EXPORT_SYMBOL_GPL(pruss_regmap_read);
 
@@ -218,15 +213,10 @@ EXPORT_SYMBOL_GPL(pruss_regmap_read);
 int pruss_regmap_update(struct pruss *pruss, enum pruss_syscon mod,
 			unsigned int reg, unsigned int mask, unsigned int val)
 {
-	struct regmap *map;
-
-	if (IS_ERR_OR_NULL(pruss) || mod < PRUSS_SYSCON_CFG ||
-	    mod >= PRUSS_SYSCON_MAX)
+	if (IS_ERR_OR_NULL(pruss) || mod != PRUSS_SYSCON_CFG)
 		return -EINVAL;
 
-	map = (mod == PRUSS_SYSCON_CFG) ? pruss->cfg : pruss->mii_rt;
-
-	return regmap_update_bits(map, reg, mask, val);
+	return regmap_update_bits(pruss->cfg, reg, mask, val);
 }
 EXPORT_SYMBOL_GPL(pruss_regmap_update);
 
@@ -404,17 +394,6 @@ skip_mux:
 		return PTR_ERR(pruss->cfg);
 	}
 
-	np = of_get_child_by_name(node, "mii-rt");
-	if (!np) {
-		dev_err(dev, "%pOF is missing mii-rt node\n", np);
-		return -ENODEV;
-	}
-
-	pruss->mii_rt = syscon_node_to_regmap(np);
-	of_node_put(np);
-	if (IS_ERR(pruss->mii_rt))
-		return -ENODEV;
-
 	np = of_get_child_by_name(node, "memories");
 	if (!np) {
 		dev_err(dev, "%pOF is missing memories node\n", np);

+ 0 - 1
include/linux/pruss.h

@@ -109,7 +109,6 @@ enum pruss_gpi_mode {
  */
 enum pruss_syscon {
 	PRUSS_SYSCON_CFG = 0,
-	PRUSS_SYSCON_MII_RT,
 	PRUSS_SYSCON_MAX,
 };
 

+ 0 - 2
include/linux/pruss_driver.h

@@ -41,7 +41,6 @@ struct pruss_intc_config {
  * @dev: pruss device pointer
  * @cfg_base: base iomap for CFG region
  * @cfg: regmap for config region
- * @mii_rt: regmap for MII_RT sub-module
  * @mem_regions: data for each of the PRUSS memory regions
  * @mem_in_use: to indicate if memory resource is in use
  * @lock: mutex to serialize access to resources
@@ -50,7 +49,6 @@ struct pruss {
 	struct device *dev;
 	void __iomem *cfg_base;
 	struct regmap *cfg;
-	struct regmap *mii_rt;
 	struct pruss_mem_region mem_regions[PRUSS_MEM_MAX];
 	struct pruss_mem_region *mem_in_use[PRUSS_MEM_MAX];
 	struct mutex lock; /* PRU resource lock */