pwm_duty = pwmbl->pdata->pwm_duty_min;
 
        if (!intensity) {
-               if (pwmbl->gpio_on != -1) {
+               if (gpio_is_valid(pwmbl->gpio_on)) {
                        gpio_set_value(pwmbl->gpio_on,
                                        0 ^ pwmbl->pdata->on_active_low);
                }
        } else {
                pwm_channel_enable(&pwmbl->pwmc);
                pwm_channel_writel(&pwmbl->pwmc, PWM_CUPD, pwm_duty);
-               if (pwmbl->gpio_on != -1) {
+               if (gpio_is_valid(pwmbl->gpio_on)) {
                        gpio_set_value(pwmbl->gpio_on,
                                        1 ^ pwmbl->pdata->on_active_low);
                }
        if (retval)
                return retval;
 
-       if (pwmbl->gpio_on != -1) {
+       if (gpio_is_valid(pwmbl->gpio_on)) {
                retval = devm_gpio_request(&pdev->dev, pwmbl->gpio_on,
                                        "gpio_atmel_pwm_bl");
                if (retval)
 {
        struct atmel_pwm_bl *pwmbl = platform_get_drvdata(pdev);
 
-       if (pwmbl->gpio_on != -1) {
+       if (gpio_is_valid(pwmbl->gpio_on)) {
                gpio_set_value(pwmbl->gpio_on,
                                        0 ^ pwmbl->pdata->on_active_low);
        }