Message ID | 1415032350-8459-2-git-send-email-balbi@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 03, 2014 at 10:32:27AM -0600, Felipe Balbi wrote: > From: George Cherian <george.cherian@ti.com> > > Convert the driver to use gpiod_* API's. > > Reviewed-by: Roger Quadros <rogerq@ti.com> > Signed-off-by: George Cherian <george.cherian@ti.com> > Signed-off-by: Sekhar Nori <nsekhar@ti.com> > Signed-off-by: Felipe Balbi <balbi@ti.com> > --- I think it might be useful and appropriate to explain that and why you remove support for active-low pins, instead of hiding it in a seemingly unrelated patch. Also, since you don't use the platform data flag anymore, you might as well remove it to give out-of-tree users a fair warning. Overall, it might be easier to just revert the patch introducing it (5bfbdc9caa7) before converting extcon to gpiod. I am just glad that we stopped using extcon for other reasons ;-) Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 03, 2014 at 10:01:50AM -0800, Guenter Roeck wrote: > On Mon, Nov 03, 2014 at 10:32:27AM -0600, Felipe Balbi wrote: > > From: George Cherian <george.cherian@ti.com> > > > > Convert the driver to use gpiod_* API's. > > > > Reviewed-by: Roger Quadros <rogerq@ti.com> > > Signed-off-by: George Cherian <george.cherian@ti.com> > > Signed-off-by: Sekhar Nori <nsekhar@ti.com> > > Signed-off-by: Felipe Balbi <balbi@ti.com> > > --- > > I think it might be useful and appropriate to explain that and why > you remove support for active-low pins, instead of hiding it in a > seemingly unrelated patch. removed ? why removed ? gpio descs handle that for you, read the source code.
On Mon, Nov 03, 2014 at 12:06:02PM -0600, Felipe Balbi wrote: > On Mon, Nov 03, 2014 at 10:01:50AM -0800, Guenter Roeck wrote: > > On Mon, Nov 03, 2014 at 10:32:27AM -0600, Felipe Balbi wrote: > > > From: George Cherian <george.cherian@ti.com> > > > > > > Convert the driver to use gpiod_* API's. > > > > > > Reviewed-by: Roger Quadros <rogerq@ti.com> > > > Signed-off-by: George Cherian <george.cherian@ti.com> > > > Signed-off-by: Sekhar Nori <nsekhar@ti.com> > > > Signed-off-by: Felipe Balbi <balbi@ti.com> > > > --- > > > > I think it might be useful and appropriate to explain that and why > > you remove support for active-low pins, instead of hiding it in a > > seemingly unrelated patch. > > removed ? why removed ? gpio descs handle that for you, read the source > code. > Well, it for sure looks like it. Care to explain that in the patch, as well as how the platform data flag is used ? Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, On Mon, Nov 03, 2014 at 10:51:08AM -0800, Guenter Roeck wrote: > On Mon, Nov 03, 2014 at 12:06:02PM -0600, Felipe Balbi wrote: > > On Mon, Nov 03, 2014 at 10:01:50AM -0800, Guenter Roeck wrote: > > > On Mon, Nov 03, 2014 at 10:32:27AM -0600, Felipe Balbi wrote: > > > > From: George Cherian <george.cherian@ti.com> > > > > > > > > Convert the driver to use gpiod_* API's. > > > > > > > > Reviewed-by: Roger Quadros <rogerq@ti.com> > > > > Signed-off-by: George Cherian <george.cherian@ti.com> > > > > Signed-off-by: Sekhar Nori <nsekhar@ti.com> > > > > Signed-off-by: Felipe Balbi <balbi@ti.com> > > > > --- > > > > > > I think it might be useful and appropriate to explain that and why > > > you remove support for active-low pins, instead of hiding it in a > > > seemingly unrelated patch. > > > > removed ? why removed ? gpio descs handle that for you, read the source > > code. > > > Well, it for sure looks like it. Care to explain that in the patch, > as well as how the platform data flag is used ? I'll leave that to $author, I just cherry-picked and tested them. Certainly that commit log needs some love.
diff --git a/drivers/extcon/extcon-gpio.c b/drivers/extcon/extcon-gpio.c index 72f19a3..70e3fc7 100644 --- a/drivers/extcon/extcon-gpio.c +++ b/drivers/extcon/extcon-gpio.c @@ -33,8 +33,7 @@ struct gpio_extcon_data { struct extcon_dev *edev; - unsigned gpio; - bool gpio_active_low; + struct gpio_desc *gpiod; const char *state_on; const char *state_off; int irq; @@ -50,9 +49,7 @@ static void gpio_extcon_work(struct work_struct *work) container_of(to_delayed_work(work), struct gpio_extcon_data, work); - state = gpio_get_value(data->gpio); - if (data->gpio_active_low) - state = !state; + state = gpiod_get_value(data->gpiod); extcon_set_state(data->edev, state); } @@ -106,21 +103,20 @@ static int gpio_extcon_probe(struct platform_device *pdev) } extcon_data->edev->name = pdata->name; - extcon_data->gpio = pdata->gpio; - extcon_data->gpio_active_low = pdata->gpio_active_low; + extcon_data->gpiod = gpio_to_desc(pdata->gpio); extcon_data->state_on = pdata->state_on; extcon_data->state_off = pdata->state_off; extcon_data->check_on_resume = pdata->check_on_resume; if (pdata->state_on && pdata->state_off) extcon_data->edev->print_state = extcon_gpio_print_state; - ret = devm_gpio_request_one(&pdev->dev, extcon_data->gpio, GPIOF_DIR_IN, + ret = devm_gpio_request_one(&pdev->dev, pdata->gpio, GPIOF_DIR_IN, pdev->name); if (ret < 0) return ret; if (pdata->debounce) { - ret = gpio_set_debounce(extcon_data->gpio, + ret = gpiod_set_debounce(extcon_data->gpiod, pdata->debounce * 1000); if (ret < 0) extcon_data->debounce_jiffies = @@ -133,7 +129,7 @@ static int gpio_extcon_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&extcon_data->work, gpio_extcon_work); - extcon_data->irq = gpio_to_irq(extcon_data->gpio); + extcon_data->irq = gpiod_to_irq(extcon_data->gpiod); if (extcon_data->irq < 0) return extcon_data->irq;