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


Groups > linux.kernel > #1205956

Re: [PATCH 05/20] regmap: Restructure writes in _regmap_raw_write()

From Mark Brown <broonie@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH 05/20] regmap: Restructure writes in _regmap_raw_write()
Date 2015-08-12 13:00 +0200
Message-ID <pWBVf-28z-13@gated-at.bofh.it> (permalink)
References <pWBix-1oV-9@gated-at.bofh.it> <pWBiy-1oV-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

On Wed, Aug 12, 2015 at 12:12:30PM +0200, Markus Pargmann wrote:
> Currently we try to write the data without copying directly using
> bus->write() or bus->gather_write() if it exists. If one of the previous
> tries to write reported -ENOTSUPP or none of them were usable, we copy
> the data into a buffer and use bus->write().
> 
> However it does not make sense to try bus->write() a second time with a
> copied buffer if it didn't work the first time.
> 
> This patch restructures this if/else block to make it clear that this is
> not intended for the case where bus->write() returns -ENOTSUPP.

I'm not entirely convinced that this is an improvement.  The main effect
that I'm seeing is an increase in the indentation level and there are
potential issues with the write operation being unable to work with some
kinds of memory (like restrictions about dmaing from stack or unalinged
memory for example) which mean that copying into a newly allocated
buffer may actually help.  I don't think we detect any such restrictions
at the minute but the defensiveness is nice and I'd really hope that the
failed write case isn't any kind of fast path.

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 05/20] regmap: Restructure writes in _regmap_raw_write() Markus Pargmann <mpa@pengutronix.de> - 2015-08-12 12:20 +0200
  Re: [PATCH 05/20] regmap: Restructure writes in _regmap_raw_write() Mark Brown <broonie@kernel.org> - 2015-08-12 13:00 +0200

csiph-web