Unverified Commit e727d4cb authored by Mark Brown's avatar Mark Brown
Browse files

Merge tag 'spi-bpw-is-supported' of...

Merge tag 'spi-bpw-is-supported' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-5.3

spi: Add spi_is_bpw_supported()

Lets client drivers check and potentially handle issues.
parents 47300728 e6f3f7e4
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -1005,6 +1005,26 @@ spi_max_transfer_size(struct spi_device *spi)
	return min(tr_max, msg_max);
}

/**
 * spi_is_bpw_supported - Check if bits per word is supported
 * @spi: SPI device
 * @bpw: Bits per word
 *
 * This function checks to see if the SPI controller supports @bpw.
 *
 * Returns:
 * True if @bpw is supported, false otherwise.
 */
static inline bool spi_is_bpw_supported(struct spi_device *spi, u32 bpw)
{
	u32 bpw_mask = spi->master->bits_per_word_mask;

	if (bpw == 8 || (bpw <= 32 && bpw_mask & SPI_BPW_MASK(bpw)))
		return true;

	return false;
}

/*---------------------------------------------------------------------------*/

/* SPI transfer replacement methods which make use of spi_res */