
On 09/18/2012 08:21 PM, Rob Herring wrote:
On 09/18/2012 05:37 PM, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
This patch introduces function get_device(). This looks up a block_dev_desc_t from an interface name (e.g. mmc) and device number (e.g. 0). This function is essentially the non-partition-specific prefix of get_device_and_partition().
Then shouldn't get_device_and_partition just call get_device. Perhaps create get_partition() and then get_device_and_partition is just a wrapper.
I should read all the way through the series before replying...
Anyway, I would squash it all unless you want to have restructuring with current functionality and then enhancements.
Rob
Rob
Signed-off-by: Stephen Warren swarren@nvidia.com
v3: New patch.
disk/part.c | 22 ++++++++++++++++++++++ include/part.h | 5 +++++ 2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/disk/part.c b/disk/part.c index 277a243..9920d48 100644 --- a/disk/part.c +++ b/disk/part.c @@ -435,6 +435,28 @@ void print_part (block_dev_desc_t * dev_desc)
#endif
+int get_device(const char *ifname, const char *dev_str,
block_dev_desc_t **dev_desc)
+{
- char *ep;
- int dev;
- dev = simple_strtoul(dev_str, &ep, 16);
- if (*ep) {
printf("** Bad device specification %s %s **\n",
ifname, dev_str);
return -1;
- }
- *dev_desc = get_dev(ifname, dev);
- if (!(*dev_desc) || ((*dev_desc)->type == DEV_TYPE_UNKNOWN)) {
printf("** Bad device %s %s **\n", ifname, dev_str);
return -1;
- }
- return dev;
+}
#define MAX_SEARCH_PARTITIONS 16 int get_device_and_partition(const char *ifname, const char *dev_str, block_dev_desc_t **dev_desc, diff --git a/include/part.h b/include/part.h index a6d06f3..144df4e 100644 --- a/include/part.h +++ b/include/part.h @@ -112,6 +112,8 @@ int get_partition_info (block_dev_desc_t * dev_desc, int part, disk_partition_t void print_part (block_dev_desc_t *dev_desc); void init_part (block_dev_desc_t *dev_desc); void dev_print(block_dev_desc_t *dev_desc); +int get_device(const char *ifname, const char *dev_str,
block_dev_desc_t **dev_desc);
int get_device_and_partition(const char *ifname, const char *dev_str, block_dev_desc_t **dev_desc, disk_partition_t *info); @@ -131,6 +133,9 @@ static inline int get_partition_info (block_dev_desc_t * dev_desc, int part, static inline void print_part (block_dev_desc_t *dev_desc) {} static inline void init_part (block_dev_desc_t *dev_desc) {} static inline void dev_print(block_dev_desc_t *dev_desc) {} +static inline int get_device(const char *ifname, const char *dev_str,
block_dev_desc_t **dev_desc)
+{ return -1; } static inline int get_device_and_partition(const char *ifname, const char *dev_str, block_dev_desc_t **dev_desc,