coding style: fix space separation
[openocd.git] / src / flash / nor / at91sam3.c
index 1536378df21bd01b10db66eed94251f13d9e2691..c8c4afe1fb6650b1195f7a80da2bd1477d4fb9e0 100644 (file)
 #define  offset_EFC_FSR   8
 #define  offset_EFC_FRR   12
 
-extern struct flash_driver at91sam3_flash;
+extern const struct flash_driver at91sam3_flash;
 
 static float _tomhz(uint32_t freq_hz)
 {
@@ -187,7 +187,7 @@ struct sam3_cfg {
  */
 
 struct sam3_bank_private {
-       int probed;
+       bool probed;
        /* DANGER: THERE ARE DRAGONS HERE.. */
        /* NOTE: If you add more 'ghost' pointers */
        /* be aware that you must *manually* update */
@@ -233,7 +233,7 @@ struct sam3_chip_details {
 
 struct sam3_chip {
        struct sam3_chip *next;
-       int probed;
+       bool probed;
 
        /* this is "initialized" from the global const structure */
        struct sam3_chip_details details;
@@ -249,14 +249,14 @@ struct sam3_reg_list {
 
 static struct sam3_chip *all_sam3_chips;
 
-static struct sam3_chip *get_current_sam3(struct command_context *cmd_ctx)
+static struct sam3_chip *get_current_sam3(struct command_invocation *cmd)
 {
        struct target *t;
        static struct sam3_chip *p;
 
-       t = get_current_target(cmd_ctx);
+       t = get_current_target(cmd->ctx);
        if (!t) {
-               command_print(cmd_ctx, "No current target?");
+               command_print(cmd, "No current target?");
                return NULL;
        }
 
@@ -264,7 +264,7 @@ static struct sam3_chip *get_current_sam3(struct command_context *cmd_ctx)
        if (!p) {
                /* this should not happen */
                /* the command is not registered until the chip is created? */
-               command_print(cmd_ctx, "No SAM3 chips exist?");
+               command_print(cmd, "No SAM3 chips exist?");
                return NULL;
        }
 
@@ -273,7 +273,7 @@ static struct sam3_chip *get_current_sam3(struct command_context *cmd_ctx)
                        return p;
                p = p->next;
        }
-       command_print(cmd_ctx, "Cannot find SAM3 chip?");
+       command_print(cmd, "Cannot find SAM3 chip?");
        return NULL;
 }
 
@@ -306,7 +306,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -322,7 +322,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 
 /*             .bank[1] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 1,
@@ -357,7 +357,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -373,7 +373,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*               .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -399,7 +399,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -416,7 +416,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -448,7 +448,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
                        {
 /*             .bank[0] = { */
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -463,7 +463,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                        },
 /*             .bank[1] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 1,
@@ -498,7 +498,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -514,7 +514,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -540,7 +540,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -556,7 +556,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -578,7 +578,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -594,7 +594,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -611,7 +611,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -627,7 +627,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -643,7 +643,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -659,7 +659,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -675,7 +675,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -691,7 +691,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -707,7 +707,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -723,7 +723,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -739,7 +739,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*                     .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -754,7 +754,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                          },
 /*                     .bank[1] = { */
                          {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 1,
@@ -779,7 +779,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*                     .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -794,7 +794,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                          },
 /*                     .bank[1] = { */
                          {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 1,
@@ -819,7 +819,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*                     .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -834,7 +834,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                          },
 /*                     .bank[1] = { */
                          {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 1,
@@ -859,7 +859,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -875,7 +875,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -891,7 +891,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -907,7 +907,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -923,7 +923,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -939,7 +939,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -955,7 +955,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -971,7 +971,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -987,7 +987,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1003,7 +1003,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -1019,7 +1019,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1035,7 +1035,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -1051,7 +1051,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1067,7 +1067,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
 
                        },
@@ -1101,7 +1101,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1118,7 +1118,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1150,7 +1150,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1167,7 +1167,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1199,7 +1199,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1216,7 +1216,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1248,7 +1248,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1265,7 +1265,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1297,7 +1297,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1314,7 +1314,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1346,7 +1346,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1363,7 +1363,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1395,7 +1395,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1412,7 +1412,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1444,7 +1444,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1461,7 +1461,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1493,7 +1493,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1510,7 +1510,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1527,7 +1527,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1544,7 +1544,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1561,7 +1561,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1578,7 +1578,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1595,7 +1595,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1612,7 +1612,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1629,7 +1629,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[0] = { */
                {
                        {
-                               .probed = 0,
+                               .probed = false,
                                .pChip  = NULL,
                                .pBank  = NULL,
                                .bank_number = 0,
@@ -1646,7 +1646,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
 /*             .bank[1] = { */
                        {
                                .present = 0,
-                               .probed = 0,
+                               .probed = false,
                                .bank_number = 1,
                        },
                },
@@ -1680,7 +1680,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1695,7 +1695,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1721,7 +1721,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1736,7 +1736,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1780,7 +1780,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1795,7 +1795,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1822,7 +1822,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1837,7 +1837,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1863,7 +1863,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1878,7 +1878,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1904,7 +1904,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1919,11 +1919,11 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
-                       .base_address = FLASH_BANK1_BASE_512K_AX ,
+                       .base_address = FLASH_BANK1_BASE_512K_AX,
                        .controller_address = 0x400e0c00,
                        .flash_wait_states = 6, /* workaround silicon bug */
                        .present = 1,
@@ -1945,7 +1945,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -1960,7 +1960,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -1986,7 +1986,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                {
 /*             .bank[0] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 0,
@@ -2001,7 +2001,7 @@ static const struct sam3_chip_details all_sam3_details[] = {
                  },
 /*             .bank[1] = { */
                  {
-                       .probed = 0,
+                       .probed = false,
                        .pChip  = NULL,
                        .pBank  = NULL,
                        .bank_number = 1,
@@ -2991,28 +2991,6 @@ static int sam3_GetInfo(struct sam3_chip *pChip)
        return ERROR_OK;
 }
 
-static int sam3_erase_check(struct flash_bank *bank)
-{
-       int x;
-
-       LOG_DEBUG("Here");
-       if (bank->target->state != TARGET_HALTED) {
-               LOG_ERROR("Target not halted");
-               return ERROR_TARGET_NOT_HALTED;
-       }
-       if (0 == bank->num_sectors) {
-               LOG_ERROR("Target: not supported/not probed");
-               return ERROR_FAIL;
-       }
-
-       LOG_INFO("sam3 - supports auto-erase, erase_check ignored");
-       for (x = 0; x < bank->num_sectors; x++)
-               bank->sectors[x].is_erased = 1;
-
-       LOG_DEBUG("Done");
-       return ERROR_OK;
-}
-
 static int sam3_protect_check(struct flash_bank *bank)
 {
        int r;
@@ -3073,7 +3051,7 @@ FLASH_BANK_COMMAND_HANDLER(sam3_flash_bank_command)
                pChip->target = bank->target;
                /* assumption is this runs at 32khz */
                pChip->cfg.slow_freq = 32768;
-               pChip->probed = 0;
+               pChip->probed = false;
        }
 
        switch (bank->base) {
@@ -3090,7 +3068,6 @@ FLASH_BANK_COMMAND_HANDLER(sam3_flash_bank_command)
                    ((unsigned int)(FLASH_BANK1_BASE_256K_AX)),
                    ((unsigned int)(FLASH_BANK1_BASE_512K_AX)));
                        return ERROR_FAIL;
-                       break;
 
                /* at91sam3s and at91sam3n series only has bank 0*/
                /* at91sam3u and at91sam3ax series has the same address for bank 0*/
@@ -3117,6 +3094,22 @@ FLASH_BANK_COMMAND_HANDLER(sam3_flash_bank_command)
        return ERROR_OK;
 }
 
+/**
+ * Remove all chips from the internal list without distingushing which one
+ * is owned by this bank. This simplification works only for one shot
+ * deallocation like current flash_free_all_banks()
+ */
+void sam3_free_driver_priv(struct flash_bank *bank)
+{
+       struct sam3_chip *chip = all_sam3_chips;
+       while (chip) {
+               struct sam3_chip *next = chip->next;
+               free(chip);
+               chip = next;
+       }
+       all_sam3_chips = NULL;
+}
+
 static int sam3_GetDetails(struct sam3_bank_private *pPrivate)
 {
        const struct sam3_chip_details *pDetails;
@@ -3178,12 +3171,11 @@ static int sam3_GetDetails(struct sam3_bank_private *pPrivate)
 
 static int _sam3_probe(struct flash_bank *bank, int noise)
 {
-       unsigned x;
        int r;
        struct sam3_bank_private *pPrivate;
 
 
-       LOG_DEBUG("Begin: Bank: %d, Noise: %d", bank->bank_number, noise);
+       LOG_DEBUG("Begin: Bank: %u, Noise: %d", bank->bank_number, noise);
        if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
@@ -3208,7 +3200,7 @@ static int _sam3_probe(struct flash_bank *bank, int noise)
                return r;
 
        /* update the flash bank size */
-       for (x = 0; x < SAM3_MAX_FLASH_BANKS; x++) {
+       for (unsigned int x = 0; x < SAM3_MAX_FLASH_BANKS; x++) {
                if (bank->base == pPrivate->pChip->details.bank[x].base_address) {
                        bank->size = pPrivate->pChip->details.bank[x].size_bytes;
                        break;
@@ -3223,7 +3215,7 @@ static int _sam3_probe(struct flash_bank *bank, int noise)
                }
                bank->num_sectors = pPrivate->nsectors;
 
-               for (x = 0; ((int)(x)) < bank->num_sectors; x++) {
+               for (unsigned int x = 0; x < bank->num_sectors; x++) {
                        bank->sectors[x].size = pPrivate->sector_size;
                        bank->sectors[x].offset = x * (pPrivate->sector_size);
                        /* mark as unknown */
@@ -3232,7 +3224,7 @@ static int _sam3_probe(struct flash_bank *bank, int noise)
                }
        }
 
-       pPrivate->probed = 1;
+       pPrivate->probed = true;
 
        r = sam3_protect_check(bank);
        if (r != ERROR_OK)
@@ -3259,7 +3251,8 @@ static int sam3_auto_probe(struct flash_bank *bank)
        return _sam3_probe(bank, 0);
 }
 
-static int sam3_erase(struct flash_bank *bank, int first, int last)
+static int sam3_erase(struct flash_bank *bank, unsigned int first,
+               unsigned int last)
 {
        struct sam3_bank_private *pPrivate;
        int r;
@@ -3280,7 +3273,7 @@ static int sam3_erase(struct flash_bank *bank, int first, int last)
        if (!(pPrivate->probed))
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       if ((first == 0) && ((last + 1) == ((int)(pPrivate->nsectors)))) {
+       if ((first == 0) && ((last + 1) == pPrivate->nsectors)) {
                /* whole chip */
                LOG_DEBUG("Here");
                return FLASHD_EraseEntireBank(pPrivate);
@@ -3289,7 +3282,8 @@ static int sam3_erase(struct flash_bank *bank, int first, int last)
        return ERROR_OK;
 }
 
-static int sam3_protect(struct flash_bank *bank, int set, int first, int last)
+static int sam3_protect(struct flash_bank *bank, int set, unsigned int first,
+               unsigned int last)
 {
        struct sam3_bank_private *pPrivate;
        int r;
@@ -3305,9 +3299,9 @@ static int sam3_protect(struct flash_bank *bank, int set, int first, int last)
                return ERROR_FLASH_BANK_NOT_PROBED;
 
        if (set)
-               r = FLASHD_Lock(pPrivate, (unsigned)(first), (unsigned)(last));
+               r = FLASHD_Lock(pPrivate, first, last);
        else
-               r = FLASHD_Unlock(pPrivate, (unsigned)(first), (unsigned)(last));
+               r = FLASHD_Unlock(pPrivate, first, last);
        LOG_DEBUG("End: r=%d", r);
 
        return r;
@@ -3544,7 +3538,7 @@ done:
 COMMAND_HANDLER(sam3_handle_info_command)
 {
        struct sam3_chip *pChip;
-       pChip = get_current_sam3(CMD_CTX);
+       pChip = get_current_sam3(CMD);
        if (!pChip)
                return ERROR_OK;
 
@@ -3555,7 +3549,7 @@ COMMAND_HANDLER(sam3_handle_info_command)
        if (pChip->details.bank[0].pBank == NULL) {
                x = 0;
 need_define:
-               command_print(CMD_CTX,
+               command_print(CMD,
                        "Please define bank %d via command: flash bank %s ... ",
                        x,
                        at91sam3_flash.name);
@@ -3604,7 +3598,7 @@ COMMAND_HANDLER(sam3_handle_gpnvm_command)
        int r, who;
        struct sam3_chip *pChip;
 
-       pChip = get_current_sam3(CMD_CTX);
+       pChip = get_current_sam3(CMD);
        if (!pChip)
                return ERROR_OK;
 
@@ -3614,7 +3608,7 @@ COMMAND_HANDLER(sam3_handle_gpnvm_command)
        }
 
        if (pChip->details.bank[0].pBank == NULL) {
-               command_print(CMD_CTX, "Bank0 must be defined first via: flash bank %s ...",
+               command_print(CMD, "Bank0 must be defined first via: flash bank %s ...",
                        at91sam3_flash.name);
                return ERROR_FAIL;
        }
@@ -3627,10 +3621,8 @@ COMMAND_HANDLER(sam3_handle_gpnvm_command)
        switch (CMD_ARGC) {
                default:
                        return ERROR_COMMAND_SYNTAX_ERROR;
-                       break;
                case 0:
                        goto showall;
-                       break;
                case 1:
                        who = -1;
                        break;
@@ -3653,22 +3645,23 @@ showall:
                                r = FLASHD_GetGPNVM(&(pChip->details.bank[0]), x, &v);
                                if (r != ERROR_OK)
                                        break;
-                               command_print(CMD_CTX, "sam3-gpnvm%u: %u", x, v);
+                               command_print(CMD, "sam3-gpnvm%u: %u", x, v);
                        }
                        return r;
                }
                if ((who >= 0) && (((unsigned)(who)) < pChip->details.n_gpnvms)) {
                        r = FLASHD_GetGPNVM(&(pChip->details.bank[0]), who, &v);
-                       command_print(CMD_CTX, "sam3-gpnvm%u: %u", who, v);
+                       if (r == ERROR_OK)
+                               command_print(CMD, "sam3-gpnvm%u: %u", who, v);
                        return r;
                } else {
-                       command_print(CMD_CTX, "sam3-gpnvm invalid GPNVM: %u", who);
+                       command_print(CMD, "sam3-gpnvm invalid GPNVM: %u", who);
                        return ERROR_COMMAND_SYNTAX_ERROR;
                }
        }
 
        if (who == -1) {
-               command_print(CMD_CTX, "Missing GPNVM number");
+               command_print(CMD, "Missing GPNVM number");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
@@ -3678,7 +3671,7 @@ showall:
                 (0 == strcmp("clear", CMD_ARGV[0])))                   /* quietly accept both */
                r = FLASHD_ClrGPNVM(&(pChip->details.bank[0]), who);
        else {
-               command_print(CMD_CTX, "Unknown command: %s", CMD_ARGV[0]);
+               command_print(CMD, "Unknown command: %s", CMD_ARGV[0]);
                r = ERROR_COMMAND_SYNTAX_ERROR;
        }
        return r;
@@ -3688,7 +3681,7 @@ COMMAND_HANDLER(sam3_handle_slowclk_command)
 {
        struct sam3_chip *pChip;
 
-       pChip = get_current_sam3(CMD_CTX);
+       pChip = get_current_sam3(CMD);
        if (!pChip)
                return ERROR_OK;
 
@@ -3703,7 +3696,7 @@ COMMAND_HANDLER(sam3_handle_slowclk_command)
                        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], v);
                        if (v > 200000) {
                                /* absurd slow clock of 200Khz? */
-                               command_print(CMD_CTX, "Absurd/illegal slow clock freq: %d\n", (int)(v));
+                               command_print(CMD, "Absurd/illegal slow clock freq: %d\n", (int)(v));
                                return ERROR_COMMAND_SYNTAX_ERROR;
                        }
                        pChip->cfg.slow_freq = v;
@@ -3711,11 +3704,10 @@ COMMAND_HANDLER(sam3_handle_slowclk_command)
                }
                default:
                        /* error */
-                       command_print(CMD_CTX, "Too many parameters");
+                       command_print(CMD, "Too many parameters");
                        return ERROR_COMMAND_SYNTAX_ERROR;
-                       break;
        }
-       command_print(CMD_CTX, "Slowclk freq: %d.%03dkhz",
+       command_print(CMD, "Slowclk freq: %d.%03dkhz",
                (int)(pChip->cfg.slow_freq / 1000),
                (int)(pChip->cfg.slow_freq % 1000));
        return ERROR_OK;
@@ -3735,8 +3727,9 @@ static const struct command_registration at91sam3_exec_command_handlers[] = {
                .name = "info",
                .handler = sam3_handle_info_command,
                .mode = COMMAND_EXEC,
-               .help = "Print information about the current at91sam3 chip"
+               .help = "Print information about the current at91sam3 chip "
                        "and its flash configuration.",
+               .usage = "",
        },
        {
                .name = "slowclk",
@@ -3759,7 +3752,7 @@ static const struct command_registration at91sam3_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91sam3_flash = {
+const struct flash_driver at91sam3_flash = {
        .name = "at91sam3",
        .commands = at91sam3_command_handlers,
        .flash_bank_command = sam3_flash_bank_command,
@@ -3769,6 +3762,7 @@ struct flash_driver at91sam3_flash = {
        .read = default_flash_read,
        .probe = sam3_probe,
        .auto_probe = sam3_auto_probe,
-       .erase_check = sam3_erase_check,
+       .erase_check = default_flash_blank_check,
        .protect_check = sam3_protect_check,
+       .free_driver_priv = sam3_free_driver_priv,
 };

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)