diff options
| author | Mark Brown <broonie@kernel.org> | 2025-06-24 01:30:49 +0300 | 
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2025-06-24 01:30:49 +0300 | 
| commit | 1256eb42db5d1635f4c6da5b1b58db0b53320883 (patch) | |
| tree | 4a06ef5a4ed8e2f67ead59ad4257a7e6524ed8b1 /include/linux/bvec.h | |
| parent | 5fc2c383125c2b4b6037e02ad8796b776b25e6d0 (diff) | |
| parent | 8f9cf02c8852837923f1cdacfcc92e138513325c (diff) | |
| download | linux-1256eb42db5d1635f4c6da5b1b58db0b53320883.tar.xz | |
spi: microchip-core-qspi: Add regular transfers
Merge series from Conor Dooley <conor@kernel.org>:
This is a v2 of a patchset I sent about this time last year, adding the
regular transfer_one_message op to the microchip-core-qspi driver. In that
v1 Mark expressed his dislike for that op, so v2 is using
prepare/unprepare/transfer_one instead. The unprepare implementation still
contains the 750 us delay that the driver had back in v1. I've heard a
suggestion internally as to why this is needed, but it was unsubstantiated,
so I still have no justification for it. I held off on sending a v2 because
of a lack of explanation for the delay, but I don't wanna hold off forever
for something I might never understand.
Diffstat (limited to 'include/linux/bvec.h')
| -rw-r--r-- | include/linux/bvec.h | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/bvec.h b/include/linux/bvec.h index 204b22a99c4b..0a80e1f9aa20 100644 --- a/include/linux/bvec.h +++ b/include/linux/bvec.h @@ -57,9 +57,12 @@ static inline void bvec_set_page(struct bio_vec *bv, struct page *page,   * @offset:	offset into the folio   */  static inline void bvec_set_folio(struct bio_vec *bv, struct folio *folio, -		unsigned int len, unsigned int offset) +		size_t len, size_t offset)  { -	bvec_set_page(bv, &folio->page, len, offset); +	unsigned long nr = offset / PAGE_SIZE; + +	WARN_ON_ONCE(len > UINT_MAX); +	bvec_set_page(bv, folio_page(folio, nr), len, offset % PAGE_SIZE);  }  /**  | 
