RE: [PATCH v10 1/8] spi: Add multi-cs memories support in SPI core

From: Mahapatra, Amit Kumar
Date: Tue Nov 21 2023 - 02:18:25 EST


Hello Mark,

> -----Original Message-----
> From: Mark Brown <broonie@xxxxxxxxxx>
> Sent: Monday, November 20, 2023 7:33 PM
> To: Mahapatra, Amit Kumar <amit.kumar-mahapatra@xxxxxxx>
> Cc: tudor.ambarus@xxxxxxxxxx; pratyush@xxxxxxxxxx;
> miquel.raynal@xxxxxxxxxxx; richard@xxxxxx; vigneshr@xxxxxx;
> sbinding@xxxxxxxxxxxxxxxxxxxxx; linux-spi@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; michael@xxxxxxxx; linux-mtd@xxxxxxxxxxxxxxxxxxx;
> nicolas.ferre@xxxxxxxxxxxxx; alexandre.belloni@xxxxxxxxxxx;
> claudiu.beznea@xxxxxxxxx; Simek, Michal <michal.simek@xxxxxxx>; linux-
> arm-kernel@xxxxxxxxxxxxxxxxxxx; git (AMD-Xilinx) <git@xxxxxxx>;
> amitrkcian2002@xxxxxxxxx
> Subject: Re: [PATCH v10 1/8] spi: Add multi-cs memories support in SPI core
>
> On Sat, Nov 18, 2023 at 07:24:39PM +0530, Amit Kumar Mahapatra wrote:
> > AMD-Xilinx GQSPI controller has two advanced mode that allows the
> > controller to consider two flashes as one single device.
>
> This breaks an x86 allmodconfig build:

The cause of this failure are the following patches, which neglects to
utilize spi_get_chipselect() for retrieving the CS value. Instead,
it directly accesses spi->chip_select.

https://lore.kernel.org/all/20230525150659.25409-14-rf@xxxxxxxxxxxxxxxxxxxxx/
https://lore.kernel.org/all/20230216114410.183489-3-jpanis@xxxxxxxxxxxx/

In my upcoming series, I will address these issues.

Regards,
Amit
>
> /build/stage/linux/sound/pci/hda/cs35l56_hda_spi.c: In function
> ‘cs35l56_hda_spi
> _probe’:
> /build/stage/linux/sound/pci/hda/cs35l56_hda_spi.c:32:52: error: passing
> argumen t 2 of ‘cs35l56_hda_common_probe’ makes integer from pointer
> without a cast [-We rror=int-conversion]
> 32 | ret = cs35l56_hda_common_probe(cs35l56, spi->chip_select);
> | ~~~^~~~~~~~~~~~~
> | |
> | u8 * {aka unsigned ch
> ar *}
> In file included from /build/stage/linux/sound/pci/hda/cs35l56_hda_spi.c:12:
> /build/stage/linux/sound/pci/hda/cs35l56_hda.h:45:63: note: expected ‘int’
> but a rgument is of type ‘u8 *’ {aka ‘unsigned char *’}
> 45 | int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, int id);
> | ~~~~^~