]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/of/device.c
of: Add function for generating a DT modalias with a newline
[karo-tx-linux.git] / drivers / of / device.c
index 210432a3c4ecc739fb0cf0fdf443c9f77e683082..6e2f9113b1b7ab18706b1b763699669e883533c2 100644 (file)
@@ -176,7 +176,7 @@ const void *of_device_get_match_data(const struct device *dev)
 }
 EXPORT_SYMBOL(of_device_get_match_data);
 
-ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)
+static ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)
 {
        const char *compat;
        int cplen, i;
@@ -225,7 +225,6 @@ ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)
 
        return repend;
 }
-EXPORT_SYMBOL_GPL(of_device_get_modalias);
 
 int of_device_request_module(struct device *dev)
 {
@@ -250,6 +249,21 @@ int of_device_request_module(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(of_device_request_module);
 
+/**
+ * of_device_modalias - Fill buffer with newline terminated modalias string
+ */
+ssize_t of_device_modalias(struct device *dev, char *str, ssize_t len)
+{
+       ssize_t sl = of_device_get_modalias(dev, str, len - 2);
+       if (sl < 0)
+               return sl;
+
+       str[sl++] = '\n';
+       str[sl] = 0;
+       return sl;
+}
+EXPORT_SYMBOL_GPL(of_device_modalias);
+
 /**
  * of_device_uevent - Display OF related uevent information
  */