@@ -275,9 +275,6 @@ static int gpio_mockup_probe(struct platform_device *pdev)
struct gpio_mockup_chip *chips;
char *chip_name;
- if (gpio_mockup_params_nr < 2 || (gpio_mockup_params_nr % 2))
- return -EINVAL;
-
/* Each chip is described by two values. */
num_chips = gpio_mockup_params_nr / 2;
@@ -333,6 +330,9 @@ static int __init gpio_mockup_init(void)
{
int err;
+ if (gpio_mockup_params_nr < 2 || (gpio_mockup_params_nr % 2))
+ return -EINVAL;
+
gpio_mockup_dbg_dir = debugfs_create_dir("gpio-mockup-event", NULL);
if (!gpio_mockup_dbg_dir)
pr_err("%s: error creating debugfs directory\n",
If the module parameters are invalid, we should bail out from the init function instead of detecting it during the device probe. That way we don't even allow the user to load the module if we don't accept the arguments. Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> --- drivers/gpio/gpio-mockup.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)