Messages in this thread | | | Subject | Re: [PATCH resend v1 6/7] pps: clients: gpio: Use struct device pointer directly | From | Rodolfo Giometti <> | Date | Tue, 9 Mar 2021 13:30:17 +0100 |
| |
On 09/03/21 12:24, Andy Shevchenko wrote: > In most parts of the code the platform device is not used. > Use struct device pointer directly to reduce code size and > increase readability. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/pps/clients/pps-gpio.c | 42 +++++++++++++++------------------- > 1 file changed, 19 insertions(+), 23 deletions(-) > > diff --git a/drivers/pps/clients/pps-gpio.c b/drivers/pps/clients/pps-gpio.c > index c6db3a3b257b..b097da5a659a 100644 > --- a/drivers/pps/clients/pps-gpio.c > +++ b/drivers/pps/clients/pps-gpio.c > @@ -99,45 +99,39 @@ static void pps_gpio_echo_timer_callback(struct timer_list *t) > gpiod_set_value(info->echo_pin, 0); > } > > -static int pps_gpio_setup(struct platform_device *pdev) > +static int pps_gpio_setup(struct device *dev) > { > - struct pps_gpio_device_data *data = platform_get_drvdata(pdev); > + struct pps_gpio_device_data *data = dev_get_drvdata(dev); > int ret; > u32 value; > > - data->gpio_pin = devm_gpiod_get(&pdev->dev, > - NULL, /* request "gpios" */ > - GPIOD_IN); > + data->gpio_pin = devm_gpiod_get(dev, NULL, GPIOD_IN); > if (IS_ERR(data->gpio_pin)) > - return dev_err_probe(&pdev->dev, PTR_ERR(data->gpio_pin), > + return dev_err_probe(dev, PTR_ERR(data->gpio_pin), > "failed to request PPS GPIO\n"); > > - data->echo_pin = devm_gpiod_get_optional(&pdev->dev, > - "echo", > - GPIOD_OUT_LOW); > + data->echo_pin = devm_gpiod_get_optional(dev, "echo", GPIOD_OUT_LOW); > if (IS_ERR(data->echo_pin)) > - return dev_err_probe(&pdev->dev, PTR_ERR(data->echo_pin), > + return dev_err_probe(dev, PTR_ERR(data->echo_pin), > "failed to request ECHO GPIO\n"); > > if (data->echo_pin) { > - ret = device_property_read_u32(&pdev->dev, "echo-active-ms", &value); > + ret = device_property_read_u32(dev, "echo-active-ms", &value); > if (ret) { > - dev_err(&pdev->dev, > - "failed to get echo-active-ms from FW\n"); > + dev_err(dev, "failed to get echo-active-ms from FW\n"); > return ret; > } > data->echo_active_ms = value; > /* sanity check on echo_active_ms */ > if (!data->echo_active_ms || data->echo_active_ms > 999) { > - dev_err(&pdev->dev, > - "echo-active-ms: %u - bad value from FW\n", > + dev_err(dev, "echo-active-ms: %u - bad value from FW\n", > data->echo_active_ms); > return -EINVAL; > } > } > > data->assert_falling_edge = > - device_property_read_bool(&pdev->dev, "assert-falling-edge"); > + device_property_read_bool(dev, "assert-falling-edge"); > return 0; > } > > @@ -158,24 +152,26 @@ get_irqf_trigger_flags(const struct pps_gpio_device_data *data) > static int pps_gpio_probe(struct platform_device *pdev) > { > struct pps_gpio_device_data *data; > + struct device *dev = &pdev->dev; > int ret; > int pps_default_params; > > /* allocate space for device info */ > - data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); > + data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); > if (!data) > return -ENOMEM; > - platform_set_drvdata(pdev, data); > + > + dev_set_drvdata(dev, data); > > /* GPIO setup */ > - ret = pps_gpio_setup(pdev); > + ret = pps_gpio_setup(dev); > if (ret) > return -EINVAL; > > /* IRQ setup */ > ret = gpiod_to_irq(data->gpio_pin); > if (ret < 0) { > - dev_err(&pdev->dev, "failed to map GPIO to IRQ: %d\n", ret); > + dev_err(dev, "failed to map GPIO to IRQ: %d\n", ret); > return -EINVAL; > } > data->irq = ret; > @@ -201,17 +197,17 @@ static int pps_gpio_probe(struct platform_device *pdev) > pps_default_params |= PPS_CAPTURECLEAR | PPS_OFFSETCLEAR; > data->pps = pps_register_source(&data->info, pps_default_params); > if (IS_ERR(data->pps)) { > - dev_err(&pdev->dev, "failed to register IRQ %d as PPS source\n", > + dev_err(dev, "failed to register IRQ %d as PPS source\n", > data->irq); > return PTR_ERR(data->pps); > } > > /* register IRQ interrupt handler */ > - ret = devm_request_irq(&pdev->dev, data->irq, pps_gpio_irq_handler, > + ret = devm_request_irq(dev, data->irq, pps_gpio_irq_handler, > get_irqf_trigger_flags(data), data->info.name, data); > if (ret) { > pps_unregister_source(data->pps); > - dev_err(&pdev->dev, "failed to acquire IRQ %d\n", data->irq); > + dev_err(dev, "failed to acquire IRQ %d\n", data->irq); > return -EINVAL; > } > >
Acked-by: Rodolfo Giometti <giometti@enneenne.com>
-- GNU/Linux Solutions e-mail: giometti@enneenne.com Linux Device Driver giometti@linux.it Embedded Systems phone: +39 349 2432127 UNIX programming skype: rodolfo.giometti
| |