Cut down on the use of temporary buffers for formatting integers in
fixed parameters by using the dev_add_param_uint32_fixed that's
especially meant for this.

Signed-off-by: Ahmad Fatoum <a.fat...@barebox.org>
---
 drivers/mfd/superio.c |  7 ++-----
 drivers/pci/bus.c     | 16 +++++-----------
 drivers/w1/w1.c       | 10 +++-------
 3 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/drivers/mfd/superio.c b/drivers/mfd/superio.c
index 891c8ace52e2..9917c0ff9a59 100644
--- a/drivers/mfd/superio.c
+++ b/drivers/mfd/superio.c
@@ -68,7 +68,6 @@ void superio_chip_add(struct superio_chip *siochip)
 {
        struct regmap *regmap;
        char *chipname;
-       char str[5];
        int ret;
 
        chipname = xasprintf("superio-%04x:%04x@%02x",
@@ -79,10 +78,8 @@ void superio_chip_add(struct superio_chip *siochip)
 
        siochip->dev->priv = siochip;
 
-       sprintf(str, "%04x", siochip->vid);
-       dev_add_param_fixed(siochip->dev, "vendor", str);
-       sprintf(str, "%04x", siochip->devid);
-       dev_add_param_fixed(siochip->dev, "device", str);
+       dev_add_param_uint32_fixed(siochip->dev, "vendor", siochip->vid, 
"%04x");
+       dev_add_param_uint32_fixed(siochip->dev, "device", siochip->devid, 
"%04x");
 
        regmap = regmap_init(siochip->dev, &superio_regmap_bus, siochip,
                             &superio_regmap_config);
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index c8f5b592428d..a5da84d282b4 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -133,7 +133,6 @@ int pci_register_driver(struct pci_driver *pdrv)
 
 int pci_register_device(struct pci_dev *pdev)
 {
-       char str[6];
        struct device *dev = &pdev->dev;
        int ret;
 
@@ -149,16 +148,11 @@ int pci_register_device(struct pci_dev *pdev)
        if (ret)
                return ret;
 
-       sprintf(str, "%02x", pdev->devfn);
-       dev_add_param_fixed(dev, "devfn", str);
-       sprintf(str, "%04x", (pdev->class >> 8) & 0xffff);
-       dev_add_param_fixed(dev, "class", str);
-       sprintf(str, "%04x", pdev->vendor);
-       dev_add_param_fixed(dev, "vendor", str);
-       sprintf(str, "%04x", pdev->device);
-       dev_add_param_fixed(dev, "device", str);
-       sprintf(str, "%04x", pdev->revision);
-       dev_add_param_fixed(dev, "revision", str);
+       dev_add_param_uint32_fixed(dev, "devfn", pdev->devfn, "%02x");
+       dev_add_param_uint32_fixed(dev, "class", (pdev->class >> 8) & 0xffff, 
"%04x");
+       dev_add_param_uint32_fixed(dev, "vendor", pdev->vendor, "%04x");
+       dev_add_param_uint32_fixed(dev, "device", pdev->device, "%04x");
+       dev_add_param_uint32_fixed(dev, "revision", pdev->revision, "%04x");
 
        return 0;
 }
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index 61f21ff446b8..3944c4676ee8 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -411,7 +411,6 @@ static bool w1_is_registered(struct w1_bus *bus, u64 rn)
 
 static int w1_device_register(struct w1_bus *bus, struct w1_device *dev)
 {
-       char str[18];
        int ret;
 
        dev_set_name(&dev->dev, "w1-%x-", dev->fid);
@@ -425,12 +424,9 @@ static int w1_device_register(struct w1_bus *bus, struct 
w1_device *dev)
        if (ret)
                return ret;
 
-       sprintf(str, "0x%x", dev->fid);
-       dev_add_param_fixed(&dev->dev, "fid", str);
-       sprintf(str, "0x%llx", dev->id);
-       dev_add_param_fixed(&dev->dev, "id", str);
-       sprintf(str, "0x%llx", dev->reg_num);
-       dev_add_param_fixed(&dev->dev, "reg_num", str);
+       dev_add_param_uint32_fixed(&dev->dev, "fid", dev->fid, "0x%x");
+       dev_add_param_uint64_fixed(&dev->dev, "id", dev->id, "0x%llx");
+       dev_add_param_uint64_fixed(&dev->dev, "reg_num", dev->reg_num, 
"0x%llx");
 
        return ret;
 }
-- 
2.39.5


Reply via email to