Hi! Add 'type' attribute of the SDIO device to represent Standard Function interface code in the human readable form. --- drivers/mmc/core/sdio_bus.c | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/drivers/mmc/core/sdio_bus.c b/drivers/mmc/core/sdio_bus.c index 233d0f9..db8990d 100644 --- a/drivers/mmc/core/sdio_bus.c +++ b/drivers/mmc/core/sdio_bus.c @@ -24,6 +24,35 @@ #define to_sdio_driver(d) container_of(d, struct sdio_driver, drv) /* show configuration fields */ +static ssize_t type_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct sdio_func *func; + + func = dev_to_sdio_func (dev); + + switch (func->class) { + case 0x0: + return sprintf (buf, "Non-standard"); + case 0x1: + return sprintf (buf, "UART"); + case 0x2: + return sprintf (buf, "Bluetooth (Type-A)"); + case 0x3: + return sprintf (buf, "Bluetooth (Type-B)"); + case 0x4: + return sprintf (buf, "GPS"); + case 0x5: + return sprintf (buf, "Camera"); + case 0x6: + return sprintf (buf, "PHS"); + case 0x7: + return sprintf (buf, "WLAN"); + } + /* 0x08-0x0E Reserved for future */ + return sprintf (buf, "Reserved"); +} + #define sdio_config_attr(field, format_string) \ static ssize_t \ field##_show(struct device *dev, struct device_attribute *attr, char *buf) \ @@ -47,6 +76,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, } static struct device_attribute sdio_dev_attrs[] = { + __ATTR_RO(type), __ATTR_RO(class), __ATTR_RO(vendor), __ATTR_RO(device), -- 1.5.2.5 -- With best regards, Andy Shevchenko. mailto: [EMAIL PROTECTED] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/