Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1205895 > unrolled thread

[PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw

Started byMarkus Pargmann <mpa@pengutronix.de>
First post2015-08-12 12:20 +0200
Last post2015-08-12 13:20 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:20 +0200
    Re: [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw Daniel Kurtz <djkurtz@chromium.org> - 2015-08-12 12:40 +0200
      Re: [PATCH 07/20] regmap: Without bus read() or write(), force  use_single_rw Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:50 +0200
    Re: [PATCH 07/20] regmap: Without bus read() or write(), force  use_single_rw Mark Brown <broonie@kernel.org> - 2015-08-12 13:20 +0200

#1205895 — [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw

FromMarkus Pargmann <mpa@pengutronix.de>
Date2015-08-12 12:20 +0200
Subject[PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw
Message-ID<pWBiz-1oV-45@gated-at.bofh.it>
The implementation of regmap bus read() and write() methods are
optional. Therefore we have to handle busses which do not have these
functions. If raw read() and write() is not supported we have to use
reg_read and reg_write always.

This patch sets use_single_rw if read() or write() is not set.

Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
---
 drivers/base/regmap/regmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index f98bd5bf5c62..35ad3783da70 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -573,7 +573,7 @@ struct regmap *regmap_init(struct device *dev,
 		map->reg_stride = config->reg_stride;
 	else
 		map->reg_stride = 1;
-	map->use_single_rw = config->use_single_rw;
+	map->use_single_rw = config->use_single_rw || !bus->read || !bus->write;
 	map->can_multi_write = config->can_multi_write;
 	map->dev = dev;
 	map->bus = bus;
-- 
2.4.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1205921

FromDaniel Kurtz <djkurtz@chromium.org>
Date2015-08-12 12:40 +0200
Message-ID<pWBBT-1Ls-15@gated-at.bofh.it>
In reply to#1205895
Hi Markus,

On Wed, Aug 12, 2015 at 6:12 PM, Markus Pargmann <mpa@pengutronix.de> wrote:
>
> The implementation of regmap bus read() and write() methods are
> optional. Therefore we have to handle busses which do not have these
> functions. If raw read() and write() is not supported we have to use
> reg_read and reg_write always.
>
> This patch sets use_single_rw if read() or write() is not set.
>
> Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> ---
>  drivers/base/regmap/regmap.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
> index f98bd5bf5c62..35ad3783da70 100644
> --- a/drivers/base/regmap/regmap.c
> +++ b/drivers/base/regmap/regmap.c
> @@ -573,7 +573,7 @@ struct regmap *regmap_init(struct device *dev,
>                 map->reg_stride = config->reg_stride;
>         else
>                 map->reg_stride = 1;
> -       map->use_single_rw = config->use_single_rw;
> +       map->use_single_rw = config->use_single_rw || !bus->read || !bus->write;

What if bus is NULL?

-Dan

>         map->can_multi_write = config->can_multi_write;
>         map->dev = dev;
>         map->bus = bus;
> --
> 2.4.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1205948 — Re: [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw

FromMarkus Pargmann <mpa@pengutronix.de>
Date2015-08-12 12:50 +0200
SubjectRe: [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw
Message-ID<pWBLB-1Xg-45@gated-at.bofh.it>
In reply to#1205921

[Multipart message — attachments visible in raw view] — view raw

Hi,

On Wed, Aug 12, 2015 at 06:33:55PM +0800, Daniel Kurtz wrote:
> Hi Markus,
> 
> On Wed, Aug 12, 2015 at 6:12 PM, Markus Pargmann <mpa@pengutronix.de> wrote:
> >
> > The implementation of regmap bus read() and write() methods are
> > optional. Therefore we have to handle busses which do not have these
> > functions. If raw read() and write() is not supported we have to use
> > reg_read and reg_write always.
> >
> > This patch sets use_single_rw if read() or write() is not set.
> >
> > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> > ---
> >  drivers/base/regmap/regmap.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
> > index f98bd5bf5c62..35ad3783da70 100644
> > --- a/drivers/base/regmap/regmap.c
> > +++ b/drivers/base/regmap/regmap.c
> > @@ -573,7 +573,7 @@ struct regmap *regmap_init(struct device *dev,
> >                 map->reg_stride = config->reg_stride;
> >         else
> >                 map->reg_stride = 1;
> > -       map->use_single_rw = config->use_single_rw;
> > +       map->use_single_rw = config->use_single_rw || !bus->read || !bus->write;
> 
> What if bus is NULL?

Yes thanks, that has to be checked.

Best Regards,

Markus

> 
> -Dan
> 
> >         map->can_multi_write = config->can_multi_write;
> >         map->dev = dev;
> >         map->bus = bus;
> > --
> > 2.4.6
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

[toc] | [prev] | [next] | [standalone]


#1205969 — Re: [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw

FromMark Brown <broonie@kernel.org>
Date2015-08-12 13:20 +0200
SubjectRe: [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw
Message-ID<pWCeC-2Kj-21@gated-at.bofh.it>
In reply to#1205895

[Multipart message — attachments visible in raw view] — view raw

On Wed, Aug 12, 2015 at 12:12:32PM +0200, Markus Pargmann wrote:
> The implementation of regmap bus read() and write() methods are
> optional. Therefore we have to handle busses which do not have these
> functions. If raw read() and write() is not supported we have to use
> reg_read and reg_write always.
> 
> This patch sets use_single_rw if read() or write() is not set.

> -	map->use_single_rw = config->use_single_rw;
> +	map->use_single_rw = config->use_single_rw || !bus->read || !bus->write;

This doesn't follow, we should be able to support write only or read
only buses.  There are some out there.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web