On Wed, Sep 17, 2008 at 08:52:22AM +0800, Harald Welte wrote: > Can you please review (and possibly apply) the following patch?
Here is an incremental patch to add support for the SD/MMC card type and name from sysfs to the parted device name. The output of 'parted -l' now looks like: Model: SD SD02G (sd/mmc) Disk /dev/mmcblk0: 2013MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 131kB 2013MB 2013MB primary fat16 ------------------------------------------------------ diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c index 983f232..017e3f4 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c @@ -1150,6 +1150,34 @@ error: return 0; } +static int +sdmmc_get_product_info (PedDevice* dev, char **type, char **name) +{ + *type = read_device_sysfs_file (dev, "type"); + *name = read_device_sysfs_file (dev, "name"); + if (*type && *name) + return 1; + + return 0; +} + +static int +init_sdmmc (PedDevice* dev) +{ + char id[128]; + char *type, *name; + + if (sdmmc_get_product_info (dev, &type, &name)) { + snprintf (id, sizeof(id)-1, "%s %s", type, name); + free (type); + free (name); + } else { + snprintf (id, sizeof(id, -1), "%s", + _("Generic SD/MMC Storage Card")); + } + return init_generic(dev, id); +} + static PedDevice* linux_new (const char* path) { @@ -1263,7 +1291,7 @@ linux_new (const char* path) break; case PED_DEVICE_SDMMC: - if (!init_generic (dev, _("SD/MMC Storage Card"))) + if (!init_sdmmc (dev)) goto error_free_arch_specific; break; -- - Harald Welte <[EMAIL PROTECTED]> http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6) _______________________________________________ bug-parted mailing list bug-parted@gnu.org http://lists.gnu.org/mailman/listinfo/bug-parted