Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e3aeae4 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jens Axboe
Browse files

lightnvm: propagate device_add() error code



device_add() may fail, and all callers are supposed to check the
return value, but one new user in lightnvm doesn't:

drivers/lightnvm/sysfs.c: In function 'nvm_sysfs_register_dev':
drivers/lightnvm/sysfs.c:184:2: error: ignoring return value of 'device_add',
  declared with attribute warn_unused_result [-Werror=unused-result]

This changes the caller to propagate any error codes, which avoids
the warning.

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Fixes: 38c9e260b9f9 ("lightnvm: expose device geometry through sysfs")
Signed-off-by: default avatarMatias Bjørling <m@bjorling.me>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 40267efd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include <linux/lightnvm.h>

/* core -> sysfs.c */
int nvm_sysfs_register_dev(struct nvm_dev *);
int __must_check nvm_sysfs_register_dev(struct nvm_dev *);
void nvm_sysfs_unregister_dev(struct nvm_dev *);
int nvm_sysfs_register(void);
void nvm_sysfs_unregister(void);
+6 −3
Original line number Diff line number Diff line
@@ -174,6 +174,8 @@ static struct device_type nvm_type = {

int nvm_sysfs_register_dev(struct nvm_dev *dev)
{
	int ret;

	if (!dev->parent_dev)
		return 0;

@@ -181,11 +183,12 @@ int nvm_sysfs_register_dev(struct nvm_dev *dev)
	dev_set_name(&dev->dev, "%s", dev->name);
	dev->dev.type = &nvm_type;
	device_initialize(&dev->dev);
	device_add(&dev->dev);
	ret = device_add(&dev->dev);

	if (!ret)
		blk_mq_register_dev(&dev->dev, dev->q);

	return 0;
	return ret;
}

void nvm_sysfs_unregister_dev(struct nvm_dev *dev)