diff options
-rw-r--r-- | drivers/staging/fbtft/flexfb.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/staging/fbtft/flexfb.c b/drivers/staging/fbtft/flexfb.c index a2b4164ce5e4..2af474469e7d 100644 --- a/drivers/staging/fbtft/flexfb.c +++ b/drivers/staging/fbtft/flexfb.c | |||
@@ -679,19 +679,22 @@ static int flexfb_probe_common(struct spi_device *sdev, | |||
679 | if (par->spi->master->bits_per_word_mask | 679 | if (par->spi->master->bits_per_word_mask |
680 | & SPI_BPW_MASK(9)) { | 680 | & SPI_BPW_MASK(9)) { |
681 | par->spi->bits_per_word = 9; | 681 | par->spi->bits_per_word = 9; |
682 | } else { | 682 | break; |
683 | dev_warn(dev, | ||
684 | "9-bit SPI not available, emulating using 8-bit.\n"); | ||
685 | /* allocate buffer with room for dc bits */ | ||
686 | par->extra = devm_kzalloc(par->info->device, | ||
687 | par->txbuf.len + (par->txbuf.len / 8) + 8, | ||
688 | GFP_KERNEL); | ||
689 | if (!par->extra) { | ||
690 | ret = -ENOMEM; | ||
691 | goto out_release; | ||
692 | } | ||
693 | par->fbtftops.write = fbtft_write_spi_emulate_9; | ||
694 | } | 683 | } |
684 | |||
685 | dev_warn(dev, | ||
686 | "9-bit SPI not available, emulating using 8-bit.\n"); | ||
687 | /* allocate buffer with room for dc bits */ | ||
688 | par->extra = devm_kzalloc(par->info->device, | ||
689 | par->txbuf.len | ||
690 | + (par->txbuf.len / 8) + 8, | ||
691 | GFP_KERNEL); | ||
692 | if (!par->extra) { | ||
693 | ret = -ENOMEM; | ||
694 | goto out_release; | ||
695 | } | ||
696 | par->fbtftops.write = fbtft_write_spi_emulate_9; | ||
697 | |||
695 | break; | 698 | break; |
696 | default: | 699 | default: |
697 | dev_err(dev, | 700 | dev_err(dev, |