[PATCH 3/4] spi: imx: Don't require platform data chipselect array
Julien Thierry
julien.thierry at arm.com
Wed Oct 18 02:02:46 PDT 2017
Hi Trent,
On 13/10/17 20:54, Trent Piepho wrote:
> If the array is not present, assume all chip selects are native. This
> is the standard behavior for SPI masters configured via the device
> tree and the behavior of this driver as well when it is configured via
> device tree.
>
> This reduces platform data vs DT differences and allows most of the
> platform data based boards to remove their chip select arrays.
>
> Signed-off-by: Trent Piepho <tpiepho at impinj.com>
> ---
> drivers/spi/spi-imx.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
> index fea46cbf458a..3a2c34522655 100644
> --- a/drivers/spi/spi-imx.c
> +++ b/drivers/spi/spi-imx.c
> @@ -1364,13 +1364,15 @@ static int spi_imx_probe(struct platform_device *pdev)
>
> if (mxc_platform_info) {
> master->num_chipselect = mxc_platform_info->num_chipselect;
nit:
This is only useful when num_chipselect is non-zero (master's memory is
zeroed on allocation). So maybe this could be simplified a bit more as:
if (mxc_platform_info && mxc_platform_info->chipselect) {
master->num_chipselect = mxc_platform_info->num_chipselect;
[...]
}
Reducing an indentation level for all the following statements.
Cheers,
> - master->cs_gpios = devm_kzalloc(&master->dev,
> - sizeof(int) * master->num_chipselect, GFP_KERNEL);
> - if (!master->cs_gpios)
> - return -ENOMEM;
> -
> - for (i = 0; i < master->num_chipselect; i++)
> - master->cs_gpios[i] = mxc_platform_info->chipselect[i];
> + if (mxc_platform_info->chipselect) {
> + master->cs_gpios = devm_kzalloc(&master->dev,
> + sizeof(int) * master->num_chipselect, GFP_KERNEL);
> + if (!master->cs_gpios)
> + return -ENOMEM;
> +
> + for (i = 0; i < master->num_chipselect; i++)
> + master->cs_gpios[i] = mxc_platform_info->chipselect[i];
> + }
> }
>
> spi_imx->bitbang.chipselect = spi_imx_chipselect;
>
--
Julien Thierry
More information about the linux-arm-kernel
mailing list