drivers:misc: ti-st: DEBUG uart, baud rate mods
authorPavan Savoy <pavan_savoy@ti.com>
Thu, 15 Dec 2011 16:38:22 +0000 (10:38 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 4 Jan 2012 23:21:04 +0000 (15:21 -0800)
To debug different UARTs at different baud-rates connected to the WiLink
connectivity combo-chipset, this patch enables the debugging code so that upon
boot different UARTs at different baud-rates can be tried out to verify the
interface with WiLink.

Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/misc/ti-st/st_kim.c

index bc8a571..a7a861c 100644 (file)
@@ -573,6 +573,28 @@ static ssize_t show_install(struct device *dev,
        return sprintf(buf, "%d\n", kim_data->ldisc_install);
 }
 
+#ifdef DEBUG
+static ssize_t store_dev_name(struct device *dev,
+               struct device_attribute *attr, const char *buf, size_t count)
+{
+       struct kim_data_s *kim_data = dev_get_drvdata(dev);
+       pr_debug("storing dev name >%s<", buf);
+       strncpy(kim_data->dev_name, buf, count);
+       pr_debug("stored dev name >%s<", kim_data->dev_name);
+       return count;
+}
+
+static ssize_t store_baud_rate(struct device *dev,
+               struct device_attribute *attr, const char *buf, size_t count)
+{
+       struct kim_data_s *kim_data = dev_get_drvdata(dev);
+       pr_debug("storing baud rate >%s<", buf);
+       sscanf(buf, "%ld", &kim_data->baud_rate);
+       pr_debug("stored baud rate >%ld<", kim_data->baud_rate);
+       return count;
+}
+#endif /* if DEBUG */
+
 static ssize_t show_dev_name(struct device *dev,
                struct device_attribute *attr, char *buf)
 {
@@ -599,10 +621,18 @@ static struct kobj_attribute ldisc_install =
 __ATTR(install, 0444, (void *)show_install, NULL);
 
 static struct kobj_attribute uart_dev_name =
+#ifdef DEBUG   /* TODO: move this to debug-fs if possible */
+__ATTR(dev_name, 0644, (void *)show_dev_name, (void *)store_dev_name);
+#else
 __ATTR(dev_name, 0444, (void *)show_dev_name, NULL);
+#endif
 
 static struct kobj_attribute uart_baud_rate =
+#ifdef DEBUG   /* TODO: move to debugfs */
+__ATTR(baud_rate, 0644, (void *)show_baud_rate, (void *)store_baud_rate);
+#else
 __ATTR(baud_rate, 0444, (void *)show_baud_rate, NULL);
+#endif
 
 static struct kobj_attribute uart_flow_cntrl =
 __ATTR(flow_cntrl, 0444, (void *)show_flow_cntrl, NULL);