From: Bartosz Golaszewski Date: Mon, 27 Nov 2017 10:48:48 +0000 (+0100) Subject: gpio: mockup: fix debugfs handling X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=46526c15cadcba43c69e22a6dfaf3f6f444c70aa;p=openwrt%2Fstaging%2Fblogic.git gpio: mockup: fix debugfs handling The debugfs routines returning pointers can return NULL or error codes embedded with ERR_PTR(). Check the return values with IS_ERR_OR_NULL(). While we're at it: make the error message more specific so it's not confused with the one emitted when the top-level gpio-mockup debugfs directory creation fails. Signed-off-by: Bartosz Golaszewski Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c index dba5e79e3278..68a0c1e06a16 100644 --- a/drivers/gpio/gpio-mockup.c +++ b/drivers/gpio/gpio-mockup.c @@ -183,11 +183,11 @@ static void gpio_mockup_debugfs_setup(struct device *dev, devname = dev_name(&gc->gpiodev->dev); chip->dbg_dir = debugfs_create_dir(devname, gpio_mockup_dbg_dir); - if (!chip->dbg_dir) + if (IS_ERR_OR_NULL(chip->dbg_dir)) goto err; link = debugfs_create_symlink(gc->label, gpio_mockup_dbg_dir, devname); - if (!link) + if (IS_ERR_OR_NULL(link)) goto err; for (i = 0; i < gc->ngpio; i++) { @@ -205,14 +205,14 @@ static void gpio_mockup_debugfs_setup(struct device *dev, evfile = debugfs_create_file(name, 0200, chip->dbg_dir, priv, &gpio_mockup_event_ops); - if (!evfile) + if (IS_ERR_OR_NULL(evfile)) goto err; } return; err: - dev_err(dev, "error creating debugfs directory\n"); + dev_err(dev, "error creating debugfs event files\n"); } static int gpio_mockup_name_lines(struct device *dev, @@ -336,7 +336,7 @@ static int __init gpio_mockup_init(void) num_chips = gpio_mockup_params_nr / 2; gpio_mockup_dbg_dir = debugfs_create_dir("gpio-mockup-event", NULL); - if (!gpio_mockup_dbg_dir) + if (IS_ERR_OR_NULL(gpio_mockup_dbg_dir)) gpio_mockup_err("error creating debugfs directory\n"); err = platform_driver_register(&gpio_mockup_driver);