memory: atmel-ebi: move NUM_CS definition inside EBI driver
authorTudor Ambarus <tudor.ambarus@microchip.com>
Fri, 6 Sep 2019 15:06:41 +0000 (15:06 +0000)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Thu, 7 Nov 2019 21:33:09 +0000 (22:33 +0100)
The total number of EBI CS lines is described by the EBI controller
and not by the Matrix. Move the definition for the number of CS
inside EBI driver.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20190906150632.19039-1-tudor.ambarus@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/memory/atmel-ebi.c
include/linux/mfd/syscon/atmel-matrix.h

index 0322df9..8515196 100644 (file)
@@ -19,6 +19,8 @@
 #include <linux/regmap.h>
 #include <soc/at91/atmel-sfr.h>
 
+#define AT91_EBI_NUM_CS                8
+
 struct atmel_ebi_dev_config {
        int cs;
        struct atmel_smc_cs_conf smcconf;
@@ -314,7 +316,7 @@ static int atmel_ebi_dev_setup(struct atmel_ebi *ebi, struct device_node *np,
                if (ret)
                        return ret;
 
-               if (cs >= AT91_MATRIX_EBI_NUM_CS ||
+               if (cs >= AT91_EBI_NUM_CS ||
                    !(ebi->caps->available_cs & BIT(cs))) {
                        dev_err(dev, "invalid reg property in %pOF\n", np);
                        return -EINVAL;
@@ -344,7 +346,7 @@ static int atmel_ebi_dev_setup(struct atmel_ebi *ebi, struct device_node *np,
                apply = true;
 
        i = 0;
-       for_each_set_bit(cs, &cslines, AT91_MATRIX_EBI_NUM_CS) {
+       for_each_set_bit(cs, &cslines, AT91_EBI_NUM_CS) {
                ebid->configs[i].cs = cs;
 
                if (apply) {
index f61cd12..20c2566 100644 (file)
 #define AT91_MATRIX_DDR_IOSR                   BIT(18)
 #define AT91_MATRIX_NFD0_SELECT                        BIT(24)
 #define AT91_MATRIX_DDR_MP_EN                  BIT(25)
-#define AT91_MATRIX_EBI_NUM_CS                 8
 
 #define AT91_MATRIX_USBPUCR_PUON               BIT(30)