Re: [U-Boot] [PATCH] cmd/gpt: Support gpt command for all devices.

2013-03-26 Thread Wolfgang Denk
Dear egbert.e...@googlemail.com,

In message <1364288746-2597-1-git-send-email-egbert.e...@gmail.com> you wrote:
> From: Egbert Eich 
> 
> The gpt command was only implemented for mmc devices. There is no reason
> why this command should not be generalized and be applied all other
> storage device classes.
> This change both simplifies the implementation and eliminates a
> build failure for systems that don't support mmcs.
> 
> Signed-off-by: Egbert Eich 
> ---
>  common/cmd_gpt.c |   43 ++-
>  1 files changed, 18 insertions(+), 25 deletions(-)

Please mark resubmits of new versions of patches as such; also, please
provide a change log so we can see what you actually changed.  Please
see [1] for detailled instructions, and consider using patman to help
you doing this.

[1] http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions

Note that this patch is still not checkpatch-clean:

WARNING: line over 80 characters
#195: FILE: common/cmd_gpt.c:310:
+   printf("%s: %s dev %d NOT available\n", __func__, 
argv[2], dev);

Please fix!!

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
As a general rule, the freedom of any people can  be  judged  by  the
volume of their laughter.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] cmd/gpt: Support gpt command for all devices.

2013-03-26 Thread egbert . eich
From: Egbert Eich 

The gpt command was only implemented for mmc devices. There is no reason
why this command should not be generalized and be applied all other
storage device classes.
This change both simplifies the implementation and eliminates a
build failure for systems that don't support mmcs.

Signed-off-by: Egbert Eich 
---
 common/cmd_gpt.c |   43 ++-
 1 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c
index efd7934..1a72e8e 100644
--- a/common/cmd_gpt.c
+++ b/common/cmd_gpt.c
@@ -23,7 +23,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -134,7 +133,7 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,
int errno = 0;
uint64_t size_ll, start_ll;
 
-   debug("%s: MMC lba num: 0x%x %d\n", __func__,
+   debug("%s:  lba num: 0x%x %d\n", __func__,
  (unsigned int)dev_desc->lba, (unsigned int)dev_desc->lba);
 
if (str_part == NULL)
@@ -247,25 +246,18 @@ err:
return errno;
 }
 
-static int gpt_mmc_default(int dev, const char *str_part)
+static int gpt_default(block_dev_desc_t *blk_dev_desc, const char *str_part)
 {
int ret;
char *str_disk_guid;
u8 part_count = 0;
disk_partition_t *partitions = NULL;
 
-   struct mmc *mmc = find_mmc_device(dev);
-
-   if (mmc == NULL) {
-   printf("%s: mmc dev %d NOT available\n", __func__, dev);
-   return CMD_RET_FAILURE;
-   }
-
if (!str_part)
return -1;
 
/* fill partitions */
-   ret = set_gpt_info(&mmc->block_dev, str_part,
+   ret = set_gpt_info(blk_dev_desc, str_part,
&str_disk_guid, &partitions, &part_count);
if (ret) {
if (ret == -1)
@@ -278,7 +270,7 @@ static int gpt_mmc_default(int dev, const char *str_part)
}
 
/* save partitions layout to disk */
-   gpt_restore(&mmc->block_dev, str_disk_guid, partitions, part_count);
+   gpt_restore(&blk_dev_desc, str_disk_guid, partitions, part_count);
free(str_disk_guid);
free(partitions);
 
@@ -306,20 +298,21 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
 
/* command: 'write' */
if ((strcmp(argv[1], "write") == 0) && (argc == 5)) {
-   /* device: 'mmc' */
-   if (strcmp(argv[2], "mmc") == 0) {
-   /* check if 'dev' is a number */
-   for (pstr = argv[3]; *pstr != '\0'; pstr++)
-   if (!isdigit(*pstr)) {
-   printf("'%s' is not a number\n",
-   argv[3]);
-   return CMD_RET_USAGE;
-   }
-   dev = (int)simple_strtoul(argv[3], NULL, 10);
-   /* write to mmc */
-   if (gpt_mmc_default(dev, argv[4]))
-   return CMD_RET_FAILURE;
+   char *ep;
+   block_dev_desc_t *blk_dev_desc;
+   dev = (int)simple_strtoul(argv[3], NULL, 10);
+   if (*ep) {
+   printf("'%s' is not a number\n", argv[3]);
+   return CMD_RET_USAGE;
}
+   blk_dev_desc = get_dev(argv[2], dev);
+   if (!blk_dev_desc) {
+   printf("%s: %s dev %d NOT available\n", __func__, 
argv[2], dev);
+   return CMD_RET_FAILURE;
+   }
+
+   if (gpt_default(blk_dev_desc, argv[4]))
+   return CMD_RET_FAILURE;
} else {
return CMD_RET_USAGE;
}
-- 
1.7.7

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] cmd/gpt: Support gpt command for all devices.

2013-03-26 Thread Wolfgang Denk
Dear egbert.e...@googlemail.com,

In message <1364284913-2277-1-git-send-email-egbert.e...@gmail.com> you wrote:
> From: Egbert Eich 
> 
> The gpt command was only implemented for mmc devices. There is no reason
> why this command should not be generalized and be applied all other
> storage device classes.
> This change both simplifies the implementation and eliminates a
> build failure for systems that don't support mmcs.
> 
> Signed-off-by: Egbert Eich 
> ---
>  common/cmd_gpt.c |   43 ++-
>  1 files changed, 18 insertions(+), 25 deletions(-)

WARNING: line over 80 characters
#198: FILE: common/cmd_gpt.c:310:
+   printf("%s: %s dev %d NOT available\n", __func__, 
argv[2], dev);

Please fix.

and please always run all your patches through checkpatch - before
submitting!


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"May the forces of evil become confused on the way to your house."
- George Carlin
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] cmd/gpt: Support gpt command for all devices.

2013-03-26 Thread egbert . eich
From: Egbert Eich 

The gpt command was only implemented for mmc devices. There is no reason
why this command should not be generalized and be applied all other
storage device classes.
This change both simplifies the implementation and eliminates a
build failure for systems that don't support mmcs.

Signed-off-by: Egbert Eich 
---
 common/cmd_gpt.c |   43 ++-
 1 files changed, 18 insertions(+), 25 deletions(-)

diff --git a/common/cmd_gpt.c b/common/cmd_gpt.c
index efd7934..1a72e8e 100644
--- a/common/cmd_gpt.c
+++ b/common/cmd_gpt.c
@@ -23,7 +23,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -134,7 +133,7 @@ static int set_gpt_info(block_dev_desc_t *dev_desc,
int errno = 0;
uint64_t size_ll, start_ll;
 
-   debug("%s: MMC lba num: 0x%x %d\n", __func__,
+   debug("%s:  lba num: 0x%x %d\n", __func__,
  (unsigned int)dev_desc->lba, (unsigned int)dev_desc->lba);
 
if (str_part == NULL)
@@ -247,25 +246,18 @@ err:
return errno;
 }
 
-static int gpt_mmc_default(int dev, const char *str_part)
+static int gpt_default(block_dev_desc_t *blk_dev_desc, const char *str_part)
 {
int ret;
char *str_disk_guid;
u8 part_count = 0;
disk_partition_t *partitions = NULL;
 
-   struct mmc *mmc = find_mmc_device(dev);
-
-   if (mmc == NULL) {
-   printf("%s: mmc dev %d NOT available\n", __func__, dev);
-   return CMD_RET_FAILURE;
-   }
-
if (!str_part)
return -1;
 
/* fill partitions */
-   ret = set_gpt_info(&mmc->block_dev, str_part,
+   ret = set_gpt_info(blk_dev_desc, str_part,
&str_disk_guid, &partitions, &part_count);
if (ret) {
if (ret == -1)
@@ -278,7 +270,7 @@ static int gpt_mmc_default(int dev, const char *str_part)
}
 
/* save partitions layout to disk */
-   gpt_restore(&mmc->block_dev, str_disk_guid, partitions, part_count);
+   gpt_restore(&blk_dev_desc, str_disk_guid, partitions, part_count);
free(str_disk_guid);
free(partitions);
 
@@ -306,20 +298,21 @@ static int do_gpt(cmd_tbl_t *cmdtp, int flag, int argc, 
char * const argv[])
 
/* command: 'write' */
if ((strcmp(argv[1], "write") == 0) && (argc == 5)) {
-   /* device: 'mmc' */
-   if (strcmp(argv[2], "mmc") == 0) {
-   /* check if 'dev' is a number */
-   for (pstr = argv[3]; *pstr != '\0'; pstr++)
-   if (!isdigit(*pstr)) {
-   printf("'%s' is not a number\n",
-   argv[3]);
-   return CMD_RET_USAGE;
-   }
-   dev = (int)simple_strtoul(argv[3], NULL, 10);
-   /* write to mmc */
-   if (gpt_mmc_default(dev, argv[4]))
-   return CMD_RET_FAILURE;
+   char *ep;
+   block_dev_desc_t *blk_dev_desc;
+   dev = (int)simple_strtoul(argv[3], NULL, 10);
+   if (*ep) {
+   printf("'%s' is not a number\n", argv[3]);
+   return CMD_RET_USAGE;
}
+   blk_dev_desc = get_dev(argv[2], dev);
+   if (!blk_dev_desc) {
+   printf("%s: %s dev %d NOT available\n", __func__, 
argv[2], dev);
+   return CMD_RET_FAILURE;
+   }
+
+   if (gpt_default(blk_dev_desc, argv[4]))
+   return CMD_RET_FAILURE;
} else {
return CMD_RET_USAGE;
}
-- 
1.7.7

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot