mbox series

[v2,0/8] gpio: exar: refactor the driver

Message ID 20201104193051.32236-1-brgl@bgdev.pl
Headers show
Series [v2,1/8] regmap: provide regmap_assign_bits() | expand

Message

Bartosz Golaszewski Nov. 4, 2020, 7:30 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

I just wanted to convert the driver to using simpler IDA API but ended up
quickly converting it to using regmap. Unfortunately I don't have the HW
to test it so marking the patches that introduce functional change as RFT
and Cc'ing the original author.

v1 -> v2:
- add new regmap helper: regmap_assign_bits()
- fix lvl vs sel register access
- set value in direction_output callback

Note: I didn't use the fancy method of offset calculation Andy and David
suggested because this series broke the driver according to Jan - let's
get it right before we modify it any more. I found a couple problems that
could maybe cause the crash. Jan: could you give it another spin?

Bartosz Golaszewski (8):
  regmap: provide regmap_assign_bits()
  gpio: exar: add a newline after the copyright notice
  gpio: exar: include idr.h
  gpio: exar: switch to a simpler IDA interface
  gpio: exar: use a helper variable for &pdev->dev
  gpio: exar: unduplicate address and offset computation
  gpio: exar: switch to using regmap
  gpio: exar: use devm action for freeing the IDA and drop remove()

 drivers/gpio/Kconfig     |   1 +
 drivers/gpio/gpio-exar.c | 151 +++++++++++++++++++--------------------
 include/linux/regmap.h   |  16 +++++
 3 files changed, 90 insertions(+), 78 deletions(-)

Comments

Andy Shevchenko Nov. 4, 2020, 8:36 p.m. UTC | #1
On Wed, Nov 4, 2020 at 9:34 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> I just wanted to convert the driver to using simpler IDA API but ended up
> quickly converting it to using regmap. Unfortunately I don't have the HW
> to test it so marking the patches that introduce functional change as RFT
> and Cc'ing the original author.
>
> v1 -> v2:
> - add new regmap helper: regmap_assign_bits()
> - fix lvl vs sel register access
> - set value in direction_output callback
>
> Note: I didn't use the fancy method of offset calculation Andy and David
> suggested because this series broke the driver according to Jan - let's
> get it right before we modify it any more. I found a couple problems that
> could maybe cause the crash. Jan: could you give it another spin?

I would suggest perform two tests:
 a) full set
 b) with last two patches reverted / not being applied

In that case if the series is still broken we may go with cleanups first.

>
> Bartosz Golaszewski (8):
>   regmap: provide regmap_assign_bits()
>   gpio: exar: add a newline after the copyright notice
>   gpio: exar: include idr.h
>   gpio: exar: switch to a simpler IDA interface
>   gpio: exar: use a helper variable for &pdev->dev
>   gpio: exar: unduplicate address and offset computation
>   gpio: exar: switch to using regmap
>   gpio: exar: use devm action for freeing the IDA and drop remove()
>
>  drivers/gpio/Kconfig     |   1 +
>  drivers/gpio/gpio-exar.c | 151 +++++++++++++++++++--------------------
>  include/linux/regmap.h   |  16 +++++
>  3 files changed, 90 insertions(+), 78 deletions(-)
>
> --
> 2.29.1
>