lkml.org 
[lkml]   [2011]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRE: [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@solonet.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



    \
     
     \ /
      Last update: 2011-11-18 23:01    [W:0.032 / U:0.688 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site