[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <74CDBE0F657A3D45AFBB94109FB122FF1740D74FAD@HQMAIL01.nvidia.com>
Date: Fri, 18 Nov 2011 13:59:33 -0800
From: Stephen Warren <swarren@...dia.com>
To: Denis Kuzmenko <linux@...onet.org.ua>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Grant Likely <grant.likely@...retlab.ca>,
Linus Walleij <linus.walleij@...aro.org>,
Richard Purdie <rpurdie@...ys.net>,
Wolfram Sang <w.sang@...gutronix.de>
Subject: RE: [PATCH] s3c/s3c24xx: arm: leds: Make s3c24xx LEDS driver use
gpiolib
Denis Kuzmenko wrote at Friday, November 18, 2011 2:45 PM:
> Make s3c24xx LEDS driver use gpiolib. Disable using pull-resistor when not
> using S3C24XX_LEDF_TRISTATE and enble it when in opposite case.
>
> Signed-off-by: Denis Kuzmenko <linux@...onet.org.ua>
> if (pdata->flags & S3C24XX_LEDF_TRISTATE) {
> - s3c2410_gpio_setpin(pdata->gpio, 0);
> - s3c2410_gpio_cfgpin(pdata->gpio, S3C2410_GPIO_INPUT);
> + /*
> + * pull is needed here to protect pin from being left
> + * floating
> + */
> + ret = s3c_gpio_setpull(pdata->gpio, S3C_GPIO_PULL_UP);
> + if (ret)
> + s3c_gpio_setpull(pdata->gpio, S3C_GPIO_PULL_DOWN);
Sorry, could you explain why it's appropriate to configure a pull here
at all, let alone why it's OK to have a random pull on the line?
> + /* initially turn off led */
> + ret = gpio_direction_input(pdata->gpio);
> } else {
> - s3c2410_gpio_pullup(pdata->gpio, 0);
> - s3c2410_gpio_setpin(pdata->gpio, 0);
> - s3c2410_gpio_cfgpin(pdata->gpio, S3C2410_GPIO_OUTPUT);
> + /* no point in having a pull-up as we are always driving */
> + s3c_gpio_setpull(pdata->gpio, S3C_GPIO_PULL_NONE);
> + ret = gpio_request_one(pdata->gpio, GPIOF_OUT_INIT_LOW,
> + pdata->name);
> + /* initially turn off led */
> + ret = gpio_direction_output(pdata->gpio,
> + !!(pdata->flags & S3C24XX_LEDF_ACTLOW));
Wouldn't it be better to pass GPIOF_OUT_INIT_HIGH or GPIOF_OUT_INIT_LOW
to gpio_request_one() based on S3C24XX_LEDF_ACTLOW, and avoid the call to
gpio_direction_output; that will avoid glitching the line for a short time.
I'm fine with the rest of the code.
--
nvpublic
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists